如何面试程序员 zhuan zai

时间:2022-09-24 20:57:58

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. AE开发中对GDB以及shapefile的读取、对FeatureClass的相关操作

    读取gdb方法 private void btn_Click(object sender, EventArgs e) { FolderBrowserDialog dlg = new FolderBro ...

  2. sublime text 3安装package console

    打开Packages目录,Preferences > Browse Packages 就可以进入这个目录. $ cd Packages/$ git clone https://github.co ...

  3. 【BZOJ】2209: [Jsoi2011]括号序列(splay)

    http://www.lydsy.com/JudgeOnline/problem.php?id=2209 splay又犯逗........upd1那里的sum忘记赋值反............. 本题 ...

  4. 【转】编写Chrome扩展程序

    Chrome的扩展程序很多,也很容易入门,可以来简单实现一下 看看,慢慢就能实现出一个扩展程序来 每个扩展程序应用一般会包含: 一个manifest清单文件 html文件 js文件 其他文件等 可以看 ...

  5. mysql中pager命令妙用

    pager命令的妙用在mysql,可以大大提高工作效率. 一 当处理大量数据时,不想显示查询的结果,而只需知道查询话费的时间. mysql> select *   from t3; +----- ...

  6. Java遍历文件目录

    函数介绍 File[] listFiles():返回当前文件的子目录或子文件的文件数组. 遍历目录 调用listFiles()即可得文件的子目录和子文件,如果存在子目录,那么子目录需要再次调用list ...

  7. JAVA类的方法调用和变量(全套)

    一.类的分类: 1.普通类 2.抽象类(含有抽象方法的类) 3.静态类(不需要实例化,就可以使用的类) 二.方法的分类: 1.私有方法(只有类的内部才可以访问的方法) 2.保护方法(只有类的内部和该该 ...

  8. $Django Rest Framework-认证组件,权限组件 知识点回顾choices,on_delete

    一 小知识点回顾 #orm class UserInfo (models.Model): id = models.AutoField (primary_key=True) name = models. ...

  9. 创建触发器(trigger)

    创建触发器 DROP TRIGGER IF EXISTS `ins_table_name`; DELIMITER ;; CREATE TRIGGER `ins_table_name` AFTER IN ...

  10. Objective-C学习笔记(三)——用Objective-C编写第一个程序:Hello,World!

    不管是哪一个程序猿,或者是学习哪一门计算机语言.写的第一个程序基本上就是Hello World. 今天我们用OC来实现第一个程序:Hello World. 在Xcode中选择新建一个项目,在对话框中选 ...