到底怎么样的面试才是最公平的才能找到合适的人又不产生误判
一般来说,技术面试会是如下集中形式的一种或是多种的组合:
1、 笔试,做题目
2、 面对面交流
3、 上机编程
其实我个人不喜欢笔试,感觉笔试关注的点太细了,更不喜欢上机编程,觉得这种方式的面试并不是很尊重面试者,比较喜欢轻松的面对面的交流。我面试过很多人也被很多人面试过,越来越感觉其实任何一种形式的面试都有其优点和缺点。
在之前公司,我面试别人都是采用1和2组合的方式,候选人会先做一套题目,这样对每一个人都有一个评判的标准,然后再会面对面聊1个小时。而现在公司,没有笔试,直接面对面随机问一些问题,所谓随机就是每次问的问题都不一样,或许是面试者感兴趣的技术又或许是自己随手想到的问题。
感觉几乎没有人能得到自己的认可,我不觉得这是因为他们的问题,我觉得这是我的问题,可能这种形式的面试不是最合适的。因为.NET开发的技术实在是太多了,每次半个小时左右的面试,我只能在ADO.NET、ASP.NET、IIS、C#、CLR、T-SQL、SQL-SERVER、WINFORM、架构、性能、设计模式、OOP、HTML、CSS、JS、框架、分布式开发等知识点上各问一个问题,比如:
l HTTPMODULE/HTTPHANDLER
l IIS每一个版本的增强
l 值类型引用类型的区别
l T-SQL如何分页
l SQL SERVER索引和死锁
l 如何开新的线程,如何确保线程安全
l 什么是JSON、XMLHTTP
l 等等等等。
正因为如此,一个问题回答的不正确,我只能认为候选人在这方面是不擅长的,很怕作出错误的判断,所以有的时候问的问题尽量是这方面最最基本的问题。而且我都会在最后问两个编程的题目,一个是C#的,一个是T-SQL来看看候选人的实战能力,因为确实很多人并不会去研究很多基础的东西,或是表达能力有限,知道这个东西会用但却不知道用专业的术语来解释。也确实遇到过误判的情况,有的人在面试的时候什么都说不出,但来了之后却能胜任,学习能力也很强。有的时候想想如果有笔试的话会公平很多,有的是确实不善于表达会紧张,甚至有上机面试的话能要求候选人直接看看我们的项目代码,如果能在1个小时之内把项目基本的运作逻辑搞清楚的话应该能力不错。不知道大家是怎么看这个问题的。
最后,我想从面试官的角度来说几个面试技巧:
l 技术再好,英语再好也要态度诚恳,有的人觉得自己英语很好,想表现一下,其实对于面试官来说可能并不在乎这个,他只是来面试你技术的
l 简历上把真正精通的技术再写精通,否则面试官问了你精通的技术你回答不出来,那么他可能会觉得你其他精通的技术也不精通,或者说也是这个水平的
l 不怎么熟悉的技术就直接说不知道吧,否则面试官可能会追问,问到最后你不知道就给了他不好的印象,索性说不知道也没什么
l 哪怕技术不好,不要不自信,也不要表现出恼怒的情绪,很多时候面试官确实不是***难你,对谁都是问这些问题,所以表现出这些情绪没什么意义