Google的人力运营高级副总裁Laszlo Bock在一次采访中说Google发现在面试程序员时问智力题完全是浪费时间,Matt Rogish在他的这篇博客How to Interview Programmers - Rogish Reading Writing中有感而发,介绍了他认为正确的面试程序员的方法。

  • 先决条件
    • 在你雇佣第一个员工之前
      1. 想好你的企业文化
      2. 让你团队中的每个人都面试应聘者
      3. 确保你的团队中每个人都知道如何面试,制定面试计划和清单。
        • 每个人都写下来他要问什么问题,然后大家坐在一起过一下这些问题
        • 你要从应聘者身上发现什么素质?
        • 你通过什么手段来发现?
      4. 同一个问题不要问两次
      5. 举办一些模拟面试来提高面试技巧
      6. 让你的程序员先做做面试题,这样让他们能够在面试时得心应手
    • 在面试过程中
      1. 保持开放和诚实(比如不要问应聘者你希望的最低薪水是多少,你应该是第一个说要提供多少薪水股份的人。你应该有一个定义好的技术阶梯来描述你的公司中程序员的职业规划)
      2. 面试要因人而异,根据应聘者的背景进行剪裁
      3. 不要诱导证人(比如不要问你喜欢TDD还是简单粗暴直接开始)
      4. topgrading风格的问题
      5. 保持好的形象(应聘者也在面试你)
      6. 午饭订一个好馆子
    • 面试之后
      1. 每个人都要给出意见,要还是不要。更重要的是,要给出理由
      2. 如果你准备给offer,尽快
      3. 如果你不准备给offer,也尽快
  • 现场面试前
    • 初始电话面试(30-45分钟),主要是问一些基本问题,过滤掉你明显不会招的人。说明你的企业文化,让你的应聘者了解你的企业现状。
    • 第二轮电话面试(1-2小时),主要是确认应聘者会不会编程:)
  • 现场面试
    • 飞头等舱等。。。如果应聘者够牛,应该会同时拿多个offer,如果你在面试的一开始就招待好他会更容易雇到他
    • 一天的日程
      1. 参观办公室,看看休息区的高级咖啡机
      2. 介绍今天的流程
      3. 一些从工作中提取的或者和工作相关编程的题目(难度递增)
        • 题目不能太难(三周也搞不定),也不能太简单(靠记忆就能答出来)。开卷,能用google和stackoverflow
        • 在一开始就问问应聘者熟悉什么开发环境,帮他弄一个顺手的机器。或者让他带自己的笔记本
        • 最好有个题库。可以参考RubyQuiz 或者 CodeQuizzes
        • 目的是考察应聘者能解决一个真是世界的问题
      4. 午饭,邀请团队所有人都参加,问一些开放式的问题
      5. 结对编程
        • 如果签了保密协议,可以是公司的真实代码
        • 如果没签,就找个你在用的开源软件,然后一起价格新功能
      6. 送回酒店(不是机场,都累了一天了),如果预算允许的话,让人呆整个周末
    • 最好定一个月的试用合约,然后决定要不要给offer。

听听Matt Rogish说怎么面试程序员的更多相关文章

  1. 如何面试程序员 zhuan zai

    zhuan zai  http://blog.csdn.net/cuibo1123/article/details/41931909aia 面试对于大多数开发人员来说是一项很基本的技能.一次失败的招聘 ...

  2. 面试杂谈:面试程序员时都应该考察些什么?<转>

    一般来说,一线成熟企业技术岗位的典型招聘流程分为以下几个步骤: 初筛:一般由直接领导的技术经理或HR进行,重点考察教育和工作经历 一面:一般由可能直接与之共事的工程师进行,重点考察基础和工作能力 二面 ...

  3. 不要以为Bug写的好就是好程序员,其实这只占不到15%!

      最近和一位从事多年架构工作的技术哥们见面,聊到了近期面试程序员的一些经历,谈到了"如何判断程序员水平高低"这个话题,颇有些感触,觉得有价值,因此花了些时间整理.分享给大家. 正 ...

  4. .Net程序员面试所需要的一些技术准备

    夜已经很深了,但却毫无睡意,最近找工作和面试感触良多,所以想记录下来这段过程. 作为一个.Net程序员,不可否认是比JAVA要难混的.甚至在智联招聘或者大街网都没有.NET程序员的备用选项.真是令人悲 ...

  5. 程序员面试大揭秘——应聘微软、亚马逊、谷歌、苹果等IT公司你都要做什么准备?

    对于多数求职者而言,面试好似一个迷局.你去了,见了几个面试官,答了一堆问题,然后,或两手空空离开,或幸运地拿到录用通知. 你有没有想过: 面试结果是怎么得出的? 面试官会不会互相交流? 公司最看重哪些 ...

  6. 如何准备阿里社招面试,顺谈 Java 程序员学习中各阶段的建议

    引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来.LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容 ...

  7. C#130问,初级程序员的面试宝典

    首先介绍下,目前C#作为一门快速开发的语言,在面试的过程中需要注意的技术知识点,了解下面的知识点对于初级工程师入职非常有帮助,也是自己的亲身体悟. 1.    简述 private. protecte ...

  8. 阿里面试回来,想和Java程序员谈一谈(转载)

    引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来.LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容 ...

  9. Java程序员面试失败的5大原因

    下面是Java程序员面试失败最有可能的5大原因,当然也许这5点原因适用于所有的程序员,所以,如果你是程序员,请认真阅读以下内容. #1 说得太少 尤其是那些开放式的问题,如“请介绍下你自己”或“请讲一 ...

随机推荐

  1. (转)log4j日志级别设置成DEBUG时输出Html代码等问题:

    log4j日志级别设置成DEBUG时输出Html代码等问题: 问题: log4j日志级别设置成DEBUG时会输出很多信息,包括一些Html代码 解决方案: log4j的控制是树形,所以在log4j.p ...

  2. 原生js判断是否有某个class,如果有就删掉,没有加上

    <style> #div1 { width: 100px; height: 100px; position: absolute; } .div1 { background: red; } ...

  3. 原生javascript操作class-元素查找-元素是否存在-添加class-移除class

    //判断元素是否有classfunction hasClass(ele, cls) { return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\ ...

  4. swift从0加到1000(不包括1000)的五种写法

    用了while, do...while, for in, for in ... { temp += i i++ } println(temp) do { temp2 += j j++ } ) prin ...

  5. phpcms v9使用GET调用指定id文章内容、页面数据方法

    不知道大家有没有相同的体会?在使用Phpcms V9建站调用数据的时候,基础的数据用默认的模板的调用语句就好了,但复杂不常见的数据怎么调用呢?我们技术可能会研究半天,怀着探索的精神不断尝试.孜孜不倦. ...

  6. NHibernate configuration

    http://blog.csdn.net/dbcolor/article/details/2061929

  7. bzoj 1257: [CQOI2007]余数之和sum 数学 && 枚举

    1257: [CQOI2007]余数之和sum Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 1779  Solved: 823[Submit][Sta ...

  8. 这篇blog只是为了发一张图链到UOJ的博客去..

    UOJ卖萌表情,萌萌哒VFK如图.

  9. Android假退出不是流氓行为

    转自Android假退出不是流氓行为 关于Android程序的退出,目前我们没有再用System.exit(0)或killProcess的机制而是直接用Activity.finish假退出了.因此在内 ...

  10. MVC自学系列之四(MVC模型-Models)

    ASP.NET MVC 提供了一系列工具和特性去使用仅仅定义的对象模型.你可以坐下来好好思考你将要解决的问题,并且写好C#类,当你准备好时就可以使用MVC提供的工具去为每一个实体构建标准的index. ...