background image

我是怎么招聘程序员的

我以前写过一篇

我是怎么招聘程序员的

的文章(在

CSDN  那里

很多人进行了回复)。今天,我想

再谈谈关于招聘和面试这方面的东西,主要是以下这些原因:

 

近半年来我在进行了大量的招聘工作,对面试有一些新的体会。

酷壳最近发布了几篇趣味面试题

面试题一

面试题二

面试题三

,从回复中让我有一些思

 

考。

我有一个同事最近面试了一家公司,他和我分享了一个博士专家对他的面试,也让我思考了一

 

些。

在豆瓣上看到

知乎上某人写面试豆瓣产品经理的经历,很欢乐

(亮点是面试官现身知乎亲自

作答) 

所以,我很想把自己的这些新的想法再次写下来的。还是和以前一样,这篇文章同样是献给面试官的。

我认为,面试的好坏完全在面试官而不是面试的人。下面是我对

我是怎么招聘程序员的

一文中的一些

加强性的观点。(关于一些点评,请参

本文下篇

为了让我的文章有连续性,请允许我重申一下前文的几个重要观点。

只有应聘者真实和自然的表现,才能了解到最真实的东西 

重要的不是知识,重要的是其查找知识的能力 

重要的不是那个解题的答案,而是解题的思路和方法 

操作,知识,经验,能力

我们有很多的面试官似乎分不清,什么是操作能力,什么是知识,什么是经验,什么是能力,这导致了
我们的面试官经常错误地对面试者下结论,我认为分不清这些事的人是没有资格做面试官的。所以,我

有必要在这里把这个问题先讲清楚。

操作。我们的面试官分不清楚什么是操作技能,什么是知识,他们甚至认为操作技能就是知

 

识甚至经验。比如他们会 问如下的问题,请问 Java

 

中的 final 是什么意思?怎么查看进程的

CPU 利用率?怎么编写一个管道程序?怎么查看进程的程序路径?VI 中的拷贝粘贴命令是什么?
包括面向对象的 XX

 

模 式是什么。等等。我以为,这些能够通过查况相关操作手册或是能够

google 到的东西只能说明这个人的操作技术,并不能说明他有知识或有经验  

知识。知识是一个人认知和学习的体现,可能会是一些基础概念和知识。比如这些问题:TCP

和 UDP

 

的优缺点比 较,链表和哈希表的优缺点的比较。什么是堆什么是栈?进程间是怎么通信

的?进程和线程的优缺点?同步和异步的优缺点?面向对象的 XX

 

设计模式的主要原则是 什么,

等等。我以为,

知其然 只是操作技术, 知其所以然 才是真正的知识。知识不够并不代

表他不能工作,会操作技能就可以应付工作,但是知识的欠缺一定会限制你的经验和能力,同样
会影响你的开发质量。

经验。经验通常跟一个人的经历有关系。一个人的知识范围,一个人经历过的事,通常会成

 

为一个人经验的体现。面 试中,我们会问这些问题:你解决过最难的问题是什么?你是怎么设
计这个系统的?你是怎么调试和测试你的程序的?你是怎么做性能调优的?什么样的代码是好的 
代码?等等。对于工作年限不长的人来说,经历和做过的事的确会成为其经验的主要因素,尤其
是业务上的有行业背景的东西。但是,我更以为,经验可能更多的是你对知识的运用和驾驭,

是你对做过事情的反思和总结,是你对他人的学习,观察和交流