在 Reddit 负责招聘的 Elena Sparger 在官方博客上介绍了 Reddit 的技术招聘流程,并给出了一些有益的建议。
Reddit 的招聘流程其实没有那么复杂,从简历筛选到入职一共也就五个步骤:筛选简历、技术电面、现场面试、发录用通知书、入职报到。
技术电面
在简历通过筛选之后,就开始技术电面。电面只是作为一般性的能力测评,考察候选人的基本技术能力,比如对 Web 和 Web 安全问题的了解。这一轮的面试带有“半 QA 半 Dev”的风格,你可能不会知道每一个问题的答案,不过没有关系。这轮面试的目的是划清候选人的技术知识边界,看看他们是否与职位要求的技能相匹配。候选人在回答问题时最好可以解释一下自己是如何知道这个答案的,以及为什么要选择这个答案。
贴士:在接受电话面试的时候,最好先准备好一台已经联网的电脑,并保持手机信号畅通。
现场面试
Reddit 的现场面试分为六轮,其中三轮与开发技术相关,三轮与 QA 相关,整个过程可能持续五个小时左右。
现场面试会被安排在一个房间里进行,里面有一个白板,在面试过程中可以使用这个白板。候选人可以带自己的电脑来,也可以使用 Reddit 提供的电脑。之所以需要一台电脑,是因为 Reddit 想看到候选人真正的编码能力。Reddit 在着装要求上没有硬性规定,所以候选人可以穿自己觉得舒服的衣服前往面试。
现场技术面试
现场技术面试主要涉及以下两个方面的内容。
代码和算法。这一部分主要考察候选人的一般性软件工程概念和专业领域的知识(比如前端、后端、机器学习,等等)。
系统设计。这一部分不涉及代码,主要是系统设计方面的问题。比如“如何构建具有X功能的服务”或者“如何对已有的服务进行伸缩”。这个时候可以利用房间里的白板与面试官展开讨论。
在回答技术问题的同时,不要忽略了与面试官之间交流的重要性。面试的目的并不完全是考擦候选人是否知道问题的答案,同时也会考擦候选人的团队协作能力。人不是万能的,如果候选人不知道如何回答一个问题,可以适当地求助面试官。
现场 QA 面试
相比技术面试,QA 面试会相对轻松一些,而且通常是由其他团队的人来主导面试,旨在考察候选人技术之外的能力。
贴士:准备好与公司有关的问题,比如文化、规章制度、日常生活,等等。
贴士:可以事先准备一些曾经经历过的场景,那些有助于展示候选人沟通能力的事情。
面试过后
面试过后就是等待,一周内会出结果。