第一次面试别人

最近公司还在一直招人,因为我是内核开发这边第一个,所以开发这边的面试自然就落到了我身上。

我被面试过N次,但面试别人还是大姑娘上花轿——头一次,说实话,心里真没什么底儿。以前被面试时总觉得当个面试官是多么地拽,现在真轮到我当面试官了,发现其实根本就不是这样的!

我觉得面试别人比被面试还要难!因为,首先面试的题目你不光要知道答案或者回答的标准,而且,更重要的是,你还要权衡这些题目是不是真能够考察应聘者适合这个职位与否,还要估计一下题目是不是太难了或者太简单了。这还没完,在面试过程中你要记录应聘者的回答,人家面试完了你还得通过他们的回答来对他们做出一个准确的评价!

其它方面我就不说了,重点说说面试题目的选择,到底怎样的面试题目才是合适的?这也是我在准备面试题目的时候最棘手的问题。以前我被面试时我就想过这个问题,现在我开始面试别人了,我想我有资格说说我对这个问题的看法了。

1. 不要问google到问题。

你google得到应聘者也能google得到,尤其是一些大公司的面试题更是在网上都传遍了的。

2. 不要问和职位不相关的问题。

如果人家应聘的是Web开发,你非要问人家如何检测单链表中是否有一个循环,这显然没多少实际意义,哪个做web开发的还要去拿C去写单链表程序?!你可能会说对底层和算法了解对职位有帮助,但就这么一个破单链表的问题真的能反映出一个Web开发者有问题么?如果这个理由成立的话,那和计算机相关的你最好都问一遍,都“有帮助”。:-)

3.不要问别人能猜到答案的问题。

“五年之内你有什么打算?”这个问题极其幼稚!哪个非经济学家在1年前能告诉我现在会有经济危机?计划永远赶不上变化,老老实实做好当前工作就是很好的打算!而且这个问题有固定的“标准”答案,首先你不能说“我准备3年之后自己创业”,傻子也会猜到这么说了没几个公司愿意录用你,其次,“我打算一直在xxxx这样的公司工作”基本上就是最标准的答案了。同理,“你为什么要来这里应聘?”这个问题也类似。不要让别人看了你的问题就猜到你的一些倾向,从而让他去根据这去回答,尽管你的本意可能是好的。

4. 少问考察记忆力的问题。

我承认这类问题在某种程度上确实可以反映应聘者的熟练程度,比如,我用shell很熟练,我确实能够记住$!,$?,$$标示什么意思,但我记不住就能说明我shell能力不够么?如果是,那整个man手册的内容你都可以放心大胆地去问了!!你当应聘者是man手册么?连你自己都知道遇到记不住的东西时我们可以去查手册这个东西!所以,这类问题如果非要问的话,你自己心里最好有个底:人家能回答上来说明他或许就是很熟悉,人家不能回答上来说明不了什么多大的问题!

5. 少问有“标准”答案的问题。

诚然有标准答案可以让你很容易地根据回答来判断应聘者的水平,但知道标准答案可能和应聘者的能力没太大关系,我应聘的时候有几个问题还正好是我应聘前一天看过的呢!!这除了能说明应聘者幸运之外又能说明什么?坐下来想想,问一些没有标准答案,没有固定回答的问题,比如:“你觉得C语言这门语言如何?为什么?”,“你见过最酷的C语言技巧是什么?”,应聘者何种水平,何种学习的态度,通过这两个问题的回答基本上就知道个差不多了!

面试时间宝贵,不要把时间浪费在无聊的问题上。和应聘者坐下来好好聊聊,谈谈编程的心得,工作的经验,说说自由软件的文化,黑客精神,开源社区,这些远远比问上面某些无聊的问题要好得多!

所以,诚实地来讲,很多面试基本上就是在浪费面试者和应聘者双方的时间……