Java面试现场:从简单到复杂

Java面试现场:从简单到复杂

面试场景

某互联网大厂面试现场,面试官正襟危坐,程序员谢飞机坐在对面,神情专注。

问题1:Java中的基本数据类型有哪些?

谢飞机:有 byte、short、int、long、float、double、char、boolean。它们都是值类型,直接存储值。

✅ 回答正确,清晰简洁。

问题2:请解释Java中的HashMap原理。

谢飞机:HashMap基于哈希表实现,通过key的hashCode计算索引位置,用链表或红黑树处理冲突。当链表长度超过8时转为红黑树,提高查找效率。

✅ 基本原理正确,提到扩容和红黑树优化。

问题3:如何保证HashMap线程安全?

谢飞机:可以用ConcurrentHashMap,它通过分段锁(Segment)机制实现线程安全。或者用Collections.synchronizedMap()包装,但性能较差。

❌ 表现犹豫,未准确说出JDK8后使用CAS+synchronized替代分段锁。

答案要点

  1. 基本数据类型共8种,直接存储值。
  2. HashMap基于哈希表,解决冲突用链表/红黑树,扩容阈值为0.75。
  3. 线程安全方案:ConcurrentHashMap(推荐)、synchronizedMap(不推荐)。

📌 建议深入学习JDK8+的HashMap源码实现,掌握并发设计思想。

相关推荐
Mr_sst20 小时前
Codex 部署、使用教程 & Vibe Coding 实战指南
java·ai·语言模型·chatgpt·ai编程
无限进步_20 小时前
【C++】C++11的类功能增强与STL变化
java·前端·数据结构·c++·后端·算法
日月云棠21 小时前
JAVA数据结构与算法 - 基础:常用集合简述
java·算法
噢,我明白了21 小时前
MyBatis-Plus的引入和配置
java·tomcat·mybatis
日月云棠21 小时前
JAVA数据结构与算法 - 基础:BlockingQueue
java·算法
哪吒编程21 小时前
GPT 5.5 Thinking深度思考了十几分钟,给我挖了一个排查一周的并发大坑
java
likerhood21 小时前
设计模式 · 享元模式(Flyweight Pattern)java
java·设计模式·享元模式
Royzst21 小时前
图书管理案例
java·开发语言
带刺的坐椅21 小时前
SolonCode v2026.5.21 发布,Web 能看项目,IM 能找队友
java·ai编程·数字员工·soloncode·终端智能体
暗冰ཏོ21 小时前
2026前端开发全景指南:技术栈、100道面试题、AI趋势与职业规划
前端·面试·ai编程·前端面试题·前端行业规划