本文由 dbaplus 社群授权转载。
其实很久以前就想谈一谈这个话题了,但是最近才有了足够的动机。因为从最近参加的很多 debrief 来看,我认为身边大多数的软件工程师面试中,在通过技术问题来考察候选人这方面,很多都做得不够好。
比方说,我看到一些对经验丰富的软件工程师候选人的面试,不少面试官依然是草率地扔出一道算法题让做了事,并且将能不能够比较清晰完整地把代码写出来作为裁定工程师级别的最重要的标准。 这样的做法我认为是非常不妥的 。
首先我要明确的是,这个“问题”指的是技术面试中俗称的 “主要问题”。具体来说,就是面试官会拿出一个问题和候选人讨论,并通过双方的互相沟通和问题发散来达到考察的目的。因此,这个 “问题”从某种角度来说,更像是一个 “话题”。这个过程每轮面试中通常会持续几十分钟,接下来的内容,都是建立在这种面试风格和方式之上的。
其次,作为一个 disclaimer,我想说,以下内容来自于我的认识,并且是针对于技术面试这一个狭窄范围内的认识,所以自然带有主观的倾向性和认知的局限性,它并不来自任何公司或组织的标准。
下面我就来尝试把这个问题讲清楚、讲透彻。我认为这并不是一件容易的事情,如果你对其有不同的看法,欢迎和我一起讨论。
Comments