百度-java后端实习-凉经
- 时间
- 2026-07
- 来源
- 牛客网
《面试题目》
- 时间:7-10一、开场自我介绍做简短自我介绍介绍实习经历介绍自研 AI 项目八股部分二、Java 并发 & 锁相关是否了解 AQS?谈谈对 Lock 锁的了解synchronized 和 Lock 的区别Lock 调用 lock () 后如果不手动 unlock () 释放锁,会出现什么问题?结合业务场景说明了解 ReentrantLock 吗?ReentrantLock 是什么锁?三、JVM 类加载、内存区域、垃圾回收new User() 时 JVM 完整类加载流程是什么?SpringBoot 环境下类如何加载?JVM 五大运行时数据区分别是什么?哪些线程私有、哪些线程共享?简述常用垃圾回收基础算法;堆分代划分与比例为什么需要垃圾回收?什么样的对象会被判定为垃圾?为什么可达性分析不使用引用计数法?引用计数法存在什么缺陷?GC Roots 作为扫描起点,简单说明标记存活对象逻辑SATB、增量 SA 机制在引用分析中的作用四、MySQL InnoDB 事务、ACID、三大日志解释 ACID 四大特性详细说明原子性含义InnoDB 三大日志:redo log、undo log、binlog
《参考解析》
- MySQL索引通常使用B+树,叶子节点按顺序连接,适合范围查询;设计索引时结合选择性、最左匹配原则和执行计划,避免无效索引与回表开销。
- 并发问题应先明确共享状态和一致性边界,再选择锁、CAS或队列。线程池需要根据任务是CPU密集还是IO密集设置核心线程数、队列容量和拒绝策略,并监控活跃数与队列长度。
- 算法题先写出不变量和边界条件,再分析复杂度;常见数组、链表和树问题可分别使用双指针、哈希表、递归或迭代遍历,目标是在线性或对数复杂度内完成。