一个新的面试思路
Max Howell被谷歌拒了offer,之后在twitter上吐了个槽,引来大批群众围观。因为我也只有机会坐在桌子被面的一端,所以对诸如考试和面试的事情有过很多想法,受Howell事情的启发有些补充,暂时记在这里吧。
首先我也来吐个槽。按照Howell的说法,他是去面ios相关的工作的,那么我建议谷歌这样:对于这些部门的任职人员,不定期重面算法,不合格者立刻滚蛋。事情看起来有些奇怪了,但是这与面Howell要求一致:在随意的时间点要能实现常见算法和数据结构。
严肃一点。其实很多考试和面试针对的是某种知识存量,更不客气的说是记忆存量。但是我认为真正重要的不是存量,而是流量,是获得和积累存量的能力。当然如果消耗的时间所有人都相同,那么存量是可以比较的,但是存量本身是个多维的东西,你不能在一个维度上的投影作为存量的可靠度量。用Howell的例子,"can’t invert a binary tree on a whiteboard",面试官实际上是用存量在数据结构/算法维度的投影作为存量的判断依据(实际上面试官也可能以为自己在衡量“能力”,一种“流量”的抽象说法,实际上更加扯淡 )。
(如果你不同意流量比存量更重要的观点,那我换个说法。在大学的面试辅导类的东西上往往会告诉你一些着装搭配的惯例,或者是行为谈吐的标准。如果我是面试官我完全不在乎一个人是不是正装穿了白袜子。我可以用10秒钟时间教会一个天才穿深色袜子,但我用1年也无法教会一个平庸的人如何成为天才——连我自己都不是如何教别人。See? 同样道理,我不会通过一个人是不是在面试官入座或者明确表示请坐之后才就坐来判断他是不是一个有“礼貌”的人——除非我是白痴。我可以用10秒钟的时间教会一个“有礼貌”的人表现的有礼貌,但几乎无法教一个表现的彬彬有礼的没有礼貌的人有礼貌。See? 用一些庸俗的词来解释就是,面试关心的不应该是现在能不能做到某些事情,而是将来能不能做到某些事情,为此付出的成本有多大。)
面试和被面试的双方处在对立的两边,所以请面试官们收起高高在上的心态,你们的挑战是透过表面的表现得到尽可能真实多结论。这在高端面试当中还是普遍认可的。换句话说,你要在彬彬有礼之间的蛛丝马迹中判断他真正的文明程度,在面算法的过程中判断他理解和解决问题的能力,以免对方只是通过有针对性的准备在面试中表现优异。
etc...