后端岗位面试题更新 2026-08-05
请详细讲一下 HashMap 的扩容机制:为什么容量通常乘以 2?扩容后数组元素和链表/红黑树结构如何变化?
去哪儿旅行后端开发互联网/IT问题拆解技术原理Java
考察说明
考察对 HashMap 扩容机制及底层数据结构变化的理解
回答思路
- 说明扩容触发条件(size 超过 threshold)
- 解释容量乘 2 的原因(保持索引计算高效,分布均匀)
- 描述旧数组元素迁移到新数组的过程,包括链表拆分和红黑树退化
- 涉及多线程下扩容可能产生的问题(如 JDK7 头插法死循环)
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。