近期有机会坐到面试桌的另一面,感悟到一些当面试官的心得,和大家分享一下技术岗的招人、面试经验。希望能帮到读者了解更多面试双方的心理。

@[toc]

作为面试官

作为面试官,最核心的任务就是找到适合目标职位的人,首先自己心中需要明白,做这份工作需要的核心能力是什么,在准备面试问题的时候围绕这些点来沟通,当然除了核心能力,一些通用能力也需要在对话中给出一定评分。
往往会由表入里地去尝试了解

  • 技能水平(体现在工作经历中)
  • 工作经验(知识结构与发展规划)
  • 能力水平(成长空间)
  • 沟通协作能力
  • 是否能做好自我管理和保持自驱
    等等方面来综合打分,短短一两个小时的时间很难看出究竟,所以最考验面试官的,是发问的思路和把控对话的节奏,在有限的对话中挖掘出最多的有用信息。

面试前

候选人给到的第一个印象来自简历,它是整场面试的基础。以下几点是面试官比较看重的

  1. 候选人准备简历是否用心(排版、错别字、内容信噪比、专业程度等等)
  2. 过一遍简历提及的经历,勾勒一个职业形象,从技能、经验、能力这三个核心要素上判断是否适合这个职位
  3. 看一下哪段经验是着重描写的,做些深挖的准备(比如了解下用到的技术栈)

面试中


可以从自己的自我介绍开始,简要的一两句话。

很多大公司会直接要求面试者做自我介绍,我觉得从面试官开始的自我介绍可以使面试者放松,从而更好地激发他表现出自己应有的水平。

简历中的信息

正式开始后第一个阶段,要确认简历描述的真实性。这份简历打动了你,所以你要知道坐在你对面的那个人是不是就是 TA 勾勒出的那个。

一般我会从最近的一份工作开始,问以下几个方面

  • 做了什么项目,项目的阶段
  • 候选人在项目中担任的角色,发挥了哪些作用
  • 探讨一些工作过程中遇到的问题

    如果说没有会造成一些负面分,因为尝试了解无果,实在想不起来的话候选人可以聊一些周边话题,但最好对简历中的内容有所准备

    • 架构问题
    • 理论基础
    • 工程能力
    • 优秀实践
      • design pattern
      • 印象深刻的查错过程
    • 代码习惯
    • 哪些地方可以做的更好
  • 项目给你带来的成长有哪些

走过几份重要的工作后,我会问一些统筹性的问题,在沟通中进一步了解面试者,这部分也可以由 HR 来问

  • 职业规划
  • 跳槽原因
    • 为什么想得到这份工作
    • 为什么选择这份工作

技术问题

准备一块白板无疑再好不过

笔试或口述问题,第一次描述可以有意不谈边界

  • 考察知识深度和广度
  • 考察解题思路
  • 考察边界处理敏感度
  • 聊一些性能分析的话题

开放性问题

开放性问题让你对面试者有一个更感性的认识,这里列了几个,大家可以发散思维

侧面了解面试者的谈吐、性格、兴趣、自驱能力、信息获取能力、分享意愿等等

  • 对自己的发展规划是怎样的
  • 推广了哪些优秀实践
  • 行业这几年的变迁、针对这些变迁的看法
  • 关注哪些技术不相关的领域,有哪些获取信息的渠道
  • 如何做调研分析
  • 完成过最有难度 / 成就感的事情
  • 遇到过的最大挑战
  • 看到过优秀的 / 差劲的设计
  • 如何达到最佳工作状态
  • 工作中最享受什么

简要介绍情况

问的差不多了,有意思的话可以介绍一下公司的情况,部门的组成情况,职位具体从事的工作,一般的工作流。

这个环节主要是介绍 + 拉票,可以突出自己公司的优势。

  • 公司情况
    • 做什么业务
    • 行业怎样,行业中什么样的水平
    • 价值观
    • 近期规划,远期规划
  • 工作内容、时间、强度、环境
    • 需要做到什么程度
    • 组中会和谁共事
    • 向谁汇报
    • 升职机会
  • 薪资结构、福利

询问面试者,对职位或者公司有什么问题,对问题作出回答。

面试不是单向筛选,这个环节在一个完整的面试过程中必不可少,它的重要性不亚于面试官询问的所有问题。除了展示面试官、公司的专业性以外,同时给出人性的面试环境,给面试者留下一个更好的印象。

面试后

面试完和 HR 沟通一下,告知面试者的技术水平、性格、沟通、成长空间等各方面的评价,并给出建议。


作为面试者

作为面试者,最主要的就是展现自己应有的水平,不论是技术上还是沟通上。

面试前

  • 自己竞争这个职位的优势是什么
  • 为什么想要得到这份工作
  • 外表整理一下
  • 放松,不轻浮,娓娓道来

面试中

假设面试官没看过你的简历,做一个有亮点的自我介绍,最好引一两个实际发生的例子,有助于建立立体印象。

核心问题

  • 证明自己的能力满足职位要求
  • 是否在自己的职业规划中
  • 能给团队带来什么

“你还有什么问题要问我吗?”

针对上面列出的一些点,哪些存疑的,可以针对对方身份来询问。比如平级面的时候,询问一些工作内容;项目组长面的时候,询问项目内容、进度、人员构成等等;CTO 面的时候可以问一些技术方针、目前团队的长处和不足、如何管理、如何克服、如何发展、团队项目如何配比、或者一些涉及价值观上的问题;HR 面的时候可以就薪酬制度、福利、休假等话题着手。

这个时候也可以通过抛出问题来展现自己的眼界、技术储备、价值观等等,越是高管越可以深入聊一下,千万不能错过这个互相了解的机会,而且如果没有问任何问题,会显得缺少求职意愿。

行业相关问题

  • 行业如何,前景如何
  • 公司竞争力如何

公司相关问题

  • 工作环境怎样
    • 工作时间怎样?加班?弹性?
    • 有助于集中精力吗?
    • 协作流程怎样?
  • 公司基本情况
    • 人事架构
    • 薪资架构
    • 技术架构
    • 人员流动性
    • 有培训嘛?

团队相关问题

  • 团队人员构成
    • 人员流动性
    • leader 背景
  • 项目内容
    • 最大挑战是什么?如何解决的?
    • 有什么不满意的要在将来改进?
    • 觉得目前做的很好的方面?
    • 如何做选型?
    • 项目技术栈变过嘛?有的话迁移过程怎样?
    • 代码质量(如何保证?)
    • 最近期的一次重构是做的什么内容?
  • 团队如何协作
    • 开会频率?(是否有代码评审?需求评审?如何做好排期?)
    • 开发模式、流程?瀑布?敏捷?效率如何?合适团队嘛?
    • 迭代周期(报告周期?是否有做每个周期的计划?OKR 还是 KPI?如何做的目标管理?是否有 review?)
    • 团队 IM 用的哪个?做了哪些 IM 集成?
    • 发布流程(做了哪些自动化?如何保证发布不出错?有无服务中断要求?发布完是否有 review 会?)
    • 备份流程(是否有?)
    • 故障流程(是否有故障演练?是否有错误收集?如何复现 / 调试线上问题?)
  • 技术栈
    • 技术债有哪些?
    • 现有技术栈是什么样的?
    • 将来的规划
    • 迭代周期

职位相关问题

  • 能得到什么提升?(具体一点可能问的是直接问面试官认为他的成长最大的是哪方面?)
  • 升职机会
  • 人员流动性
  • 在公司的角色,上下游分别是?
  • 工作职责

面试官

可以了解一下面试官,问一些他工作中的事,从侧面了解一下公司

  • 做什么工作
  • 工作期限
  • 碰到什么难点
  • 有没有什么开源项目

薪资

薪资谈判是一个博弈的过程,一般小公司的薪资比较随意,没有很健全的体系,你可以从面试官面你的过程中感觉一下他对你各方面水平的评价,提出一个自己比较舒服的薪资要求。

  • 询问面试官公司薪资结构
  • 薪资之外有什么福利
  • 税前税后
    • 如何交
  • 根据对方的说明来报价
    • 根据能力定工资
    • 根据行业薪资区间
    • 根据能发挥的价值、契合度

面试后

  • 总结自己的表现
  • 心态放平,面试就像相亲,不只看能力,也看缘分
  • 一般一周会出结果,如果没有联系你,可以主动联系一下对方询问原因
    • 原因也不一定是真的,他们才不会告诉你他们预算不够 / 你是备胎这个大实话啊啊啊

一些通用的技巧

  • 所有的谈判都需要余地,话不要说死
  • 多用客观角度
  • 尊重对方,话要有专业性

朋友做的智能控制器项目 Welle众筹 啦!喜欢玩智能设备的来一发嘿