1.
从简历项⽬中选⼀个项⽬,说说你在其中遇到了什么重⼤挑战?以及你的解决问题的思路?
2.
⼀段代码要执⾏多个
redis
命令,不加锁的情况下如何保证原⼦性?
使⽤
lua
脚本:
https://segmentfault.com/a/1190000009811453
3.
谈谈数据结构,⽐如⼆叉树、红⿊树?
理解这篇:
https://juejin.im/post/5a27c6946fb9a04509096248
4.
说说
B-tree
、
B+tree
的区别和使⽤场景?

B-tree
利⽤了磁盘块的特性进⾏构建的树。每个磁盘块⼀个节点,每个节点包含了很关键字。把树的节点关键字增多后树的
层级⽐原来的⼆叉树少了,减少数据查找的次数和复杂度。
B-tree
巧妙利⽤了磁盘预读原理,将⼀个节点的⼤⼩设为等于⼀个⻚(每⻚为
4K
),这样每个节点只需要⼀次
I/O
就可以完
全载⼊。
B-tree
的数据可以存在任何节点中。
2.
B+tree
:

B+tree
是
B-tree
的变种,
B+tree
数据只存储在叶⼦节点中。这样在
B
树的基础上每个节点存储的关键字数更多,树的层级