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. Chrome退出全屏问题

    最近做了一个号称很炫的B/S展示软件,展示所用浏览器为Google Chrome. 要求展示时全屏,但是页面要有退出全屏按钮(液晶屏没有键盘). 搜索实现方式几乎前篇一律,即两个JS函数一个实现全屏一 ...

  2. HTML5 程序设计笔记(一)

    HTML5 概述 1.html5 发展史 1993年html首次以因特网草案形式发布. 20世纪90年代,html大幅发展,从2.0版,到3.2版和4.0版.最后到1999年的4.01版. 伴随htm ...

  3. js 保留小数位数

    eg: var num=3.1415926 小数位处理:num.toFixed(n)      n:小数位数

  4. 【随记】还原SQL Server数据库步骤

    情景:在一台机器上备份数据库,然后在另一台机器上还原数据库,可能会出现错误提示:System.Data.SqlClient.SqlError: 备份集中的数据库备份与现有的 'XXX' 数据库不同. ...

  5. python运维开发之第二天

    一.模块初识: 1.模块定义 python是由一系列的模块组成的,每个模块就是一个py为后缀的文件,同时模块也是一个命名空间,从而避免了变量名称冲突的问题.模块我们就可以理解为lib库,如果需要使用某 ...

  6. bzoj 1079: [SCOI2008]着色方案 DP

    1079: [SCOI2008]着色方案 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 803  Solved: 512[Submit][Status ...

  7. /etc/shadow字段详解

    1)/etc/shadow 概说: /etc/shadow文件是/etc/passwd 的影子文件,这个文件并不由/etc/passwd 而产生的,这两个文件是应该是对应互补的:shadow内容包括用 ...

  8. Java语言基础(一) 标识符

    Java标识符的问题: ①不可以以数字开头 int 123number = 0; //错误 ②可以使用任意的货币符号(¥和$等等)中文也可以  int $i = 0; //正确 int ¥i = 1; ...

  9. 解除網頁無法選取文字、鎖右鍵限制:Enable Copy(Chrome 擴充套件)

    有些网页因会因为某些因素而禁止浏览者直接复制网页上的内容,虽然我们了解站方的意思,不过有些时候会造成一些不必要的困扰. Enable Copy 这款Chrome 扩充套件可以帮你一键解除封锁右键和选取 ...

  10. 设计模式之(三)Proxy模式

    今天学习Proxy模式.代理模式是在对已有对象操作困难或者不太方便时,选择用代理的方式对对象进行访问.Proxy实现的方法必须和被代理对象一致. 举一个简单的例子, 有一个Math类实现了IMath接 ...