腾讯面试官:谈谈我对工程师招聘与面试的理解

前言

因为项目和团队的需要,过去我花了很多时间在招聘和面试的工作上,曾经一度被误以为转行了 HR,不论在朋友圈、微博上,你也许看过我发的招聘广告。

除招聘广告外,主动寻找,认识新的小伙伴也是我招聘的常规手段,期间也面试了不过朋友,每年平均可能面试有300多人,我认为招聘是一件很高成本的事情,无论是在物色人才还是在筛选人才上。

2018年-2020年面试统计

新冠疫情让节后的招聘和面试增加了不少难度,我想可以借此机会以一个 “招聘方”的角度,谈谈自己对工程师招聘的理解。

平台

大平台对技术工程师来说显然有很大吸引力,我经常和面试者打趣,如果不说自己是腾讯面试官,估计没几个人会搭理我。

应聘者选择大平台,往往一开始会固化一些浅层次的感性认知,ByteDance年轻Geek阿里喜欢开源造轮子腾讯技术保守业务导向等等,这些认知都没错,但我想说这对个人发展的影响并不大,大平台都有很高的包容性,以我经历的例子来说,2018年业界对鹅厂口诛笔伐的技术栈落后,封闭等等问题,一年多后,相信很多人都看到腾讯在技术文化的变化。另外我也没有看到团队的小伙伴因为加入腾讯的原因,就放弃了对技术和开源的热情,例如 overtrue

微博截图

被感性认知而左右平台选择的情况,我时常在和一些实习生、校园招聘和面试2-3年工作经验者交流中发现,与平台相比,其实平台中的 业务团队 对个人塑造才是更主要的。

业务

举例来说,像前端开发的岗位,一开始就在成熟的 ToC 端海量用户业务中成长,和在 ToB 端面向交付的业务中成长,他们在前端的技术栈上的差异会非常的大。

前端技术栈

Tips: 上图使用 Whimsical 制作。

当然也经常能看到很多候选人能在自己业务外,全方位地学习和掌握各方面的技术能力,这也是招聘方更乐意接受的人才,因为业务的变动,是随时随地都在发生的。

对于在校学生而言,不见得都有自主选择业务的权力和能力,一方面是因为存在信息差异,另一方面是缺少议价能力,而这两方面的根本原因还是自己面向社会的准备程度。

对于2-3年经验者而言,不妨多了解岗位背后的业务形态,每次面试最后我都会让面试者提问,一般问题都会是,“会做哪些项目?”,虽然每次我都想尽可能详尽地回答,但毕竟双方处于一个信息非常不对等的位置,不是你理解的“微信”就代表充满挑战,也不是“内部系统”就代表成长会受到限制,更重要的,在自己技术未定型前多思考和坚定自己的方向,我见过太多因为被业务拖着走而最终技术流于平庸的面试者。

团队

我经常和团队小伙伴开玩笑,和同事待一起的时间远远超过和家人一起的时间,团队的重要性显而易见,俗话说“跟对的人”,一个团队的氛围,文化很大程度上受团队负责人的影响,如果有机会尽可能地多了解团队负责人的风格和原则。

CDC管理团队合照

很多技术团队为了打造团队品牌,都会做很多社区的分享,甚至“造轮子”,一方面我羡慕这些团队的凝聚力,在业务外能长期运营团队品牌需要整个团队的坚持和努力,另一方面我个人更想淡化团队对个人的影响,毕竟工作只是生活的一部分,工作上大家以团队的步伐共同进退,工作外每个人都有自己的空间。

了解一个团队并不只是看过他们的博客,用过他们开源的作品,加入一只“明星”团队不代表自己就能成为“明星”,作为面试官我关注候选人能为团队带来的正向作用,同样的,作为面试者应该关注团队对自己成长的帮助,而不只是被团队的光环所吸引。

面试

工程师的面试有很多套路,不同团队根据自身的需要在面试中会有侧重的考察方向,面试者都会提前大量刷 LeetCode面经,国内互联网公司大都爱问基础和深度的技术问题,例如这几道被必问必会的题目:

这导致技术面试的交易成本不断在提高,就算面试者把所有技能点的问题都能答上了,招聘方也很难鉴别面试者是提前背好了还是真的掌握了,面试造火箭,进去拧螺丝,确实是行业当前的现状,而面试最直接的手段就是 提问交流

提问

曾经我也习惯列一个问题列表,针对每个技术点去问面试者,后来慢慢发现这种方式并不能很好鉴别人才,除非有专门针对面试做了准备,否则几年的工作经验并不可能让一个工程师精通掌握所有技能,对工程师来说,面试的时候可能是职业生涯中技能储备最完备的时候。

后来我决定不再针对一个个问题提问面试者,而是问自己:

  • 我招聘的是一个什么岗位?需要掌握哪些技能?
  • 我是否已经看到了他的技术特长和亮点?
  • 我看到的和他说的是否一致?
  • 团队里是不是有人做得比他更好?
  • 我是否清楚他想要的东西?我能不能给到他?

这个改变帮助我大大提升了面试的效率,也更快决策人选是否匹配,对具体技能的评估,我着重在简历中提及的项目经验上,因为这部分是面试者最熟悉和最能体现能否胜任岗位的地方,除了让面试者阐述过往经历的实现方法、过程和成效,更主要是代入岗位的需求,去了解面试者是否能在实际的岗位中解决同样的问题。

交流

面试的交流非常的短,如果完全由面试官主导,那就变成了一问一答的知识竞赛。与一对一的交流相比,我更喜欢把交流扩展至整个社交媒体,去看看面试者的个人博客、Twitter、微博等等,我相信那是面试者更真实的展现。

面试的交流都应该带目的的,否则就成了闲聊,例如我问“你在目前团队中的作用和位置”时,我希望了解你是因为自己原因离开还是因为发展不顺。面试者当然很容易察觉面试官的意图,面试官可能又需要再旁敲侧击一点点挖掘信息,面试者又步步提防,我很反感这样低效无质量的交流,后来我发现打破这样的“囚徒困境”最好的方式就是自己先以真诚的态度对待交流:

  • 明确提出自己的忧虑
  • 和面试者阐述会遇到的困难
  • 对面试者的回答做有效反馈
  • 留联系方式,保持进一步交流

这样的交流,在3-5年经验者的面试中有很好的效果,一般已经有这样工作经验的工程师,他的工作习惯、代码能力、他的目标和方向已经很难有根本性变化,面试的交流如果不能让彼此都清楚对方的需求,那注定是一次失败的面试。

总结

写了很多内容,总结起来就是两句:

  1. 选择平台中的业务和团队比选择平台重要
  2. 面试不是提问会什么而是明确双方需求是否匹配
  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址https://www.infoq.cn/article/HZ3oXYdpTJlMcYq9Va51
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券