2027实习百度AI后端开发一面面经
《面试题目》
- 项目拷打
- 大模型和AI的使用广度
- java线程安全的集合
- concurrenthashmap的锁粒度
- cas存在的问题
- 解决哈希冲突的办法
- 最新的jdk版本的功能
- 分代垃圾回收器的工作原理
- 垃圾回收如何判断对象是可以被回收的
- 能作为gc roots的对象是什么
- java线程池的参数
- 线程池的拒绝策略
- redis分布式锁的实现
- 如何防止分布式锁死锁
- redis可重入锁
- redis常用数据结构和场景
- 常用设计模式和设计模式的好处
- 慢查询sql的排查思路
《参考解析》
- CAS存在的问题:ABA问题(通过版本号解决)、循环时间长开销大(自旋次数限制)、只能保证一个共享变量的原子性。
- 解决哈希冲突:主要有链地址法(如HashMap的拉链法)、开放寻址法(线性探测、再哈希法)、建立公共溢出区。
- GC Roots对象:包括虚拟机栈中引用的对象、方法区中类静态属性引用的对象、方法区中常量引用的对象、本地方法栈中JNI引用的对象。
- 分布式锁防止死锁:设置合理的过期时间(TTL);使用Redisson的看门狗(Watchdog)机制自动续期;避免业务逻辑执行时间过长导致锁过期。
- 慢查询排查:开启慢查询日志定位SQL;使用EXPLAIN分析执行计划,查看是否命中索引;检查SQL是否全表扫描,评估是否需要优化索引或重构复杂查询。