百度AI后端开发日常实习一面面经

百度 · AI后端开发 · 一面 · 2026-04

面试题目

  1. 项目拷打
  2. 大模型和AI的使用广度
  3. java线程安全的集合
  4. concurrenthashmap的锁粒度
  5. cas存在的问题
  6. 解决哈希冲突的办法
  7. 最新的jdk版本的功能
  8. 分代垃圾回收器的工作原理
  9. 垃圾回收如何判断对象是可以被回收的
  10. 能作为gc roots的对象是什么
  11. java线程池的参数
  12. 线程池的拒绝策略
  13. redis分布式锁的实现
  14. 如何防止分布式锁死锁
  15. redis可重入锁
  16. redis常用数据结构和场景
  17. 常用设计模式和设计模式的好处
  18. 慢查询sql的排查思路
  19. 常用git命令
  20. 算法题:螺旋矩阵

参考解析

  • ConcurrentHashMap锁粒度:JDK 1.7使用分段锁(Segment),JDK 1.8及之后采用CAS + synchronized,锁定的是哈希桶的头节点,锁粒度进一步细化,并发性能更高。
  • CAS存在的问题:主要有ABA问题(通过版本号解决)、只能保证一个共享变量的原子性、循环时间长开销大。
  • GC Roots对象:通常包括虚拟机栈中引用的对象、本地方法栈中引用的对象、方法区中类静态属性引用的对象、方法区中常量引用的对象。
  • Redis分布式锁防止死锁:使用 SET key value NX PX 30000 设置带过期时间的锁,确保即使业务崩溃锁也能自动释放;同时使用 Lua 脚本保证加锁释放锁的原子性。
  • 慢查询SQL排查:开启慢查询日志记录、使用 EXPLAIN 分析执行计划查看索引命中情况、优化索引结构、避免全表扫描或深分页查询。