V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hakunamatata11
V2EX  ›  推广

为什么有面试官喜欢让面试者用纸笔写代码?

  •  
  •   hakunamatata11 · 2020-11-30 16:13:43 +08:00 · 551 次点击
    这是一个创建于 1461 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Talk is cheap,show me the code.

    我面试的话更倾向在白板上写代码,特别是算法面试环节。一方面,白板可以供候选人打草稿,我可以看到他的思考过程;另一方面,脱离 IDE 环境写代码,也能看出代码基本功是否扎实。

    此外,白板写代码会有一种技术讨论的氛围,这其实比较还原平常工作时的状态,也能从中看出候选人沟通能力如何,以及是不是适合共事。

    以我在 Facebook 做面试官的经验来看,通过白板面试,至少可以看出候选人 3 个方面的能力:

    首先是沟通能力,面试官给出一道题,你能不能准确理解题意,能否问出有价值的问题;是和面试官讨论完再做题,或是边沟通边做题,还是埋头写完再解释?这些都可以纳入到面试考察里。

    其次是逻辑思维能力,一种情况是你很快做完题,这时面试官一般会继续追问问题,看你能否快速反应和解决。另外一种情况是你不会,但是在面试官的提示下能够 move fast,给出自己的想法和方案,并进一步优化。

    最后是代码质量。资深面试官从你写出的几行代码一般就能看出个大概。包括代码有没有写完,代码风格好不好(比如可读性,变量名、函数名命名等)。越高级别的面试官可能越在意你的代码质量。

    实际上,确实有很多程序员一旦不用 IDE 或者编辑器,感觉就不会写代码了。有人吐槽没有必要用纸笔写代码,很多公司也认为白板写代码并不能很好地评估候选人的技术能力,所以也出现了一批面试不用白板面试的公司。

    Github 上有一个叫**hiring-without-whiteboards**的项目,里面列出了全球范围内超过 700 家面试不用白板、不做算法题的公司。

    那么问题来了,这些公司面试不考算法,都面些啥?

    这里主要有两类,像美东的公司一般比较看重基础,面试问题集中在项目经验和专业基本功,有点类似国内中小公司的面试风格;

    另外一种是 take-home exercise,即家庭作业,一般是完成某个小项目或者 code review。通过之后才有现场面试的机会,而现场面试的内容大多也是接近实际工作的编程项目,一般跟入职后的工作会有一定联系。

    比如 Slack 这家公司一直以来保持不考算法的惯例,并且技术面试可以随意查阅参考资料。他们以前发了篇公司如何改进技术招聘的博文,有兴趣的同学可以去了解下。

    其实比较下来可以发现,不用白板的面试并没有简单多少。像 Slack 这样的公司更看重候选人代码准确性和代码质量,对细节和设计的关注以及对测试重要性的理解;而国内公司也有阿里这种技术知识点问到你怀疑人生的面试。

    所以无论是从候选人还是面试官角度,用纸笔 /白板写代码真的是最简单高效的面试方式了

    最后,欢迎来看**九章算法班**首节公开课分享。我会详细讲讲如何高效刷题,面试中如何正确和面试官沟通,以及提高代码质量和培养 bug free 的能力。帮助你最短时间内搞定算法面试,再也不虚手写代码。

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2632 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:57 · PVG 18:57 · LAX 02:57 · JFK 05:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.