如何面试一名程序员?

标签: 管理定律 面试 | 发表时间:2014-05-14 12:49 | 作者:标点符
出处:http://www.biaodianfu.com

STAR面试法中“STAR”是SITUATION(背景)、TASK(任务)、ACTION(行动)和RESULT(结果)四个英文字母的首字母组合。在招聘面试中,仅仅通过应聘者的简历无法全面了解应聘者的知识、经验、技能的掌握程度及其工作风格、性格特点等方面的情况。而使用STAR技巧则可以对应聘者做出全面而客观的评价。

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

通过STAR式发问的四个步骤,一步步将应聘者的陈述引向深入,一步步挖掘出应聘者潜在的信息,通过应聘者过去的经历来预测其是否胜任目标职位。所以,确保应聘者提供的事件信息真实有效,就成了追问的另一目的。要通过得到更多、更详细的信息,来保证应聘者回答的真实性,因为所得到的结果越具体,说明事件越真实,做出的评价也就越准确。

面试其实说白了就是根据一个人之前的经历,来判断出后续这人会做得怎样,如果你之前从没做成过一件事情,凭什么让别人相信你之后能做成呢?因此无论哪里的面试都会问你之前做过的项目。需要注意的是两个平庸的项目不如做了一个好项目。针对STAR面试法设计的问题:

  1. 你做过最满意的项目是什么?可以是多人协助开发一个产品,也可以是自己个人做过的业余应用。
  2. 项目背景是什么?为什么要做这件事情?
  3. 你在项目中处于什么样的角色,起到了什么方面的作用?
  4. 在项目中遇到什么技术问题?具体是如何解决的?
  5. 此项目最终达到什么效果?
  6. 如果再做这个项目,你会在哪些方面进行改善?

除了STAR面试外,还需要对面试者的技能及其他内容做深入了解。比如技术相关问题,探测面试者基础知识的掌握程度及技术深度和广度的了解。技术相关问题:

  1. 描述一个你遇到过的技术问题,你是如何解决的?有没有遇到过很不常见的问题?比如在网上根本搜不到解决方法的?
  2. 是否有设计过通用的组件?你会提供什么接口?调用过程是怎样的?可能会遇到什么细节问题?
  3. 你最擅长的技术是什么?你觉得你在这个技术上的水平到什么程度了?你觉得最高级别应该是怎样的?
  4. 在制作一个Web应用或Web站点的过程中,你是如何考虑他的UI、安全性、高性能、SEO、可维护性以及技术因素的?
  5. 你最熟悉哪一套版本控制系统?

除此之外,还需要问一些非技术相关问题:

  1. 如果你参与到一个项目中,发现他们使用 Tab 来缩进代码,但是你喜欢空格,你会怎么做?
  2. 在之前做过的项目中,有没有什么功能或改进点是由你提出来的?是否有参与和改进其它开源项目?
  3. 编写代码的哪些方面能够使你兴奋或感兴趣?做什么方面的事情最让你有成就感?需求设计?规划?具体开发?
  4. 你在昨天/本周学到了什么?接下来半年你打算学习什么?如果今年你打算熟练掌握一项新技术,那会是什么?
  5. 后续想做什么?3 年后你希望自己是什么水平?

以上为个人梳理的面试的一些技巧。期望多多交流。

相关 [面试 程序员] 推荐:

如何面试程序员?

- bluesnail - 阮一峰的网络日志
你要面试一个程序员,应该问他什么问题. 有人在Hacker News的讨论区里,请求指点,怎么才能在面试中发现合格的人. 众人纷纷出主意,有很多高质量的回帖,我觉得挺有启发,就整理出了下面这篇文章. 首先,最重要的是,你自己一开始就应该想清楚:. 哪些途径和方法可以发现这样的人. 只有明确这些根本性的问题,才能正确高效地完成面试.

“火柴棍式”程序员面试题

- Hao - 酷壳 - CoolShell.cn
有时候,有些面试题是很是无厘头,这不,又有一个,还记得小时候玩的的“火柴棍游戏”吗,就是移动一根火柴棍改变一个图或字的游戏. 程序面试居然也可以这么玩,看看下面这个火柴棍式的程序面试题吧. 下面是一个C程序,其想要输出20个减号,不过,粗心的程序员把代码写错了,你需要把下面的代码修改正确,不过,你只能增加或是修改其中的一个字符,请你给出三种答案.

ABC: Always Be Coding——程序员面试必读

- - 36氪 | 关注互联网创业
@guitardave24">David Byttow是一名程序员,曾在Google和Square等公司工作过. 在正文之前,先让我们回答几个简单的问题:第一,你面试过多少家公司;第二,这些公司中,录取你的有多少. 记下这两个数字,然后代入下面这个算式中(为我自己发明,仅供参考,不具有其他意义):.

如何面试一名程序员?

- - 标点符
STAR面试法中“STAR”是SITUATION(背景)、TASK(任务)、ACTION(行动)和RESULT(结果)四个英文字母的首字母组合. 在招聘面试中,仅仅通过应聘者的简历无法全面了解应聘者的知识、经验、技能的掌握程度及其工作风格、性格特点等方面的情况. 而使用STAR技巧则可以对应聘者做出全面而客观的评价.

程序员面试中什么最重要?

- - CSDN博客研发管理推荐文章
相信和不少朋友一样,有了几年工作经验成为Senior后就开始了面试别人的经历. 我在最初这个阶段只是按照自己的想象把“找到基础好的程序员”、“找到算法能力优秀的程序员”、“找到有Android开发经验的程序员”等作为面试的目标. 但是, 实际的经历告诉我,尤其是按“基础好”,“算法好”这些目标招到的人最终效果并不好.

程序员的10大成功面试技巧

- - ITeye博客
1.给自己写一份非常专业的简历.   我的建议是,如果你想增加自己的入选机会,那最好还是花点钱制作一份专业的简历. 相较于你将来可能得到的巨大收获,这真的只是一个小小的投资.   当我联系程序员来面试的时候,我总是会事先发电子邮件给他,并附上我的名字和博客地址. 但是让我惊讶的是,当我给他面试的时候,他竟然对我还是一无所知.

[原]程序员如何快速准备面试中的算法

- - 结构之法 算法之道
    程序员如何快速准备面试中的算法.     我决定写篇短文,即为此文. 之所以要写这篇文章,缘于微博上常有朋友询问,要毕业找工作了,如何备战算法. 尽管在 微博上简单梳理过,如下图所示:.     但因字数限制,特撰此文着重阐述下:程序员如何快速准备面试中的算法,顺便推荐一些相关的书籍或资料.

10个我最喜欢问程序员的面试问题

- - 博客园_新闻
英文原文: 10 Programmer Interview Questions I’d like to be asked . 最近我拜读很多文章,都是介绍面试问题的,我真心不理解,面试官代表公司想要聘用的是最优秀的程序员,那就意味着需要想出一些有意义的面试问题. 如果你就提一些毫无用处的垃圾问题,那么很容易遗漏很多能干的程序员.

招聘面试程序员的一些心得

- - 博客园_新闻
最近雅虎北研解散的消息触动了各大互联网公司 HR 的神经. 公司里一下子面试的任务多了起来. 正好借机会总结一下自己毕业后作面试官以来参与若干场技术面试的一点心得,分享一下. 当好一个面试官其实也很不容易,不但要练就一双火眼金睛,把优秀的人才和水货在短短的面试的几十分钟里分辨出来,同时面试官本身就是候选人观察公司的一个窗口.

【外刊IT评论】如何在面试中发现优秀程序员

- Shengbin - 外刊IT评论
我曾在一次面试中要求一个很有经验的嵌入式软件开发人员写出一个反转一段字符串并输出到屏幕上的程序. 你给他一些没用的零件,他能建造一个机器人,并能用程序控制它在屋里走来走去. 他曾经参与过研制卫星,并且这个卫星现在正在轨运行. 但是对于这个题目他却从来、从来没机会干过:在屏幕上显示什么东西. 有些人就有这种技能,能在面试中问出正确的问题,发现优秀的程序员.