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. Codeforces 549B Looksery Party

    Looksery Party Solution: 仔细分析一下会发现每个人都会发一条消息给自己这个条件非常重要! 这个条件保证了一定会有解,而且解法也要从这里入手. 当我们拿到一个猜测的答案序列的时候 ...

  2. Windows Phone 之播放视频

    在Windows Phone 7中播放视频有两种方式, (1)使用MediaElement 控件来播放:用MediaElement 控件来播放视频比较灵活,你需要自己去实现播放暂停进度条等等的功能,播 ...

  3. Java之加密(信息摘要)工具类(依赖:java.security.MessageDigest或org.apache.commons.codec.digest.DigestUtils)

    依赖于java.security.MessageDigest,支持MD5,SHA-1,SHA-256 import java.security.MessageDigest; import java.s ...

  4. 按钮效果 css

    <!doctype html><html lang="en"><head> <meta charset="UTF-8" ...

  5. php ob_ 开头的相关函数

    <?phpbool ob_start([ callback $output_callback [, int $chunk_size [, bool $erase ]]]); /* 打开输出控制缓 ...

  6. js简版定时器

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  7. LVS原理详解及部署之二:LVS原理详解(3种工作方式8种调度算法)

    一.集群简介 什么是集群 计算机集群简称集群是一种计算机系统,它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作.在某种意义上,他们可以被看作是一 台计算机.集群系统中的单个计 ...

  8. 《C和指针》章节后编程练习解答参考——6.4

    <C和指针>——6.4 题目: 质数是只能被1和本身整除的整数. 在1到1000之间的质数,在数组中剔除不是质数的数. 解答代码: #include <stdio.h> #de ...

  9. IOS Quartz 各种绘制图形用法---实现画图片、写文字、画线、椭圆、矩形、棱形等

    // Only override drawRect: if you perform custom drawing. // An empty implementation adversely affec ...

  10. MySQL在创建存储过程的时候,语法正确却提示You have an error in your SQL syntax

    我在使用MySQL工具编写MySQL存储过程的时候,明明语法正确,但是却一直提示You have an error in your SQL syntax. 比如下面一段代码 CREATE PROCED ...