过了年,传统的招聘旺季,最近和朋友交流,发现了一种现象。很多工作多年的一线工程师,职级也不低,工作能力也够强,然而在面试中却总是能被各种“奇怪”的问题问倒。挫折的次数多了,有些朋友甚至都开始自我怀疑,怀疑自己到底是不是“水货”?
对这种情况,我和朋友有过几次讨论,最后的结论是:不是我们的能力不行,而是准备的不充分。
本质上,任何一个软件工程师,在一段时间内,都只能是某种“类型”选手,只“手热”某一方面的知识。因此,贸然去应聘,被面试官问倒,也就没什么奇怪的。
而要解决这个问题,只有一个办法:不打无准备之战。
就像学生时代的期末考试一样,要进行考前复习。而要进行考前复习,就得有复习资料。对一个一线软件工程师来说,常见的复习资料有几种:源码、书籍、学习笔记。
其中最好就是学习笔记,一则重点突出,二则“量身定制”。
作为一名软件工程师,除了应付日常的开发,我还会主动学习一些“闲”技能。因为这些知识不一定立马在工作用到,因此和遗忘斗争,我养成了记学习笔记的习惯,其中的内容包括:
下面就是我的某个(我有多个)Java学习笔记的提纲:
我在其中特别标出了一些难点和感悟。
这些东西一则在工作中可以作为自己的技术参考库,二则也是自己热身资料。
因为我的职务性质,需要经常在不同的技术(例如Java后端和前端)之间切换。而每次切换,我都会做个技术“热身”,标准动作至少有两步:浏览学习笔记 -> 写一个标准的demo。
如果你的资料(笔记、源码)周全,以我的经验,一个标准的“热身”动作()例如从前端切换到Java),1周的时间足够了。
除了日常工作的使用,这些笔记更能作为面试时的“复习”资料。
以我为例,虽然我一直有记笔记的习惯,但随着时间的发展,一方面积累的笔记越来越多,另一方面有些知识业已过时。因此,我又会定期的对读书笔记进行分类精简,如下图:
而且即使做了知识精简,我依然发现前端知识库依然非常庞大,因此我又专门编写了《前端知识精简版》(上图的标注)。
在日常开发中,针对记不确切的知识点,我首先从分类精简读书笔记中查询答案,如果找不到再搜索整个知识库。如果最后还是找不到,才会上网去寻找。
这些读书笔记不仅是我的资料库,更是我的技能图谱,条分缕析的记录了我学过的,掌握的技能。它也使我始终保持对自己的清醒认识,也极大的增强了我的“技术自信力”。
当然,这样一份个性化的知识库,尤其是其中的精简版,也使我随时能够面对一次面试。
因此,如果你也是一名程序员,有也面试的苦恼,希望我的做法能带给你些启发!
可以关注公众号:
--------------------------------------------------善知软件实训----------------------
获取更多的面试和就业指导和技巧!!!