zhuan zai  http://blog.csdn.net/cuibo1123/article/details/41931909aia

面试对于大多数开发人员来说是一项很基本的技能。一次失败的招聘会造成很严重的长期的后果,二流的人会把三流的人带进公司(一流人才雇一流人才,二流人才 雇三流人才)。另一方面,把优秀的应聘者拒之门外更是一种伤害。

一场技术面试至少包括三部分。首先验证简历的真实性,然后评估应聘者的经验价值,最后测试应聘者的技术能力。

1: 验证简历

简历上的任何东西都是假的,除非被证明。

简历中实际有价值的两个部分就是“技术特长”和“项目经验”,所以验证简历围绕这两个部分进行。应该重点关注哪些入职后会用得上的技术和经验,其他项目用
作对诚实度的考察,不过适当的“文学修饰”应该被当作自我营销手段而接受,“熟练”和“精通”的区别是很难定义清楚的。
    
   
于技术特长:

   
可以根据对方擅长的方向由浅入深循序渐进的询问技术细节,以便考察应聘者的掌握程度。除非是精确的定向招聘,否则不要仅通过询问你自己擅长的、只涉及某个
狭窄领域、方向的技术细节来确定对方价值。有些人可以通过CPU针脚输出各种电信号,但是却无法在屏幕上打印”hello”。也有很多前端一直使用代码布
局而从来不用可视化布局工具。掌握这些技术对他们来说易如反掌,回答不上来你的问题只是因为使用习惯不同而已。可以通过技术趋势或技术社区等方向来考察一
个人对某个技术的了解程度。这些问题并没有正确的答案,但是通过交流可以了解到对方对此技术的关注程度。

对这个技术的看法,这个技术的未来发展趋势?
       
与竞争技术对比有哪些优缺点?
        此技术(或开发环境)有哪些点可以吐槽?
       
此技术的主要社区或blog有哪些?针对某一阶段,有哪些书籍可以推荐?

关于项目经验:
 
 
不要通过对方很久以前的项目技术细节来考察对方诚实度,1~2年以上的项目技术细节或架构是很难有完整记忆的。但是项目背景、应用领域、人员结构、开发中
遇到的重大问题以及大的技术方向选择对方应该十分清楚。

项目背景,客户群体是怎样的,为什么开发这个项目?
        项目人员组成,你负责哪部分?
     
  你负责的部分使用了那些技术,为什么不用其他(具体)技术?
        项目遇到过哪些重大问题(或有趣的事),怎么解决的?

2: 经验价值

经验不等于工作时间。
   
除非你是真正的天才,否则永远不要低估经验的重要性。一个有经验的优秀程序员仅凭直觉就可以预测出需求是否合理。经验和工作年限并不完全成正比,一个人可
能在一年的时间里经历从初级程序员到项目总监的变迁。也可能一生都投身于公司内部软件中某个模块的维护,学不到任何新东西。一个人可能仅利用业余时间就开
发出一款优质的产品。也可能集公司之力也仅写了一些DEMO,业余时间完全不关心技术。真正的经验价值取决于个人经历,可以通过对方的技术成长路程获得大
致的了解,比如(注意验证真实性):

什么时间、什么原因加入这个行业?
    学习过哪些技术、编程语言,具体应用在那些项目中?
   
是否有个人项目,或业余时间研究过哪些技术?
    是否做过主要开发者,在哪个项目中?
   
是否有分享总结习惯,是否有技术blog?

3: 技术能力

如果简历和经验价值满足招聘要求,但是对应聘者依然不放心,可以通过实际编码来验证一下对方的技术能力。不过想在很短的时间内了解一个人的技术深度是非常
困难的,对于优秀的程序员,条件允许的情况下针对职务定制面试主题更为适合,不要把重点放到某个函数/参数或用法,更不要一味的学习google
/apple问一堆算法问题(取决于:你的项目是否需要程序员对算法有深入的研究),重点是对方对相关技术的理解程度。多考察一些原理和技术应用场景,在
这些方面没有捷径也很难事先造假,在对方回答的过程中问一下答案纲要,可以防止浪费太多时间。一些基础的问题方向可能包括:

数据结构和算法。
    线程、进程。
    内存。
 
  设计模式。
    计算机原理。
    操作系统。

以上做法主要针对有经验的程序员。对于那些经验有限但潜力十足的应聘者并不公平。而对于很多非常优秀的高级开发人员来说,招聘方应该把重点放在“怎么吸引
对方过来”的问题上。毕竟,能遇到优秀的人本身就是一种运气。

如何面试程序员 zhuan zai的更多相关文章

  1. 听听Matt Rogish说怎么面试程序员

    Google的人力运营高级副总裁Laszlo Bock在一次采访中说Google发现在面试程序员时问智力题完全是浪费时间,Matt Rogish在他的这篇博客How to Interview Prog ...

  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. MongoDB索引、聚合

    用$where可以执行任意的js作为查询的一部分. db.foo.find({"$where" : function(){          for(var current in ...

  2. 爆破vcrkme01(已补上注册机)

    系统 : Windows xp 程序 : vcrkme01 程序下载地址 :http://pan.baidu.com/s/1mh1n33y 要求 : 爆破 使用工具 :OD 可在“PEDIY Crac ...

  3. 怎样将某一类型标识为适合绑定到 System.Web.UI.WebControls.ObjectDataSource 对象的对象

    1.页面的代码如下: body> <form id="form1" runat="server"> <div> </div& ...

  4. NSData和NSString 、 NSFileManager

    1 NSData和NSMutableData的基本使用 1.1 问题 NSData类是IOS提供的用于以二进制的形式操作文件数据的类,NSData有两个常用的属性length和bytes,length ...

  5. Event Logging

    编号:1001 时间:2016年3月29日16:24:33 功能:Event Logging 技术简介 URL:http://blog.csdn.net/colorknight/article/det ...

  6. ui-bootstrap-tpls-0.11.0.min.js

  7. android的style控制Theme

    value-v14就是在API14(4.0)的手机上所使用的Theme(其他版本以此类推) theme的名字叫做AppTheme,后面写有继承自哪个Theme,如下所示 <style name= ...

  8. ZMMR106-批量更新PO交货日期

    ************************************************************************ Title : ZMMR106 ** Applicat ...

  9. ✡ leetcode 160. Intersection of Two Linked Lists 求两个链表的起始重复位置 --------- java

    Write a program to find the node at which the intersection of two singly linked lists begins. For ex ...

  10. leetcode 125. Valid Palindrome ----- java

    Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignori ...