干货!我在微软当面试官的一些感想!面试流程分享!

作者@traceroute_su
发布在一亩三分地

欢迎大家点击左下角“阅读原文”到原帖与作者交流讨论哦!

毕业6年了,当年找工作也是遇到很多麻烦,也许没有2020的应届毕业生那么难,但是当时毕业也真真做了一会难,好在坚持下来有了offer,兜兜转转升了一系列职,跟了一些大项目,考虑做一下面试官,迄今为止面了8个人,有很多感想,跟大家分享一下。

说实话,被面试跟面试别人差别很大,唯一不太大的是心情都是紧张,没错, 当面试官也紧张。如果被面试是紧张问的题目不会做的话,当面试官是怕我问的问题面试者不会做,或者做的磕磕绊绊没形成有效代码。在当面试官之前,我接受了一些培训,其中最重要的一条是bring in,而不是考试。这个思路的改变就导致了面试官比面试者更像让他进入公司。

下面是我当面试官的一些感想,如果我毕业的时候有一个人会这样告诉我,我可能会少走很多弯路,也许现在的学弟学妹看了此贴也能少走一些弯路。

我面试的主要流程如下:

1. 介绍面试者自己

这个很多人其实不是很重视,以为这就是热场,但是其实这个热场尤其重要,这个奠定了第一印象。我面试过的8个人中,有的用5分钟时间告诉我最challenge的事情是,在接同事一起remote做项目的时候,路上没油了去ATM取现买油,结果帮人家修ATM机修好的故事。。也有的人说自己在上学期间和工作期间得了多少奖拿了多少rewards(尽管我不明白那些个rewards 有多nb) ,也有人说自己其实没遇到多大的challenge的事情。。。

当然也有人真正的介绍了自己,在哪里工作,工作内容和职位是什么,项目的challenge是什么,主要负责什么,现如今感兴趣的方向。

显然最后一种给我的感觉是,比较认真的想跟我沟通进行面试这个稍显严肃的话题。其实我个人的潜台词是如果自己都介绍不好自己,如何在面试中发挥到很理想的地步。当然也不要说太多没用的东西,有个码农工作了15年了,5分钟的自我介绍硬是被我拉不住说了10分钟,导致后面的coding面试时间受到影响。所以如果有效的介绍自己并且给面试官留下一个可以work with的印象可能是要义。

2. 介绍面试官背景

我在巨硬面试是针对一个大组进行的招聘,所以潜台词是该面试者会来我们org工作,且针对面试者背景进行招聘的。基本的会是我介绍一下我们做的工作大致内容,以及遇到的一些困难。这些内容如果面试者是认真听了,我能感觉到他后面问题的侧重点,如果是一笔带过只是听听而已,也有可能面试者紧张,也可能是不感兴趣,那这个就很tricky了。

进行面试结果讨论的时候,如果面试者有些瑕疵,但是很认真跟我work with了,我会多给positive的意见,那我就会认为是面试者紧张。反之,我可能不会帮面试者多说什么好话,潜台词是面试者对我们不感兴趣。

其实面试结果讨论是一个sales的角色,如果对这个面试者给的意见是hire的话,要想办法证明他/她有多nb,如果是no hire就想办法去说为什么有些信号拿不到,所以认真听了面试官背景并作出进一步沟通的人也会留下更好的印象让面试官去帮助。

3. coding 问题 一个

我一般不会给两个coding的问题,因为时间很宝贵,面试不是考试,就是一个沟通的过程让面试官感觉到这个是一个可以work with的人,而不是只会写代码不会沟通的人,事实上在公司里闪电成码的人一点都不缺,缺的能一起工作并且能办成事情的人。

所以面试官期待的是,能有有效的问题提出来,因为不可能一个question会说的很清晰,甚至故意说的不清晰,期待面试者去问。然鹅,你如果见过这道题直接写出来代码,我不能说你不好,我只能说你见过这道题。

事实上,很容易分辨出来你有没有练过这道题的。比如有烙印,设计的函数签名都跟leetcode一模一样,思路非常跳跃。其实你见过这道题,我也没关系,你只要说出来思路很清晰就好,快速成码之后我肯定有followup 问题的,所以就算你练过也没啥可hide的,也hide不了。反而踏实说出来让面试官感觉你很实诚。加分的。毕竟谁也不想跟一个爱说谎的人每天工作。

面试的过程中,很多细节需要拿捏。如澄清问题,遇到各种情况如何处理,对于这个问题进行建模,如果定义这个问题(比如这事topological sort 问题,让面试官觉得这货基本功有的)。然后给出思路,快速成码,简单测试绝对加分。成码过程中要跟面试官有互动,互动不是你说话就好,要真正跟面试官有交流的感觉,如这个地方我有两个办法,有什么trade off之类的。

4. followup BQ或者coding的follow up

其他公司我不知道,在巨硬,每个面试官除了coding的任务之外,要有一些侧重点去挖掘的,比如customer focus还是result driving。有些问题问出来就是想看看,在这上面的能力如何,理解是否成熟。

比如问了一个问题是说如果在跟一些组work的时候,上游组掉链子开发出了问题 block你的上线进程,而你有strict deadline,你咋办?一个大公司跳槽的妹子跟我说的一个回答最畅快淋漓,说开ticket过去就好了。。往往在公司里这种情况很常见的,如果你是负责人,遇到这个问题,如何优雅有效不失礼貌的解决还是耐人寻味的。

但是这些问题没有什么标准答案,只是让面试官感觉是否跟面试者以后合作有没有什么问题。该妹子的回答,会让我觉得有问题,因为这不是解决问题最有效的办法。

5. 问面试官一个问题

最后一个问题很重要,它承载的是你对这个公司的兴趣。有的面试者准备了小条,例行的问了两个,有的面试者会针对我之前的自我介绍问一些项目的核心问题,显然后者让面试者更容易high起来。当然还有一些面试者coding没答好直接弃了。其实面试4-5轮有一轮没答好的确会影响很多,但是如果剩下都很好,在结果讨论的时候,是可以化腐朽为神奇的,所以不到最后一刻千万别放弃。

最后我的理解是,面试官真的想让你pass,还有面试不是做题,是沟通的过程,虽然没有硬性指标,但这是面试成功很重要的条件,也是strong hire的前提。2020毕业生不容易,分享给学弟学妹们。

大家如果还有相关的问题和看法,欢迎点击“阅读原文”到一亩三分地讨论,欢迎回原帖给作者加米!