在 Reddit 负责招聘的 Elena Sparger 在官方博客上介绍了 Reddit 的技术招聘流程,并给出了一些有益的建议。
Reddit 的招聘流程其实没有那么复杂,从简历筛选到入职一共也就五个步骤:筛选简历、技术电面、现场面试、发录用通知书、入职报到。
技术电面
在简历通过筛选之后,就开始技术电面。电面只是作为一般性的能力测评,考察候选人的基本技术能力,比如对 Web 和 Web 安全问题的了解。这一轮的面试带有“半 QA 半 Dev”的风格,你可能不会知道每一个问题的答案,不过没有关系。这轮面试的目的是划清候选人的技术知识边界,看看他们是否与职位要求的技能相匹配。候选人在回答问题时最好可以解释一下自己是如何知道这个答案的,以及为什么要选择这个答案。
贴士:在接受电话面试的时候,最好先准备好一台已经联网的电脑,并保持手机信号畅通。
现场面试
Reddit 的现场面试分为六轮,其中三轮与开发技术相关,三轮与 QA 相关,整个过程可能持续五个小时左右。
现场面试会被安排在一个房间里进行,里面有一个白板,在面试过程中可以使用这个白板。候选人可以带自己的电脑来,也可以使用 Reddit 提供的电脑。之所以需要一台电脑,是因为 Reddit 想看到候选人真正的编码能力。Reddit 在着装要求上没有硬性规定,所以候选人可以穿自己觉得舒服的衣服前往面试。
现场技术面试
现场技术面试主要涉及以下两个方面的内容。
- 代码和算法。这一部分主要考察候选人的一般性软件工程概念和专业领域的知识(比如前端、后端、机器学习,等等)。
- 系统设计。这一部分不涉及代码,主要是系统设计方面的问题。比如“如何构建具有 X 功能的服务”或者“如何对已有的服务进行伸缩”。这个时候可以利用房间里的白板与面试官展开讨论。
在回答技术问题的同时,不要忽略了与面试官之间交流的重要性。面试的目的并不完全是考擦候选人是否知道问题的答案,同时也会考察候选人的团队协作能力。人不是万能的,如果候选人不知道如何回答一个问题,可以适当地求助面试官。
- 仔细听取面试官的意见。有些问题面试官已经问过别人几百遍了,他们可能知道很多解决方案。
- 对于给出的解决方案,总结其优缺点。产生想法比是否能够真正实现更加重要。
- 欲速则不达。不要急着写代码,先把问题想清楚了再动手。
现场 QA 面试
相比技术面试,QA 面试会相对轻松一些,而且通常是由其他团队的人来主导面试,旨在考察候选人技术之外的能力。
- 候选人 AMA(Ask Me Anything)。面试官可能会问候选人任何问题,旨在更好地了解候选人。候选人也可以问 Reddit 任何问题,加深对 Reddit 的了解。
贴士:准备好与公司有关的问题,比如文化、规章制度、日常生活,等等。
- 跨职能面试。这一部分主要考察候选人的跨团队职能工作能力。除非候选人是面试基础设施团队,否则大部分情况下都需要与产品团队打交道。候选人需要具备良好的沟通能力和解决冲突的能力。主导这一部分面试的可能会是 Reddit 的某个产品经理,候选人可以抓住这个机会向面试官提问有关 Reddit 产品线的问题。
贴士:可以事先准备一些曾经经历过的场景,那些有助于展示候选人沟通能力的事情。
- 招聘经理面试。到了这一轮,表示面试已经接近尾声了。招聘经理从更高的层次以及候选人所经历过的项目来评估候选人与职位的匹配情况。此时,候选人可以问一些有关 Reddit 项目的情况、公司的架构,以及团队的路线图。
面试过后
面试过后就是等待,一周内会出结果。
感谢郭蕾对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论