导读

最近看了一位技术出身的面试官写的一篇文章,在文章里,他分享了面试一位46岁算法工程师的经历。

这位来求职的工程师的学历很好,毕业后一直从事视觉方面的工作,每一份工作都干了5年以上,做过不少项目,还曾担任过项目经理。

可面试后,这位候选人被面试官直接pass了

按说,这位候选人的条件相当不错,为何最后还是被面试官拒掉了?

答案或许就在面试官分享的面试细节中:

在面试过程中,这位候选人说传统的机器视觉不行了,现在要用AI的方式,然后又说AI也不是万能的。面试官问候选人,为什么觉得机器视觉传统的方式不行了?候选人回答说需要大量的数据训练,模型才能好,接着又说人们都觉得AI很厉害,但AI不是万能的,因为它需要数据训练,没有数据也不行。

接着,面试官又问了一个问题:为什么通过数据训练能够进行人脸检测或者识别目标?候选人回答了一堆,主要是说他用了MTCNN模型,还有其他用过的开源模型。

看到这,不知道你有没有发现候选人的问题?

对于面试官的这两个提问,表面看,候选人回答的都不算错,但是他回答的层次太浅了,一点自己的深入理解都没有。

既然认知还停留在刚毕业的大学生的水平,公司自然不愿意出高薪聘用。

这位46岁的算法工程师的经历也许比较特殊,但他在这次面试暴露的问题,并不是个案,值得每一位职场人反思。

知其所以然,才算真的懂技术

不少程序员,也像上面那位算法工程师一样,虽然工作多年,项目没少做,但一直忙碌于最基础的工作,从未对自己的工作进行深入思考,以至于对技术的理解还停留在表面,更别提对业务逻辑进行高度总结了。

如果在从前程序员非常吃香的时代,对技术缺乏深入理解,问题还不算很严重。但随着越来越多的人涌入IT行业,在人力市场上,程序员之间的竞争日趋激烈。

这就导致很多互联网公司,特别是像阿里巴巴、腾讯、字节跳动这样的大厂,在招人时会格外看重候选人是否技术过硬。

这里说的技术过硬,不仅仅是指的有项目或者通过技术实现过一些功能,而更多的是对技术原理的深入理解,以及举一反三的灵活应用能力。

这一点,无论对已经工作的工作党,还是对尚未步入职场的学生党,都同样重要。

有面试官曾分享过这样的经历:

有一次他面试一个应届毕业生,这个应届生专门上过培训班,并精心准备了简历,也能回答出很多基础知识问题,但在进一步的面试过程中,面试官发现这个应届生对技术的认识很机械,根本不理解项目中使用的方法,更不具备灵活运用工具的能力,于是面试官就把这个应届生给拒掉了。

所以,找工作的起点,并不是在求职网站上投简历,平时点点滴滴的学习积累,就是在为日后的求职做准备。

比如,面试者可以多读一些专业书籍,有能力的还可以读读英文原著,比如《深入理解计算机操作系统》《Deep Learning》《编译原理》《unix网络编程》《C++并发编程实验》。

有些面试的坑,最好不要踩。

技术实力够硬,不代表就能在面试中“无往而不利”。

有些人,明明技术能力了得,可还是与心仪岗位失之交臂,很可能就是在面试中,踩了下面这些坑:

沟通表达能力差

很多人说程序员不需要与人沟通,但真实的情况是,与同事高效沟通非常重要:每一个没有沟通清楚的需求点,都是夜里加班的时候流的泪......

同理,在面试中,求职者的沟通表达能力也举足轻重,毕竟面试官要依据你的回答来判断你的技术能力。如果你的沟通表达能力差,会导致你的技术能力被低估。被低估的结果就是,即便能通过面试,薪资也会打折扣。

关于沟通表达,有个常见的误区,就是把能滔滔不绝地说个不停当成沟通能力强。

其实不是的,真正的沟通能力强,是会说面试官想听的,而不是一味地说自己想说的。

比如,前面提到的那位46岁的算法工程师,算得上是一个典型:面试官想听的是为什么,而他却一直在说怎么做,尽管说了不少,可在沟通上并没有得分。

态度不够端正

尽管面试官很看重候选人的技术能力,但这并不代表面试官不关心技术之外的东西。

有句话说得很好:面试官可能很快忘记你做了什么,但面试官往往忘不了你在他心中留下的印象。

这是人性使然。

所以,要想通过面试,给面试官留下好印象是非常重要的

由于每个人喜好不同,我们很难“投其所好”地给自己的印象加分,但我们可以尽力不给自己的印象减分,比如下面这些事就要尽量避免:穿着随便、不修边幅、迟到、不提前了解公司情况、傲慢不懂礼貌、没等面试官说完就急着答话……

不会提问

一般情况下,面试到最后,面试官通常会问:你有什么问题想问我们吗?

千万不要以为这只是面试官的客套话,面试官问这句话其实是有目的的。

一方面,他可能想知道哪些问题是你最关心和重视的;另一方面,给你一个机会提问,也能反映你的专业水平和态度。

如果这时候你不提问题,说明你没什么想法,甚至会让面试官觉得你不是那么想进这家公司,对这份工作的积极性不高;

或者你问的问题没什么水平,比如,几点上班几点下班、有没有加班费、有没有微波炉热便当等,面试官会觉得你眼界太小,思想没什么深度,这两种情况你大概率是要被扣分的。

只要走心,你就能超过很多人

虽说现在程序员求职面临的竞争压力越来越大,但对面试这件事,大可以用平常心来对待。

对面试官来说,面试是为了选人才,不是为了难住面试者。

说到底,面试是一个双向选择,无论能否被聘任,你与面试官的地位都是平等的。

如果你能摆正心态,就可以从容地做好准备,力争在面试中表现出自己最好的一面。

熟能生巧

沟通表达可能是很多程序员的短板,不过好在这块短板并不难补。

一般来说,面试官的发问,会围绕你的简历或者你的回答来“做延展”,所以必须要对自己的简历足够熟悉。

具体做法,你可以穷举简历上的知识点,每个知识点分三个层次准备:应用级别,熟练使用步骤;原理级别,搞清楚为什么这么用;源代码级别,关注实现细节和不足。

当你能流畅回答自己简历上描述的任何内容的时候,其实你已经成功了一大半,能超越大部分的面试者了。

此外,有条件的话,你还可以多做模拟面试,起初可以先找没人打扰的地方单练,拿一面小镜子,打开手机的录像功能,拿出准备好的问题一问一答,录下来,自己反复听,不断完善答案。

等熟练了以后,可以找人进行一对一模拟面试,不熟的人最好,熟人也行。让别人当面试官帮你面试,你也需要当面试官,帮他面试。这样做的好处是,你可以做到换位思考,从而完善自己的准备。

遇事不慌

前面提到,你在面试中表现出的态度,会直接影响你在面试官心中留下的印象。

除了要懂基本的职场礼仪,还有一点也不容忽视,就是妥善回应面试官提出的你不懂的问题。

面试官可能会问你很多问题,如果你有些没有回答上来,不要在意。面试官很可能只是在测试你的技术深度和广度,然后判断你是否达到某个水位线。

所以这种情况,你要做的是争取把有些问题回答得很有深度,体现你的深度思考能力。

至于不懂的问题,不建议躺平放弃,当然也不必纠结话术,不妨坦率说清自己的经验和认识,甚至可以大方地向面试官要点提示,然后基于自己的知识储备去回答。

准备好问题

最后的提问环节,一定要提前准备好问题,临时想的话,很难想到合适的问题。

该如何准备问题呢?有一个巧妙的角度供参考。

你现在有了跟面试官面对面的机会,而且主动权在你这边,有什么与公司有关、与自己有关、外面找不到答案的问题是你迫切想知道的?

比如,这个职位在公司的具体职责是什么,目前最紧要的任务是什么?公司里是一群什么样的小伙伴,这个岗位所在的团队是什么氛围?通过刚才的面试,面试官对自己的评价是什么?

有一点还是需要提醒一下,就是自己提问时,要注意面试官是谁。如果是业务相关的面试官,那么他可能回答不了你薪酬福利相关的问题,这个适合问HR,反之亦然。

写在最后

说了这么多,希望能对正在找工作的朋友有些许帮助。不管遇到什么情况,保持良好的心态都是第一位的。现在大环境不好,很多公司招人的标准都或多或少在变高,有可能你准备得已经很充足,但面试的过程和结果还是不尽人意,这都是正常的,大可不必因为几次被拒就心灰意冷,毕竟,没有哪一场面试是真的“一战定生死”。

最后,祝大家在眼下的“金三银四”求职旺季当中,拿到理想的offer。