作为一个公司的技术面试官,每周都会面试2-3次。大厂面试当然有套路,Java的底层实现是我们经常会问到的。
简历写着“熟悉”源码的应聘者并不少见,但真的问起来,发现很多面试者都是支支吾吾说不清楚,经常三道题打出原形。所谓的熟悉也只是从网上看了几篇文章或者听别人提起过,说实话,每次都很恼火。
因为我们筛选简历的时候看得就是工作技能,想要找的是实实在在用过框架做项目的,来了就能上手干活的。背了几道面试题就敢说熟悉Java源码?对不起,我们不招连源码都不会看的人。
有好多人认为源码不重要,那我们先来看看你是否遇到过以下尴尬:
很多API如何使用需要先百度,然后再复制粘贴。
针对不同的场景,不知道如何设计不同类型的线程池,对API的使用没有太多的场景经验总结;
代码review的时候,提不出个人意见,而自己的代码却常常被别人吐槽;
想对工作中API使用不方便的地方进行优化,但不知道其内部实现原理,不敢动手。
能对号入坐的相信多数是没有阅读过Java源码、对Java底层构造不够了解的。
当你羡慕别的大佬能够写团队核心代码,能轻易看出代码漏洞,能总结出Java的设计思想,并运用到日常工作中时。其实差距就都在这了。
阅读源码不仅可以帮你顺利过技术面试,找到更好的工作。还能让你结合场景熟练使用API,基于工作中的痛点进行源码创新,是成为团队核心的技术基础。
那么现在我要问你三个问题:
你读源码么?
你会读源码么?
你从源码中有收获么?
其实有不少有追求的、想进大厂的朋友,也不是没尝试过看源码,无奈源码是真的太难啃,坚持不下来。
想想那么庞大复杂的代码放到你的眼前,就如同陷入了一个巨大的迷宫。如何能在这个巨大的迷宫中找到一条出路呢?
如果你有这些问题或者疑惑,那么恭喜你打开了这篇文章,本