百度秋招提前批二面
- 时间
- 2026-08
- 来源
- 牛客网
《面试题目》
- 项目深挖:你的秒杀系统怎么解决超卖问题?
- 既然用了 Redis 分布式锁,那 RedLock 算法了解吗?有什么争议?
- 数据库分库分表后,分页查询怎么优化?
- 深分页问题除了游标法还有什么解法?
- MySQL 索引下推具体是怎么减少回表的?
- MVCC 的 ReadView 是在 select 时生成的还是 update 时?
- Spring 循环依赖为什么要用三级缓存而不是二级?
- Bean 的生命周期中,后置处理器起了什么作用?
- 如果让你设计一个 RPC 框架,核心模块有哪些?
- Netty 的零拷贝体现在哪里?
- Kafka 如何保证消息的顺序消费?
- Kafka 消息积压了上亿条怎么处理?
- 线上 CPU 飙高到 100% 怎么排查?
- JVM 发生 Full GC 频繁,但内存没满,可能是什么原因?
- 虚拟线程了解吗?和平台线程有什么区别?
- 手撕:最长递增子序列和接雨水
- 二面明显感觉面试官是个技术大佬,不怎么问死记硬背的八股文,全是场景题和连环炮。比如问到分库分表,会一直追问数据迁移、扩容方案。对项目的细节抓得很严,一定要对自己写过的代码逻辑非常清晰。
- 国内外求职面试辅助,有困难的DD
《参考解析》
- Redis常用于缓存、分布式锁和计数。缓存与数据库更新通常采用“先写数据库、再删除缓存”,并通过重试、延时双删或消息补偿处理删除失败。
- MySQL索引通常使用B+树,叶子节点按顺序连接,适合范围查询;设计索引时结合选择性、最左匹配原则和执行计划,避免无效索引与回表开销。
- 并发问题应先明确共享状态和一致性边界,再选择锁、CAS或队列。线程池需要根据任务是CPU密集还是IO密集设置核心线程数、队列容量和拒绝策略,并监控活跃数与队列长度。