春天,万物复苏。程序员们跳槽的季节要到了。其实,程序员算是跳槽比较频繁的人群。虽然每个人都盼着能跟随公司的步伐一步步地成长,但能在正确的时间点遇到正确的公司,这也是要靠运气的。对于大部分程序员来说,跳槽成了大家实现职业发展的一条有效途径。

enter image description here

程序员面试很难吗?

一谈到跳槽,首先想到的肯定是面试。面试是每个普通程序员面前的一座大山,给了大家无尽的苦恼和困惑。

程序员面试很难吗?毫不客气地告诉你:“很难!”

先说流程,就挺吓人。正常的,要经过两轮技术面试以及一轮经理面试,还不算之前或之后的 HR 面试。也有不少顶尖公司甚至需要三到五轮的技术面试。时间上,少的需要一下午,多的需要好几个下午(跨度可能好几周)。

几轮面试下来,在面试官们那里是一票否决制,并不是大家想当然的多数选举制。

能熬到最后,这绝对是真正意义上的“过五关斩六将”了。所以,每一个面试成功者,都算是勇士。要给自己点个赞!

再说内容。代码里的世界,纷繁复杂,不带虚的,离人性远。知识点和数学类似,都是硬邦邦的货。如果你懂得多,那如何短时间内让你将你肚里的货展示出来呢?那肯定得需要借助相应的复杂题目才能挖掘出来。

enter image description here

面试性价比

那程序员面试有多难呢?为了更好地解答这个问题,在这里,我提出一个“薪水/面试难度的比值”概念,简称“面试性价比”。显然相同面试难度下,该比值越高,诱惑力越大。

接下来我从三个方面去描述这个“面试性价比”。

首先,如果行业之间比较的话,程序员的“面试性价比”其实算低的(虽然程序员薪水算高的)。根据很多已经转行的程序员兄弟的反馈得知:很多其他职业的面试(可能最终录取率并不高),过程通常没那么长,面试的内容也以聊天询问为主,双方整体气氛通常相对愉快些,总的下来脑细胞不会费那么多。

其次,不同性质的企业,比如按创业公司、上市公司、国企、外企或者民企来划分,它们之间的“面试性价比”也会存在显著差异。如果排序的话,线索比较多,这里就不排了。但有一个标尺:如果社招面试以算法为主的话,面试性价比通常不算高,但薪水上限通常高些。

最后,讲讲校招与社招的面试性价比。这个很诡异,和大家想象的不一样:事实是校招的面试性价比远远低于社招。别小瞧校招,很多校招所面的题,对社招人员还是挺有难度的。这可能和学生刚毕业,没有项目经验,只会做算法题有关。

我曾经面试过一个毕业生,题目本来用一个最简单的排序算法即可满足,但这位同学上来就说:“那用快排吧。”接着迅速地写好了快排算法。而社招人员,不经过刻意准备,十有八九是写不出快排的。所以毕业生面对如此低的面试性价比,最好的途径是通过实习,毕业时直接进入好公司。

enter image description here

程序员面试的本质是相亲

很多程序员面完后,遭到拒绝。事后总感觉受到了侮辱,且有很多愤愤不平:

为什么面试的问题都那么偏?工作上很少用得到啊! 我懂的那么多,你都不问。我不懂的,你却一问一个准。 为什么我感觉面得这么好,却被无情拒绝了? 为什么我觉得面试官技术水平不如我,他还能拒了我?栽在这个蠢货手上,太欺负人了。

大家的心情都很能理解。但需要大家明白里面的游戏规则:面试好比是相亲!相亲需要你穿着得体,面试亦如此。相亲需要你短时间内留给对方良好的印象,面试亦如此。相亲之所以失败率高,是因为相亲首先观察对方的缺点而不是优点,和日常朋友不一样,面试亦如此。相亲如果是亲友介绍,一开始就有最基本的信任,成功率会高很多,面试亦如此。相亲需要货比三家,面试亦如此。相亲是双向选择,面试亦如此。相亲需要百折不挠,屡败屡战的精神,面试亦如此。

基于以上游戏规则,再解答下那些愤愤不平的问题。

enter image description here

程序员面试的误区

码农这个行业的面试,确实很难有一套行之有效的方法在短时间内全面衡量一个人的技术实力。所以,错杀是不可避免的客观存在。

但有些面试结束,双方分道扬镳后,甚至会出现互相嘲讽对方的情况。古有文人相轻,今有码农互谇。

产生这种误解的原因有很多。主要是在信息不对称的情况下,双方都容易陷入到多种误区里。那具体会陷入哪些误区呢?

场景一:奇耻大辱,居然被一个水平很烂的面试官拒绝了!

你面试会遇到面试官的水平似乎不如你。更可气的是事后,他居然还把你拒了,这让你恼羞成怒。“这家伙这么挫,任何有营养的问题都问不出来,居然还把我拒绝了。这实在太恶心了!”

这种情况,很可能是面试者处于“不知道自己不知道”的阶段。可能面试官仅问了一个简单的知识点,但这个知识点可以顺藤摸瓜地牵连出很多深的知识点。你却压根不知道底下还有这么多东西,以为他问得很简单,对他的提示也完全没有反应。

当然你确实也有可能遇到没你懂的人面你,并把你拒了。遇到这种不公平,这同样可以用相亲理论解释:很多文艺青年满腹经纶,才华横溢,但是追求美女就是追不上。于是恼羞成怒,从而认为她们肤浅,不懂得真正的欣赏。

站在美女角度呢?她可能没有绝对的能力判断你的才华到底有多高,但是她会比较啊,比较你和其他候选人的相对才华,总要容易得多。你的谈吐,你的自信,是每个人都可以感受到的。

所以呢,失败的背后,不仅仅是你和面试官之间的事情,更是你和众多看不见的竞争者之间的故事。

一个成长必修课:要学会接受和承认,很多时候,主角不是你,你只是做他人的陪衬。

场景二:“面试造飞机,工作捡垃圾”,有这必要吗?

很多人感叹,面试题都太偏了,或者太难了,却不是工作中常用的技能。有这种必要吗?

其实公司出这样的题,会有它自己的道理。只要公司通过实践,认为这样的题能筛选出他们需要的人才,那么就可以继续使用,这是他们的权力。

你觉得不合适,也很正常,姑且认为和公司气场不合吧,不去也罢。

要记住:对公司而言,面试程序员,错杀并不可惜,可怕的是错招!把不合适的程序员放了进来,耗费培养成本不说,即便果断开除,对身边团队的士气也会有很大打击。

场景三:面得忘乎所以,有失得体

有些人,自我感觉良好,往往控制不住说 high 了,越说越兴奋,却忽视了面试官此刻暗黑的眼神。所以你感觉面得非常好,过后依然没有下文,这也不少见。你需要时不时地停下来和面试官沟通,以确保你们还在同一个频道上。他是否还想深入了解你所说的。要记住面试不是让你演讲。 对美女相亲也是如此,只是你一味的滔滔不绝地讲,你以为你成功了,其实你的印象分早已变为负数。希望大家对这点提高警惕,毕竟因为这个原因被心仪的公司所拒绝还是有点可惜的。

场景四:过于懦弱,忘了考察对方

在面试过程中,公司处于强势地位,一直在考察你。但不要忘了你同时也有考察公司的权利!因为你们是双向选择。

最常见的一个例子,面试官最后一般会问你:“你有什么问题吗?”很多面试者顿时就蒙圈了,不知道该问啥。其实呢,你最好能提前准备几个问题,或者在刚才的面试中就产生的一些问题询问。很多经验值不够的面试者通常对这个环节不关心,想着自己表现的阶段已经完毕,人也累了,啥都不问,只想尽早离场。

除非你不想来这个公司。否则你最好趁机会,能够仔仔细细地问清楚他们这个公司是干什么的,这个项目是干什么的,符不符合你的预期等等。这也是对自己负责。

否则最后只能单纯地靠对方提供的薪水来决定了。这只是眼前利益,并不是理性做法。

给面试者的提醒:有一种能力叫面试能力

有的程序员脸皮薄,面了几次失败之后,便不再考虑面试的事情。感觉面子上过不去,不愿意心灵再受到伤害。

对公司的拒绝,一定要轻松对待,不要看得很重,也没那么严重。有的人过一阵接着继续面同一家公司的其他部门,又面上了,这很正常。

其实面试考的是一种相对单独的能力,它叫做面试能力。它以你平时的技术积累为基础,但平时的基础不会是全部。面试能力的提高必须通过面试本身去锻炼。

不要患得患失,要相信该是你的跑不掉。要用积极的心态面对面试,你把面试当做是技术交流的机会。可不是嘛,一个技术比你好的人近距离耐心地和你交流半小时到一小时,还是免费的,这机会难道不应该好好珍惜吗?

面试官不是神秘人物,也是由普通程序员组成的。面试官也会犯错,而且不会少。

误区一:着重问自己懂的问题

初当面试官的人容易犯这个错。总想着把他给问趴下,获得心理上的优越感,却忽略了寻找面试者懂的那部分。但其实你们不是竞争关系,你的任务是衡量面试者的技术水平。所以,不要以自己的知识储备为中心,而是试图找到对方的知识储备中心。

误区二:题目不统一,这样衡量标准不平等

如果问题很随意,每个面试者的问题大相径庭,那么只能去感性判断面试者之间的水平差异。导致很可能把优秀的淘汰,次优的招进来。

误区三:面试流程不规范,面试官就一轮一人次

一轮一人次,简单干脆,多有效率!但这是很不规范的流程。因为一个人的问题容易太偏,参考意见的主观性太大。最好能两个人同时面,或者有两轮甚至多轮,这样才能保证候选人的质量。

给面试官的提醒:你代表着公司的形象

很多面试官是缺乏这个意识的,总以为面试者是有求于人的一方,不需要对你太客气。但别忘了,每个面试者都有可能是你公司的潜在消费者。

所以,一定不能盛气凌人,给人留下不好的印象。要时刻记住你代表公司形象,毕竟买卖不成仁义在嘛。

比如,面试之前要记得给面试者准备一杯水。这个细节很重要啊!如果在面试中连续说了几个小时,面试官换了好几拔,却一直没水喝,这是极不好的用户体验。可怕的是,忽略这种细节的公司,在中国还真不在少数。

又比如,大老远邀请别人过来,你才看简历,惊呼道:“咦?你简历背景不合适啊!”然后草草面几句结束。可你要知道人家辛辛苦苦远道而来,并请了珍贵的年假,就这么被你作废了。这种情况对公司品牌的杀伤力也很大。作为面试官应该事先和 HR 有过足够的沟通。

以上就是有关程序员面试的那些事。其实,面试的能力不容忽视。但这些需要平时的实力做基础,也需要通过面试本身去锻炼。有时候也是急不得的。要不断打磨,才能越来越好。所以,坚持住,就一定会去到你想去的地方。 另外,面试真就好比相亲。遇到一家你超喜欢的公司,它又正好看上你,这种情况真的好难得。要倍加珍惜,努力工作才行。 3 月就要来了,想要跳槽的你准备好了吗?

本文作者:余叶