程序员的自我修养

原则与技巧

面试方式

一般程序员的面试分为:代码笔试+问答面试。

代码笔试主要就是考察能力,问答主要是对项目以及个人的情况了解。

STAR面试法

这里提到了一种面试原则,叫做STAR面试法.STAR”是SITUATION(背景)、TASK(任务)、ACTION(行动)和RESULT(结果)四个英文单词的首字母组合。

在招聘面试中,仅仅通过应聘者的简历无法全面了解应聘者的知识、经验、技能的掌握程度及其工作风格、性格特点等方面的情况。而使用STAR技巧则可以对应聘者做出全面而客观的评价。

  • 背景(SITUATION): 通过不断提问与工作业绩有关的背景问题,可以全面了解该应聘者取得优秀业绩的前提,从而获知所取得的业绩有多少是与应聘者个人有关,多少是和市场的状况、行业的特点有关。
  • 工作任务(TASK): 每项任务的具体内容是什么样的。通过这些可以了解应聘者的工作经历和经验,以确定他所从事的工作与获得的经验是否适合所空缺的职位。
  • 行动(ACTION): 即了解他是如何完成工作的,都采取了哪些行动,所采取的行动是如何帮助他完成工作的。通过这些,可以进一步了解他的工作方式、思维方式和行为方式。
  • 结果(RESULT): 每项任务在采取了行动之后的结果是什么,是好还是不好,好是因为什么,不好又是因为什么。

面试人员应该具备的技能

一个优秀的程序员应该具有怎样的技能:

  • 基础扎实
  • 主动思考
  • 爱学习
  • 有深度
  • 有视野
  • 扎实的编码经验

校园招聘与社会招聘

校招和社招的是不一样的,校招会更加关注基础知识,而社招会更加关注之前做过的项目情况。

需要注意的地方

  • 面试题目: 根据你的等级和职位变化,入门级到专家级:广度↑、深度↑。
  • 题目类型: 技术视野、项目细节、理论知识,算法,开放性题,工作案例。 细节追问: 可以确保问到你开始不懂或面试官开始不懂为止,这样可以大大延展题目的区分度和深度,知道你的实际能力。因为这种关联知识是长时- 期的学习,绝对不是临时记得住的。
  • 回答问题再棒,面试官(可能是你面试职位的直接领导),会考虑我要不要这个人做我的同事?所以态度很重要。(感觉更像是相亲)
  • 资深的工程师能把absolute和relative弄混,这样的人不要也罢,因为团队需要的是:你这个人具有可以依靠的才能(靠谱)。

参考资料