background image

是发生在这个人身上的各种典型事例。因此,只要能在面试中让应聘者给出足以证明自己某

/某些软素质的事例,便可以达到考察的目的。而事例的真实性,便是通过挖掘细节来保

证的

——如果是瞎编的经历,最终多半会支支吾吾语焉不详。

刚当面试官时,曾经碰到这么一个反面案例。当时是一场社招面试,来应聘的是个刚工作不
久的小伙子。起先我对他的评价挺好。后来,在叙述项目经历时,他提到自己曾经做过一套
系统,而我刚好有类似系统的经验,便产生了兴趣,兴致勃勃地接连问了几个该系统设计
思路和实现细节相关的问题。

没想到几个问题下来,他越发紧张,最后突然红着脸说:

“对不起,其实我没做过这套系统,

只是为了丰富项目经验而虚构了一个,但实在编不下去了

……”当时我实际上还不知道这种

方法,只是一时兴起不断追问细节才让他露了马脚。后来,在参加校招面试时从公司组织的
面试官培训中才学到了这招,学名唤作

“STAR 面试法”,专用于软素质考察,感兴趣的读

者不妨搜上一搜。

强攻硬取闯湾区

就个人经验而言,湾区大公司的面试考察点偏硬,面试官出招普遍刚猛有力,没有点铁布
衫之类的硬功夫还真是招架不住。这点突出体现在面试中的编程题上。

在四十五分钟到一个小时的面试中,根据应聘者的解题速度,面试官会抛出一至三个问题
应聘者不仅要迅速想出解题思路,还要在纸上或白板上写出完整且无错的代码(电话面试
时则通过

Google Docs、Collab Edit 等在线协同编辑器,少数情况下也会让应聘者直接在电

话里

“说”代码)。因此,有 ACM 背景的应聘者会占据很大的优势。

相对于大部分国内

IT 公司的面试,这个要求还是相当严格的。不过,面试毕竟不是竞赛,

相对于难度,考题的区分度才更为关键。所以这些编程题的难度普遍不高,离

ACM/ICPC

竞赛题相去甚远。打个不恰当的比方,湾区大公司的面试多少有点儿像考研,都是书本上的
知识点,就看考生掌握得扎不扎实。

在年初的两场面试中,我在解题时分别用到了

C++标准库中的 binary_search 和 partition,

于是两位面试官分别要求我写出这两个函数的完整实现。这两个算法可谓人尽皆知,就看你
理解得是否透彻,边界情况处理得是否干净利落了。年初的面试经历已在《加州求职记》中详
述,此处就不再赘述了。

湾区大公司的面试当然也不是只玩儿硬的,软素质考察一般交由

HR 以及专门的“behavioral 

interview”负责。不过总体来说,湾区大公司技术职位的这类软素质类面试的套路还是比较
明显的,在

Google 上搜一下“60 behavioral interview questions”,很容易找到窍门。应聘者需

要做的就是在面试前将简历中列出的各种项目经历的背景拾掇清楚,以求在面试中做到简
明扼要、实事求是、恰如其分,博得面试官的青睐。

一开始,我对湾区大公司的这种面试风格是持有异议的。毕竟实际工作中没人会要求你在不
借助调试器等工具的情况下一次性编码成功。而且,竞赛型算法题的代码和工业界的代码完
全就是两种套路(在工业界干过几年的前

ACM 选手应该非常有体会)。