小伙伴从去年开始,一直叨叨要跳槽,大大小小的公司面试了很多,但总没有拿到一个满意的offer,要么package太低,要么就是面试被虐。
经过前几次的面试失利,终于明白了什么叫基础不牢,地动山摇。 面试官随便针对一个知识点深入考察一下,就回答不出来,就这样,还怎么能通过面试?
不过,最近收到了小伙伴的捷报,已拿到蚂蚁的offer,公司足够大,base还可以,虽然是个P6,但还是隐隐感觉到他很满意。
其实,我还是有点疑惑,他之前的基础很一般,咋就突然拿到了蚂蚁的offer。 后来没忍住,问他:
“你最近都干啥了,蚂蚁面试都问你什么了? ”
结果,这小伙最近半年居然一直在闭关修炼,把一些基础的源码慢慢都啃了一遍。
于是问了他看了哪些源码,他大概给我列举了一下:
JDK相关源码
集合类
并发包
泛型
IO
JDK相关源码
synchronized实现原理
框架相关源码
Spring、SpringBoot、Dubbo、Redis、RocketMQ
听他讲完,瞬间觉得: 哎,就冲你这个态度,我也想给你offer。
以上这些,我觉得并不一定完全都需要看个遍,以为毕竟经历有限,建议大家主要看以下内容:HashMap相关、synchronized相关、框架选一个自己用过的,如Redis或者RocketMQ等。看完之后要有自己的总结和思考。
不过,说到源码,有些同学似乎比较反感,总觉得会写代码就成,为什么一定要去了解源码是怎么实现?
从源码中学习如何性能优化、设计模式等
深入源码,才能了解真相
了解源码,才能更好的解决问题
你懂源码,面试官更懂你
我这朋友算是比较厉害的,可以看这么多的源码,于是让他总结了一些自己的经验,关于如何看源码:
看源码的时候结合文档和案例一起学习
看一些开源框架的源码时,可以参考一些书籍、文章、视频等一起
从一个点出发,先横向展开,再纵向深入
学会使用Debug看源码
从易到难,先从简单的开始,如从String、StringBuiler和StringBuffer开始展开
坚持!坚持!坚持
好了,希望大家都养成读源码的 好 习 惯 ,轻松搞定面 试官刨根问题的面试方式。
最后 , 推荐几本关于源码解析的书和一些视频,首先书籍可以看看:Spring源码深度解析、Apache Kafka源码剖析 、Docker源码分析、深入理解SPARK:核心思想与源码分析。相信这些书可以给你一些帮助。
分享一些源码和框架视频,有了视频,也许可以在前期降低一点门槛。
扫码添加助教小姐姐微信领取
免费资料,名额有限,先到先得~