NiceOffer

面试面经 · 百度

【百度】Java后端一面(20道八股连环问+HashMap手撕)

百度Java后端校招面经一面

【百度】Java后端一面

基本信息

项目内容
公司百度
岗位Java后端开发(秋招)
轮次技术一面
时间2025年10月
面型体感题量大、节奏快,八股覆盖全面
结果通过

面试题目(按提问顺序)

  1. ArrayList 和 LinkedList 的区别?各自适用场景?
  2. HashMap 底层实现原理?JDK 1.8 的扩容机制?
  3. ConcurrentHashMap 的原理?JDK 1.7 和 1.8 的区别?
  4. 线程池的好处?核心参数有哪些?执行流程是怎样的?
  5. synchronized 和 ReentrantLock 的区别?公平锁和非公平锁?
  6. volatile 关键字的作用?如何保证可见性和有序性?
  7. JVM 内存模型?堆和栈的结构?方法区什么时候回收?
  8. GC 算法有哪些?G1 收集器的原理?如何实现可预测停顿?
  9. Spring IOC 和 AOP 的原理?
  10. Spring 的事务管理?@Transactional 注解的底层原理?
  11. MySQL 索引的 B+ 树结构?聚簇索引和二级索引的区别?
  12. MySQL 事务隔离级别?MVCC 的实现原理?
  13. 索引失效的场景有哪些?如何优化慢查询?
  14. Redis 的数据结构?String 底层 SDS 和 C 字符串的区别?
  15. Redis 的持久化策略?RDB 和 AOF 的优缺点?
  16. Redis 分布式锁怎么实现?锁过期了但业务没执行完怎么办?
  17. TCP 三次握手和四次挥手?为什么 TIME_WAIT 是 2MSL?
  18. HTTP 各版本的特点?HTTP/2 多路复用原理?
  19. 手撕代码:封装 Java HashMap,实现 SetAll 功能,要求 O(1) 时间复杂度
  20. 手撕代码:合并两个有序链表

面试感受 / 反馈

  • 百度一面题量非常大,近 20 道八股 + 2 道手撕,基本全程在回答问题
  • 考察覆盖面广:Java 集合、并发、JVM、Spring、MySQL、Redis、网络协议
  • 面试官节奏较快,每个问题不会给太多思考时间
  • 手撕 SetAll 是百度特色题,需要用到版本戳 + 懒更新的思想

准备建议

  • 百度一面八股覆盖面极广,建议按模块系统复习,不要有知识盲区
  • 重点模块:Java 并发(32%)> 数据库(28%)> 数据结构与算法(19%)
  • 手撕代码以 Hot 100 为主,注意百度特有题型(如 SetAll 封装)
  • SQL 实战能力也是高频考点(部门最高薪资查询等)

反问示例

  • 部门主要业务方向是什么?
  • 团队目前的技术栈?