上海百度公有云一面面经(拷打一小时20分钟
- 时间
- 2026-08
- 来源
- 牛客网
《面试题目》
- 你在项目中哪里使用了ConcurrentHashMap,为什么要用它
- 说说CAS
- 说说JVM 垃圾回收算法
- 如果 full gc 时间很长,长达5分钟,导致你服务不可用了,你会怎么办?
- 说说IOC AOP的原理
- 为什么需要IOC
- 把对象的生命周期交给IOC有什么好处
- 项目为啥用 netty
- netty server里面做了什么
- worker 线程数是多少
- 为什么默认线程数是CPU核心数*2呢
- 消息收发的整个架构,就讲一下发消息到接收消息的架构
- netty server部署了几个节点
- netty 端口那里是不是单独部署
- 为啥广播消息要用rabbitmq,而不是直接复用redis
- rabbitmq是怎么监听到有消息然后广播出去的
- rabbitmq里面存的是什么
- 结合netty说说怎么理解同步非阻塞IO的
《参考解析》
- Redis常用于缓存、分布式锁和计数。缓存与数据库更新通常采用“先写数据库、再删除缓存”,并通过重试、延时双删或消息补偿处理删除失败。
- 并发问题应先明确共享状态和一致性边界,再选择锁、CAS或队列。线程池需要根据任务是CPU密集还是IO密集设置核心线程数、队列容量和拒绝策略,并监控活跃数与队列长度。
- 算法题先写出不变量和边界条件,再分析复杂度;常见数组、链表和树问题可分别使用双指针、哈希表、递归或迭代遍历,目标是在线性或对数复杂度内完成。