面试流程

  • 电话面试
  • 远程面试
  • 现场面试

在电话面试中,要用尽可能简洁和形象化的语言讲述问题;

在远程面试中,重点考察的是编码的能力,要注意以下三点:

  • 想清楚再写
  • 使用单元测试
  • 注意代码风格 在编码之前,应该先写写单元测试(或构造一些边界情况)

现场面应该注意:

  1. 提前规划好路线及估算好时间,预留30min作缓冲
  2. 提前追备好几个问题问面试官

一场面试中的环节

  1. 自我介绍 (30s - 1min)
  2. 项目经历 (5min - 10min)
  3. 技术考察 (40min - 50min)
  4. 应聘者提问 (~5min)

自我介绍

暖场用

项目经历

建议使用以下的框架讲述自己的项目经历

  • Situation (简述项目的背景,如规模,功能,目标群体等等)
  • Task (已完成的任务,注意用词:参与 vs 负责)
  • Action (做了什么工作,怎么做的)
  • Result (自己的贡献,完成了多少的功能,做了多少的优化,提升了多少的功能)

常见套路:

  • 项目中遇到的最大的问题是什么?如何克服的?
  • 从这个项目中学到了什么?
  • 团队协作中遇到过什么问题?如何解决的?
  • 为什么跳槽/为什么选择与本专业不同的职业?

回答为什么跳槽这类的问题,模板:在原来的工作岗位上没有了激情,寻求新环境改变、提升自己. 比如说自己在原工作上做了好多年,技能上没有了上升的空间,寻找 一家新的公司获得提升.

技术考察

通常是题目的考察。一定要注意,在写代码之前先和面试官沟通好,明确题意是什么,再讲述自己的解题思路,还要说说自己构造的测试用例,体现自己思考问题的严谨性与全面性。

应聘者提问

不要问什么公司未来的发展战略的问题,作为一线的开发者,问问关于自身岗位的问题,也不要去谈薪资,谈你是否会给我offer之类的问题.

面试能力的考察

  • 沟通能力
  • 学习能力

在沟通能力中,常见的套路是面试官提出一个描述并不清楚的问题,试图让面试者通过反复的沟通理解题意。从而,面试者要有主动沟通的意识 在考察学习能力方面,常见的两个套路:1. 最近在看什么书或项目?2. 试图让面试者解决他所不熟悉的领域问题,或者一个新概念,让面试者试图解决问题。 沟通能力和学习能力的考察常常交织在一起,要注意灵活应对。

总结

  • 主动沟通意识
  • 想清楚再写
  • 先和面试官讲清楚解题的思路
  • 进行单元测试

参考资料

  • 何海涛. 剑指offer第二版