在Java面试中,相信大部分应聘者都会遇到喜欢问与源代码相关问题的面试官。要知道,现在企业都希望招聘到对技术有追求并且拥有持续学习能力的Java程序员。通过应聘者对相关问题的回答,面试官能够快速诊断他是否爱钻研,愿意深入技术原理,而企业需要的恰恰是这种人才。小千汇总了与源码相关的问题,希望学员结合所学检测自己掌握的水平,以及做好应答准备。
对于Java初学者来说,很多代码的格式、命名等都需要学习,而好的办法就是通过开源代码来学习;在使用第三方框架、中间件时,要想了解它们的原理,有效的办法也是直接看源码;只要是人写的代码,就可能存在Bug,通过阅读源代码可以好地定位和解决问题。有关源码的问题,主要题目如下:
1、你看过哪些源码?
2、你能讲讲HashMap的实现原理吗?
3、HashMap什么时候会进行rehash?
4、HashMap什么时候会进行扩容?
5、HashMap的初始容量设置成多少比较合适呢?
6、结合源码说说HashMap在高并发场景中为什么会出现死循环?
7、JDK1.8中对HashMap做了哪些性能优化?
8、HashMap和HashTable有何不同?
9、HashMap 和 ConcurrentHashMap 的区别?
10、ConcurrentHashMap和Li