谷歌面试,硅谷程序员,北美CS面试
谷歌面试能有多“可怕”?
谷歌的面试因没有题库、爱出新题难题等特征,令程序员求职者们“闻风丧胆”。
许多面试者在面对面试官时,会出现心跳加速、大脑空白、结巴、头皮冒汗等一系列症状。
可鲜有人知道,谷歌面试官们在面你们的时候,也并没有好受多少:
你那么紧张干吗?明明我也很紧张啊! 你觉得面试难熬?难道我就不尴尬吗! 看着大家在白板上奋笔疾书的样子, 我想起了我的学生时代,淡淡的忧伤...
不信?你来看看当了2年谷歌面试官,并和200+名面试者“交手”过的闫老师怎么说......
闫老师
- 前Google资深工程师、面试官,连续多次获得Top Performer荣誉
- 南加州大学CS硕士,以年级前1%的成绩毕业
- 已帮助3000+名学员进入FLAG公司
(以下内容为闫老师采访整理稿)
面试别人时,心情是不是特爽?
并没有啊....面试官在一开始面求职者的时候,他们其实也都是很紧张的。
所以新手面试官,一般会被分配去面intern,毕竟电面相对于onsite面试难度会小得多 (intern一般只有电面)。但即使是电面,也还是避免不了紧张...
上帝视角看到的画面就是,电话这头的面试者紧张得冷汗直流,电话那头的面试官也紧张得心跳加速......
当然,这是个循序渐进的过程。等经验丰富之后,面试官就可以接级别高一些的面试了。
除了刚开始的紧张之外,有些面试还会令人尴尬,让我祈求能早点结束....
比如有些面试者问啥啥不会,但我也不能call it a day,还是要和他一起熬过这漫长的45分钟。
最后,可能我讲得比他还多,相当于是我给他免费上了一堂课。
面试时会开小差想晚饭吃啥吗...
作为一个负责任的面试官,我在面试时基本都是全身心投入到和求职者的对话中,思路跟着面试内容走。
我觉得大多数谷歌面试官都不会心不在焉,或带着偏见或情绪去面试,be professional在这种场合非常重要。
毕竟,既要理解面试者的说话内容,又要根据回答想下一步问什么问题,是很需要动脑的!
而且...我们面试官表现不好,是会被求职者举报的。
谷歌非常重视面试者感受,如果你遇到的面试官对你爱答不理,你有权利投诉他并申请重面。
面试官每次问的题都是一样的么?
多久会换题?
一般来说,面试官会不定期更新自己的面试题。至于更新频率,这就是看面试官的个人习惯了。
谷歌面试官出题自由度很高,甚至可以不按照recruiter安排的类型来出。
而且,为了出一道难度适中、区分度高的面试题,面试官会发挥团队的力量,使出全身力气,生怕你们觉得太简单了...
谷歌内部有一个供面试官发新题的board,其他面试官都可以来评判题目好坏、提一些修改意见。
每道题的背后,都凝结着我们的集体智慧结晶...
我的习惯是,在一段时间之内,手上存4-5道好题。想要换题时,有时候会去board上找评价比较好的题目,有时候会将自己工作中遇到的问题做一些修改,然后拿去考面试者。
但新题正式启用之前,我必须花大量时间钻研,保证一定的熟悉程度。
所以,不要依仗所谓的面经,也不要妄想背答案就能蒙混过关。每个面试官都有自己的小题库,每道题都能被变出十八种花样来考你。
传说谷歌面试不问项目经历,是真的吗?
这是谣言。
之所以会有这样的谣言,是相比较于其它公司,谷歌不会问到具体的代码实现这个层次(因为稍有不慎,别的公司可能就会认为你在探听他们公司的机密,之前发生过这样的事情)。
但是面试官们会考察你在项目中用到的框架、你对做过的东西到底有了解 ,还有考察你对这个项目的ownership等等。
所以大家不要抱有侥幸心理,谷歌面试还是非常看重简历背景和项目经历的,一般面试一开始就会问相关问题。
因为这个是team match最重要的参考,背景不够强team match就很麻烦。
面试通过率大概是多少?
要回答这个问题,我们首先要知道Google的Hiring Commitee(HC)是做什么的。
面试结束后,所有面试结果、recruiter提供的feedback、或内推信息(如果有的话),都会打包送给Hiring Commitee审核。
HC会站在客观的角度,综合所有信息,给出是否录用的结果。
New grad的招聘流程,是先进HC,拿到offer之后才team match;
而有工作经验的求职者会先进行team match,然后进HC,最后HC再决定给不给offer。
有一些求职者会产生这样的错觉:
“连team都match上了,那不就等于稳拿offer了?”
但其实并不是这样。
首先,能够进HC的比例已经非常低了。
一般来说,5轮面试中,有2-3个strong hire才能被送去HC,而这个比例大概在30%(官方数字)。
其次,即使做了team match,HC这一关也不好过。
比如说,如果面试的feedback差异比较大,或者有些方面在面试中没有考察到,HC觉得很难决定结果的话,会要求加面1~2轮。
如果HC觉得你的实力确实逊色于其他竞争者,他们发起拒信来也是毫不含糊。
所以,offer没有真真正正拿到手上之前,还真没有“稳拿”这一说。
但是,也不是一轮面试答得不好就一定会挂。
如果5轮面试中,有1轮面得不好,但还有其他3个strong hire,内推也很有力,那你还是极有可能拿offer的。
所以,不要因为一轮表现不佳就自暴自弃。
回问面试官的环节,面试官喜欢被问什么样的问题?
当面试官问:Do you have any questions for me?
正确答案一定是回答yes。
这个环节答得好,不仅能帮你了解你以后可能入职的公司和职位,还能给面试官留下深刻良好的印象,所以比较尖锐、敏感的问题就还是不要问了。
比较安全的问题有: - What is your day like at Google? - 公司对一个entry level的engineer expectation是什么样的?
你们可以根据个人情况自由发挥,但重点就是想办法通过问题体现自己的Motivation和Passion,多换位思考一下自己能够给公司和将来的同事带来什么?以及他们想要什么?
有没有令人难忘的candidate?
实话讲,优秀到令我意难忘的求职者很少,大多数面试者都是属于中等水平,没有特别令人眼前一亮。
最让我难忘的求职者,是一个UC berkeley CS专业的本科生。他是Ted speaker,世界少年组马拉松纪录保持者....给人感觉非常聪明、有想法。
而在实打实的面试中,他也没让我失望,他表现出了扎实的编程基本功、全面的CS知识体系、完善的provlem solving能力、以及非常好的交流能力。
面试结束后,谷歌其实是没有硬性规定说面试官必须sync。但是面完这个candidate之后,我们几个面试官都按捺不住激动的心情,主动聚在一起讨论他。
聊一圈下来发现这几轮面试都是差不多的流程:
30分钟就面完了规定的内容,剩下的十几分钟就是面试官在“推销”,想办法把他拉进谷歌。
总的来说,面试不是考试,让面试官印象深刻的求职者往往不是只追求做对题目的“机器”,扎实的基本功、优秀的思维能力、出众的沟通能力,加在一起综合的表现才是最重要的。
看到这里,你是不是在了解了更多谷歌面试“内幕”的同时,也觉得面试官也没那么可怕了(甚至还有点可爱??)...
说到底,谷歌面试官不是魔鬼,他们也是人。他们并不是公司派来为难大家的“程咬金”,他们面试你,是在为他们自己寻找未来共同工作的同事。
所以,战胜心理恐惧,以平和的心态稳扎稳打、提升实力,才是我们应该花心思做的事情。