程序员面经 面试前到底该不该刷题以及面试前该如何准备

引言

首先要说声抱歉,LZ前段时间刚入职,这几天一直在参加新人培训,每天到家都是晚上10点多,因此有关Java教程的文章和视频,只写了篇开头,没有按照计划进行后续Java教程相关的文章撰写和视频录制。不过4月2日晚8点,LZ会在斗鱼直播spring IOC源码解析,感兴趣的朋友可以来参加。

跳回正题,写这篇文章的原因依然是来自于群里的一次讨论,在LZ的交流群里,有一个妹子最近正在准备面试,她在群里问了很多技术问题。很明显,这些问题都是一些面试题上面的题目,通俗的说,她是在面试前刷题。

在LZ看来,面试前刷题这件事真的是很愚蠢的一件事,因此LZ就想写一篇文章来提醒一下大家,面试前千万不要去刷题,百害而无一利。当然,应届生不在本文的讨论范围内,因为应届生在面试之前,大部分都有笔试,刷题还是很有必要的。

因此,本文中如无特殊说明的话,指的都是非应届生的程序员,换句话说,本文所讨论的内容主要针对有至少一年以上工作经验的人。

面试前到底该不该刷题

在讨论该不该刷题这个问题之前,首先咱们来看看,到底为什么会有那么多人在面试前会去刷题。

这个问题的答案其实很简单,大部分情况下,都是因为面试者在面试前心里没底,因此有不少人会选择去刷刷题,来提高自己的自信。而且,基本上所有刷题的人,内心多多少少都有侥幸心理,以期在面试的时候,可以刚好被问到刷过的题,然后获得入职的资格。

不可否认的是,确实有那么一些人,是真的依靠刷题而获得了入职的机会。世界这么大,总会有幸运的人的。但是,LZ想说的是,面试并不是你大学时的考试,考前临时抱佛脚一下,说不定就混过去了。

面试和你大学时的考试,有一个最本质的区别,那就是大学时的考试,你混及格了,也就过去了。但是面试不一样,面试混过去了,你还是要去上班的,这件事情还远远没有结束。虽说只要面试混过去了,试用期被Fire的可能性很小,但是,如果你入职以后没有达到面试时你的水平的话,你的Leader通常情况下会觉得招你进来是一件很失败的事情。面试时最好只表现你80%的能力,剩下的20%是留着到了公司以后给大家惊喜用的。

现在网上有非常多的面试题目,从应届生到N年工作经验的面试题都有,而且只要稍微知名点的公司,在网上基本上也都能找到一大堆的面试题。很多人刷题,就是把这些文章上面的题目一道一道都过一遍,期待在面试中被问到。

但是LZ刚才说了,面试前刷题是一件很愚蠢的事情,最好给自己留有余地。面试和高考不同,高考时你发挥120%的潜力多考了几十分是很好的,但是面试时你要是发挥了120%的潜力,很可能只能高兴一时,等进了公司以后,你就可能会处在一个尴尬的境地,因为你很可能会成为那个被招错的人。

LZ相信,大家很多人身边都出现过这种人,招进来以后才发现,这个人真的很烂。这种人就算能过了试用期,最终的下场,一般都是会被公司慢慢抛弃的。可能并不是这些人不够优秀,而是他通过一些手段,得到了一个高于他原本能力的职位或薪水,因此才显得会很烂。

更可怕的是,当你只是记住和理解了这些题的答案之后,当面试官顺着这道题稍微深入的探究你的时候,你很可能会答不上来。这样就会让面试官觉得,你对于很多问题的研究不够深入,反而会烙下不好的印象。至少对于程序员来说,大部分公司的面试官,尤其是大公司的面试官,宁可选择一个在某个小问题上,比自己研究得还深入的人,也不会选择只会答一些面试题,但随便一深入问下去就回答不上来的人。

因此,还是那句话,不建议大家在面试前刷题。请记住,面试不是考试。

面试前如何准备

既然LZ不建议大家在面试前刷题,那么肯定会有小伙伴儿要问,难道面试前就应该什么都不做吗?

当然不是!

以LZ个人的经验来看,在面试前,通常只需要做一件事,而且LZ也一直都是这么做的。那就是在一个适合思考的时刻,去思考和总结自己所经历的过去以及所掌握的技术,要总结到精髓,并且挖掘出自己至少一个亮点。

这个所谓适合思考的时刻,可以是你回家坐公车的时候,也可以是走去吃饭的路上,也可以是大便的时候,也可以是洗澡的时候等等。

一个人经历过一年,甚至更久的工作之后,总会经历大大小小的事情。每一次面试之前的总结,不光是为了面试,更是为了让你在跳槽之前认清自己,并且清楚自己所需要的提升到底在哪,这才是跳槽真正的意义所在。

很多人跳槽都是盲目的,并且每次跳槽之后都感觉不是很满意。其实有一个很重要的原因,就是你没有在面试之前认真的总结自己,你不了解自己现在到底优势在哪,劣势在哪,你需要弥补哪方面的空缺。以至于在跳槽时,除了薪资待遇以外,很少考虑到自己的职业发展问题。就算考虑了,但是由于没有好好总结自己的经历和技术,也很可能会选择了一个自认为正确但实际上却是错误的方向。

然而,趁着面试,这绝对是你总结自己的最好时机。

在面试当中,要适当的把面试官带进你熟悉的世界,然后在你不熟悉的世界果断的告诉面试官“不好意思,我不会”。而你要做的,就是把你熟悉的世界好好总结,让面试官更加清晰的感受这个世界。这样不仅可以帮助你在面试过程当中顺利的通过,展现自己的亮点,而且还可以帮助你更加清晰自己的职业发展。

而且,事实上在你总结自己的时候,你通常会碰到一些长时间被遗忘掉了的问题,这些问题,是可以临时抱佛脚去复习一下的。而那些与你的经历和技术体系关系不大的面试题,临时去刷其实毫无意义,还不如一句“不好意思,我不会”更加实在。

可能有的小伙伴儿会说,“总结我的经历和技术倒是可以,但是我做的项目和我会的技术都很平庸,实在找不到亮点怎么办?”

那LZ只想告诉你,这样就更好办了。既然你都知道了你没有亮点,也就是知道了你自己欠缺什么,那么下次跳槽就努力给自己制造亮点,弥补自己的欠缺就行了。

例如,你可以找一个大数据的工作,这样你以后就多了一个大数据的技术标签,这算是你的亮点。或者你也可以找一个有高并发的项目去做,这样你以后就有了高并发项目的经历,这也算是你的亮点。

总而言之,在每次跳槽和面试的时候,不断总结自己,深度挖掘自己的亮点,比你去刷那些无聊的面试题,要有价值的多。这样不仅可以帮助你的现在,还可以帮助你的未来。

结语

最后,LZ再提醒大家一句,亮点是靠自己挖掘的,不要觉得自己做着平庸的项目,就认为自己的项目没有任何亮点可以挖掘。

永远记住,没有平庸的项目,只有平庸的人。

你可能感兴趣的:(程序员面经 面试前到底该不该刷题以及面试前该如何准备)