学习一个技术,理解他背后的设计理念,原理和解决问题的方法,远比技术本身是什么更重要
- 问你红黑树,并不是让你背诵它的定义,或者让你手写一个红黑树,而是想问问你它为什么这样设计,它的使用场景有哪些。
- 答:红黑树是平衡树的一种,他复杂的定义和规则都是为了保证树的平衡。因为树的查找性能取决于树的高度。
面试的时候一定是往深了问,不精通的话容易吃亏。不过面试时一般都是根据项目来问,项目中用到的技术,一定要多看看原理,特别是能和数据结构和算法挂钩的那部分。
当被问到了解XXX吗?
- 是什么
- 特点是什么
- 主要解决什么问题
- 用在哪里
- 优缺点
- 自己使用/示例使用
mysql某个查询比较慢,怎么办
讲讲什么是B树
- B树为什么是多路搜索树,就是为了降低树的高度。
- 但是也不能无限的增加路的数量,这样就会退化成有序数据。B树一般用在文件系统的索引。文件系统和数据库的索引都是存在硬盘上的,并且如果数据量大的话,不一定能一次性加载到内存中。
- 无法一次性加载进内存,使用B树,就可以一次只加载一个节点,然后一步步往下找