关于招聘

门内门外看招聘

做者: 连城  来源: 程序员杂志  发布时间: 2017-11-22 14:28  阅读: 20460 次  推荐: 33   [收藏]  程序员

摘要:技术招聘也是技术活。上下求索的不仅是应聘者,面试官也一样绞尽脑汁。在本文中,做者前后回顾了身为应聘者和面试官两种角色的经历,带你一瞥国内外技术招聘的那些事儿。面试

  原文发布于2013年算法

  年初加州求职不利,撰文《加州求职记》一篇,蒙列位看官抬爱,短短两天时间点击量破万。以后,收到《程序员》杂志编辑的约稿邮件,询问可否结合既往的招聘经历写一写国内外招聘的异同点。毕业至今,除去年初尝试的Google、Amazon、Facebook三大公司,身为应聘者参加的正式招聘面试就只有多年前加入百度的那次而已。相较之下,在百度作了两年招聘,身为面试官的经验反却是丰富多了。思忖了一下便应了下来,打算结合我的经历写写招聘面试这档事。须要说明的是,这里记述的只是我的的一些经验,不具有通用性。文中面试官角度的意见不能表明百度乃至国内IT企业的广泛特色;一样,做为应聘者的意见也没法表明湾区大公司的广泛特色。编程

  面试官的心思网络

  招聘面试,就是面试官和应聘者之间的沟通和过招。一般状况下,在面试中占据主动地位的都是面试官。应聘者可否经过面试,便取决于可否在几十分钟内证实本身具有面试官所表明的组织须要的素质。俗话说知己知彼方能百战不殆,面试官大人们都在想什么呢?他们但愿看到的素质,大致可分为软硬两类。数据结构

  所谓硬素质,就是算法、数据结构、程序语言等基础技能及体系结构、操做系统、网络、数据挖掘、分布式系统等细分专业方向技能的掌握状况。硬素质之因此谓“硬”,便在于这些素质出题一考便知,应聘者基本上没有蒙混过关的可能。编辑器

  所谓软素质,是那些虚无缥缈,难以经过普通考题判断出来的东西,如学习能力、抗压能力、沟通能力、逻辑思惟能力、价值观取向等。这一罗列,是否是很眼熟?分布式

  很多应聘者都会在简历中加上“自我评价”一栏,其中列上“学习能力优秀”、“抗压能力良好”、“沟通能力佳”、“逻辑思惟能力强”,我刚毕业时也未能免俗。 其实呢,这几句话写了也是白写:什么也证实不了,空占篇幅,甚至还可能会起反效果。简历上仍是写些实打实的东西为好,软素质不妨在合适的时机经过推荐信等方式表达,或者干脆留待面试时交由面试官亲自考察。函数

  不难想象,软素质比硬素质要更难考察,甚至多少有点“跟着感受走”的意思。很多面试官都不擅长考察软素质,新手尤甚。逻辑思惟能力和沟通能力倒还好说,面试时看你反应够不够快,说话有没有条理,基本上能给出比较靠谱的评价。这学习能力、抗压 能力、价值观之类的怎么考?说穿了就是三个字:挖细节。工具

  诚然,判断一我的的软素质,每每须要长期的相处和观察。但咱们最终的判断依据,其实是发生在这我的身上的各类典型事例。所以,只要能在面试中让应聘者给出足以证实本身某种/某些软素质的事例,即可以达到考察的目的。而事例的真实性,即是经过挖掘细节来保证的——若是是瞎编的经历,最终多半会支支吾吾语焉不详。

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

  没想到几个问题下来,他愈加紧张,最后忽然红着脸说:“对不起,其实我没作过这套系统,只是为了丰富项目经验而虚构了一个,但实在编不下去了……”当时我实际上还不知道这种方法,只是一时兴起不断追问细节才让他露了马脚。后来,在参加校招面试时从公司组织的面试官培训中才学到了这招,学名唤做“STAR面试法”,专用于软素质考察,感兴趣的读者不妨搜上一搜。

  强攻硬取闯湾区

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

  在四十五分钟到一个小时的面试中,根据应聘者的解题速度,面试官会抛出一至三个问题,应聘者不只要迅速想出解题思路,还要在纸上或白板上写出完整且无错的代码(电话面试时则经过Google Docs、CollabEdit等在线协同编辑器,少数状况下也会让应聘者直接在电话里“说”代码)。所以,有ACM背景的应聘者会占据很大的优点。

  相对于大部分国内IT公司的面试,这个要求仍是至关严格的。不过,面试毕竟不是竞赛,相对于难度,考题的区分度才更为关键。因此这些编程题的难度广泛不高, 离ACM/ICPC竞赛题相去甚远。打个不恰当的比方,湾区大公司的面试多少有点儿像考研,都是书本上的知识点,就看考生掌握得扎不扎实。

  在年初的两场面试中,我在解题时分别用到了C++标准库中的binary_search和partition,因而两位面试官分别要求我写出这两个函数的完 整实现。这两个算法可谓人尽皆知,就看你理解得是否透彻,边界状况处理得是否干净利落了。年初的面试经历已在《加州求职记》中详述,此处就再也不赘述了。

  湾区大公司的面试固然也不是只玩儿硬的,软素质考察通常交由HR以及专门的“behavioral interview”负责。不过整体来讲,湾区大公司技术职位的这类软素质类面试的套路仍是比较明显的,在Google上搜一下“60 behavioral interview questions”,很容易找到窍门。应聘者须要作的就是在面试前将简历中列出的各类项目经历的背景拾掇清楚,以求在面试中作到简明扼要、实事求是、恰如其分,博得面试官的青睐。

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

  但反过来一想,周围能达到这个水准的,无一不是牛人、聪明人。再者这种考法对就是对错就是错,高度统一,易于断定,在大规模面试中更利于统一面试官的评判标准,从而达到严格把关面试质量的目的。固然,它的缺点也比较明显,好比对软素质考察不足,应聘者自由发挥余地较小,很难看出应聘者创造性的一面等。此外, 因为算法题的代码风格和工业代码风格迥异,这类面试也较难评判应聘者在实际工做中的表现。

  须要强调的是,我年初参加的只是普通技术职位的面试,观察到的内容十分有限。上述结论彻底基于我的经验,很难说有多少通用性。

  刚柔并济战中关

  反观当年本身操心招聘那些事儿的时候,我和同为面试官的同事们在面试中更为关注的则是软素质以及实际工做能力——尤为是社招。

  咱们一直信奉的一点是,只要能达到咱们的基本要求,应聘者的技术能力等硬素质是比较容易培养和锻炼的,而沟通能力、学习能力、逻辑思惟能力、抗压能力等软素质则相对较难培养。至于看中实际工做能力,那固然是由于但愿应聘者入职后能尽快投入战斗。

  本着这样的原则,我在面试中通常会交叉运用如下三种方式进行考察。

  1. 聊项目经验。

  2. 出较简单的基础试题。

  3. 出较困难的渐进开放型试题。

  对校招面试,因为应届生的项目经验每每比较单薄,可挖掘点很少,主要采用第二种和第三种;对社招面试,则三种并用。

  聊过往项目经验是个很好的软素质考察手段。在这个过程当中,每每能够捕捉到不少值得深度挖掘的典型案例。我通常喜欢让候选人挑过往经历中最为困难或最为得意的一个项目来说。在候选人的叙述过程当中,我会不断要求对方补充各类细节,例如关键设计背后的决策过程,难点攻坚过程当中作过哪些尝试,寻求过哪些帮助,参考过哪些资料,团队在项目中碰到过哪些问题,诸如此类,不一而足。

  经过深刻挖掘这些问题,应聘者的形象也会迅速丰满起来。例如,有些应聘者会在设计阶段多方尝试,或是在认为团队走入歧途时主动大声疾呼,也有人会由于“上面要求这么搞”而放弃原则消极听从。孰优孰劣,一目了然。

  聊完项目经验,应聘者的紧张情绪也基本平缓下来,这时就能够拿出一两道基础试题小试牛刀。基础试题的形式和做用与湾区大公司采用的编程题相似,但通常不要求写出完整代码。它的做用在于快速判断应聘者的基本能力,进而决定后续的面试节奏和时长。

  若是应聘者能够比较顺畅地给出解答,那么即可以进入下一个环节。反之,若是应聘者给出的答案错得离谱,或者几经提示仍然没有丝毫进展,那么也就不太必要进行后续的面试了。

  渐进开放型试题主要用于考察逻辑思惟能力和沟通能力。这类试题难度较大,且不必定有惟一的标准答案,可逐层发散,通常不期望应聘者能独立给出完整解答。出难题显然是要给应聘者设置障碍,但最终目的毫不是将应聘者难倒。这里是在考察应聘者在面对困难问题时可否对问题进行恰当的分解,可否在一团乱麻中找出最早要解决的问题,可否将直接阻挡本身前进的障碍清楚地描述出来,是否勇于、善于提问,以及在获得提示以后,可否迅速运用提示中的线索翻越障碍。

  若是应聘者在拿到题目以后由于没有头绪而不知所措,我便会向他解释这类试题的用意,鼓励他不要担忧一时没有头绪,尽管大胆地和我交流本身当前的思路并寻求帮助。因而,在这类试题的考察中,气氛每每会更趋向于讨论而不是面试。这样一来,应聘者会更为放松,我做为面试官也得以更为准确地评判应聘者的沟通能力和逻辑思惟能力,候选人最终找出答案后本身也会有成就感。某次社招面试中,曾经有一个没有什么分布式系统背景的小伙儿,在这样的讨论中自行总结出了CAP原理,让我非常惊喜。

  还有一次校园招聘,我让候选人改进他本身的一个项目中的客户端自动升级机制,来回沟通了几回以后候选人思路泉涌,很快画出了若干种更加合理的设计。事实证实,在面试中能有相似表现的应聘者,多半都能成为中流砥柱。

  这套路数看似刚柔并济、滴水不漏,却也有它的命门:那就是面试标准过于模糊,难以统一。若是组织不大,面试官人数少且精,倒还好说。假若是员工数破万的大公司,那就很难保证全部部门、全部面试官的面试标准了。在百度时,整个招聘过程还会辅以各类流程措施和规范,以期尽可能弥合面试官之间的个体差别。这个问题要是解决不到位,其危害对校园招聘这种集中式大规模招聘活动是十分致命的。

  伯乐的赌局

  面试的最后一个环节十分敏感,那就是决定候选人是否经过面试。哪一匹才是千里马?这是伯乐们永恒的赌局。百度的面试是5分制,3分以上经过,2分如下不经过。有些面试官——尤为是新面试官——比较“仁慈”,对于一些落在及格线上的候选人总会很纠结,最后给出一个2.5分。一旦出现2.5分的候选人,咱们就会问面试官一个问题:把这我的放到你的团队,你要不要?【注:百度的面试每每由不一样团队的面试官交叉进行,每一个面试官都常常对其余团队的候选人进行面试。】若是回答是确定的,那么咱们便再安排一轮面试继续考察,不然便终止面试流程。

  “2.5候选人”分两种,第一种虽然就答题状况来看勉强能够经过,但就是给人的感受不太舒服,或者说第一印象不够好。这其实是候选人可能存在软素质问题的一个警钟。若是面试官本人不指望这个候选人加入本身的团队,那么其余团队负责人多半也不肯意。这个判断看似过于严苛,但其背后倒是历往惨痛经验的总结。

  另外一种则更为有趣,这类候选人虽然答题状况通常,但仍然让人想要给他一个机会。我就曾经碰到这样一个案例。当时我是二面面试官,一面面试官十分纠结,最后给出面试结果是2.5。我问他,给你,你要不?没想到他绝不犹豫地说“要”,因而我便决定对这名候选人进行二面。候选人挺年轻,双臂还刺着纹身,让我着实印象深入。不过面试过程当中,发现这个小伙儿对技术颇有热情,很是有干劲,头脑也比较灵活。实际上他就是上面提到的在后续的面试过程当中独立总结出了CAP原理的那个候选人。后来这个“2.5候选 人”果真没有让人失望,成长迅速,很快就成了骨干。因此说,面试这档事,不管对应聘者仍是面试官,都是个碰运气的事儿。

  关于招聘面试的文章一抓一大把,不过同时站在两个角色上进行总结的彷佛很少。但愿个人这点片面的经验能给你带来一些启发和帮助。

相关文章
相关标签/搜索