招聘技术人员该怎么面试呢
关于技术人员面试我简单说几点:
面试时,可以根据程序员和设计师两种大的标准来问问题。
程序员
对于程序员级别,又分成初级程序员、程序员和高级程序员三个等级来判断。
一.初级程序员
对于初程,在技术上其实我们不会有过多的要求,对于初程我们会更加关注他对于技术的兴趣程度(对于技术网站的关注、各种前沿技术信息的关心),而不仅仅是因为生活所迫;另外就是在技术方面的基本功和对于公司需要采用的产品/开源工具的了解程度。
根据这样的标准,在面试初级程序员时问的问题就集中在这两个方面,常问的就是:
1、经常上什么技术网站,论坛?
2、最近业界的最新技术出现了些什么?
3、根据公司采用的产品/开源工具来问,如公司采用webwork,可以问下面试者是否之前用过,或者是否用过类似的?
二.程序员
对于程序员,在技术上就要有所要求了, 我们认为在工具方面上应该是很熟练的人员,其次就是对于工具的快速掌握能力。
根据这个标准,在面试程序员时我们会常问的问题:
1、根据公司采用的产品/开源工具和面试者的经历来问,如公司采用webwork,但面试者以前只用struts,那么我们会问他开发一个模块时,在采用struts下是一个怎么样的经典开发过程,开发过程中可能会碰到什么问题?
在工具的快速掌握能力上,个人觉得最好的方法就是让面试者当场采用一种未曾使用过的技术做hello world之类的东西,这样可以考察面试者学习工具的能力以及承受压力的能力。
三.高级程序员
对于高级程序员,在技术上自然要求就更高了,对于高程,除了需要熟练的使用工具之外,个人觉得高程需要具备对于设计思想的深刻理解。
1、根据公司采用的产品/开源工具和面试者的经历来问,如公司采用webwork,但面试者以前只用struts,那么我们会问他开发一个模块时,在采用struts下是一个怎么样的经典开发过程,开发过程中可能会碰到什么问题?(面试这样的问题是判断面试者到底有没有具备程序员的能力,具备了才继续往下问)
2、根据面试者的经历问设计模式方面的问题,如面试者采用过webwork、spring IoC、Hibernate这些东西,那么继续问一些MVC、IoC、ORM这样的实战问题,多是问如果让你自己实现一个webwork这样的MVC框架的东西,你会怎么做?
设计师
对于设计师级别, 模块设计师、子系统设计师、专业系统设计师和系统设计师四个级别来考量。
对于设计师,在工具使用方面的考量会降低一些,但在对于系统理解方面则会加强考核。
一.模块设计师
对于模块设计师,个人认为他需要掌握怎么样设计模块才能让程序员可以按照设计开展,以及如何考察设计的实现。
常问的问题:
1、根据面试者的经历,挑选面试者曾经做过的模块,问他会怎么样去进行设计;
2、怎么样去保证模块按设计的实现(可以问的问题是举例实现人员在实现时出现差错,他会怎么办)。
3、根据公司的需求,来问一些业务方面的理解能力。
二.子系统设计师
对于子系统设计师,个人认为他需要掌握如何划分模块的能力以及如何去考评模块设计师的设计的能力。
常问的问题:
1、根据面试者的经历,挑选一个子系统问他怎么样去进行设计;
2、怎么去考评模块设计师的设计;
3、根据公司的需求,来问一些业务方面的理解能力。
三.专业系统设计师
对于专业系统的设计师,主要则需要考评其对于专业系统的理解程度以及知识的掌握面的程度。
常问的问题:
1、根据面试者的经历,如其有流程系统的设计经验,可以问流程系统的相关设计知识点,看其的掌握程度;
2、简单的介绍实现一个专业系统的关键点,同时说下自己对于该种专业系统的发展的想法。
四.系统设计师
对于系统设计师,则要要求更加的全面,考察其对于系统的架构设计的能力以及带领、组织团队的能力。
常问的问题:
1、根据面试者的经历,问其其中一个系统给他设计的话,他会怎么去做,这个主要考评其从需求推导设计的能力;
2、问面试者认为在进行系统设计时需要考虑的因素,或者就是以一个失败的案例,问他认为设计的失误出现在哪。
不过个人认为,HR伙伴们一般在技术人员面试中,承担的任务都是前者,所以技术类的知识,也可以不必深究。