Java后端AI面试复盘
- 轮次
- AI面试
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
- HashMap 的底层原理是什么?
- Java 线程池的核心参数有哪些?
- 哪些场景会导致 MySQL 索引失效?
- Redis 缓存穿透是什么?如何处理?
- 请介绍简历中的项目经历。
《参考解析》
- HashMap:JDK 8 的 HashMap 由数组、链表和红黑树组成。键经哈希扰动后定位桶,发生冲突时在桶内比较;链表达到阈值且数组容量足够时会树化,负载因子达到阈值后扩容。
- 线程池参数:核心参数包括核心线程数、最大线程数、空闲存活时间、工作队列、线程工厂和拒绝策略。配置时还要同时考虑任务是 CPU 密集还是 I/O 密集,以及下游连接池和限流能力。
- 索引失效:常见原因包括对索引列做函数运算、隐式类型转换、联合索引未满足最左前缀、前导模糊匹配,以及范围条件后续列无法继续缩小扫描范围。应结合执行计划和实际扫描行数判断,不能只看是否出现索引名。
- 缓存穿透:请求持续查询不存在的数据,导致每次都穿过缓存访问数据库。可以校验明显非法参数、缓存短期空值或使用布隆过滤器;同时要防止恶意请求集中击穿数据库容量。