2019腾讯Java面试题

本文详细介绍了腾讯Java面试中涉及的各种技术问题,包括解决项目挑战的思路、Redis原子性操作、数据结构理解、B-tree与B+tree的区别、消息中间件对比、SpringCloud组件与服务发现原理,以及面试常见问题如限流策略、负载均衡等。同时,讨论了源码阅读、AOP实现、Spring Bean后置处理器的作用和并发编程中的Volatile使用。
摘要由CSDN通过智能技术生成

腾讯

  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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值