你好,我是杨波,拍拍贷研发总监,资深架构师。一晃在软件研发行业待了十五年多,不管是之前在一线参与实际项目研发,还是近年从事架构和管理工作,工程师招聘一直是我的工作重心之一。回想我面试过的程序员数量,即使没有一千,也一定不会少于八百,如果说我面人无数,我觉得一点也不夸张。
面试面得多了,自然会形成一个自己的面试体系,有自己的面试路数,最近几年我招人基本一直沿用这个路数。而通过我面试的程序员,事后证明他们的工作表现也比较出色,说明我的这个路数还是比较靠谱的。今天我想把这个路数以及其背后的逻辑分享给你,希望对年轻工程师准备面试提供一些参考。这个面试路数并不复杂,关键看三点:
编程能力(必须),考查候选人能不能实际动手写程序,有没有基本的编程思维。
技术技能经验(必须),考查候选人之前参与过哪些实际项目,积累了哪些实际的技能经验。
软性能力(参考),考查候选人的沟通合作能力如何,心理成熟度如何,管理和领导力如何。
下面,我就这三点展开分享。为简化说明,本文假定前提是面试 2~6 年经验的程序员,以 Java 技术栈为背景。如果在这个范围之外,虽然面试的内容、侧重点和能力要求会有所不同,但是核心考查点基本还是这三点。