腾讯
- 从简历项⽬中选⼀个项⽬,说说你在其中遇到了什么重⼤挑战?以及你的解决问题的思路?
- ⼀段代码要执⾏多个redis命令,不加锁的情况下如何保证原⼦性?
使⽤lua脚本:https://segmentfault.com/a/1190000009811453 - 谈谈数据结构,⽐如⼆叉树、红⿊树?
理解这篇:https://juejin.im/post/5a27c6946fb9a04509096248 - 说说B-tree、B+tree的区别和使⽤场景?
- B-tree:
B-tree 利⽤了磁盘块的特性进⾏构建的树。每个磁盘块⼀个节点,每个节点包含了很关键字。把树的节点关键字增多后树的
层级⽐原来的⼆叉树少了,减少数据查找的次数和复杂度。
B-tree巧妙利⽤了磁盘预读原理,将⼀个节点的⼤⼩设为等于⼀个⻚(每⻚为4K),这样每个节点只需要⼀次I/O就可以完
全载⼊。
B-tree 的数据可以存在任何节点中。 - B+tree:
B+tree 是 B-tree 的变种,B+tree 数据只存储在叶⼦节点中。这样在B树的基础上每个节点存储的关键字数更多,树的层级
更少所以查询数据更快,所有指关键字指针都存在叶⼦节点,所以每次查找的次数都相同所以查询速度更稳定; - mysql哪个版本哪个存储引擎的索引使⽤的B+tree,为什么不使⽤红⿊树?
需要先理解B+tree、红⿊树的实现原理。B+tree带有顺序访问指针,是红⿊树不具备的。 - 说说⼏种常⻅的消息中间件的区别?
- 中⼩型公司⾸选RabbitMQ&#x