2019腾讯Java面试题

腾讯

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值