zoukankan      html  css  js  c++  java
  • 如何面试程序员 zhuan zai

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

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

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


    1: 验证简历

        简历上的任何东西都是假的,除非被证明。
        简历中实际有价值的两个部分就是“技术特长”和“项目经验”,所以验证简历围绕这两个部分进行。应该重点关注哪些入职后会用得上的技术和经验,其他项目用 作对诚实度的考察,不过适当的“文学修饰”应该被当作自我营销手段而接受,“熟练”和“精通”的区别是很难定义清楚的。
        
        关 于技术特长:
        可以根据对方擅长的方向由浅入深循序渐进的询问技术细节,以便考察应聘者的掌握程度。除非是精确的定向招聘,否则不要仅通过询问你自己擅长的、只涉及某个 狭窄领域、方向的技术细节来确定对方价值。有些人可以通过CPU针脚输出各种电信号,但是却无法在屏幕上打印”hello”。也有很多前端一直使用代码布 局而从来不用可视化布局工具。掌握这些技术对他们来说易如反掌,回答不上来你的问题只是因为使用习惯不同而已。可以通过技术趋势或技术社区等方向来考察一 个人对某个技术的了解程度。这些问题并没有正确的答案,但是通过交流可以了解到对方对此技术的关注程度。


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


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


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

    2: 经验价值

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


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

    3: 技术能力

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


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


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

  • 相关阅读:
    C#后台正则表达式
    Layer 弹出层抖动问题
    JS中子页面父页面方法 变量相互调用
    layer最大话.最小化.还原回调方法
    trove远程连接mongodb
    tar.gz tar.bz2的解压命令
    IO测试工具之fio详解
    HTTP请求方法
    jmeter --使用put方法上传文件
    DHCP的原理和实现过程
  • 原文地址:https://www.cnblogs.com/gym333/p/4172631.html
Copyright © 2011-2022 走看看