Java面试中与源码有关的问题分享
Posted 程序员的小傲娇
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java面试中与源码有关的问题分享相关的知识,希望对你有一定的参考价值。
在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和LinkedHashMap有什么区别?
11、为什么ConcurrentHashMap中的链表转红黑树的阀值是8?
12、ConcurrentSkipListMap和ConcurrentHashMap有什么区别?
13、还看过其他的源码吗?Spring的源码有了解吗?
14、SpringBoot的源码呢?知道starter是怎么实现的吗?
以上问题,学员可以对照自己对源码的学习程度给予解答,如果感觉回答上面问题没有什么困难,那就说明对源码的整体掌握水平很好;如果感觉回答吃力,那就要开始着重学习了。对于源码的学习,可以先从全局出发,通过文档、代码结构、架构分层等方面入手,大概了解一些各个模块的代码都是什么功能,这样在后续深入学习的时候便于理解和查找响应代码。
总之,小千希望大家都养成阅读源码的好习惯,也希望大家遇到所有源码类面试题都可以轻松搞定。
本文来自千锋教育,转载请注明出处。
以上是关于Java面试中与源码有关的问题分享的主要内容,如果未能解决你的问题,请参考以下文章
最近整理出了有关大数据,微服务,分布式,Java,Python,Web前端,产品运营,交互等1.7G的学习资料,有视频教程,源码,课件,工具,面试题等等。这里将珍藏多年的资源免费分享给各位小伙伴们