您现在的位置是:首页 > 文章详情

程序员的三大难题:秃顶、面试、找女朋友

日期:2018-10-28点击:439

如果说女朋友是程序员会遇到的第一大难题的话,那么白板面试应该是当之无愧的排行让程序员最头疼的第二大难题,秃顶勉强排在第三。

多数程序员都不太喜欢跟外行解释程序员到底是干什么的,但是因为白板面试太遭程序员恨了,以至于多数也不得不跟外行吐槽什么是白板面试,可见白板面试到底有多让人头疼。

img_fc06e3cbdf8f6d860478d179ff62c85f.jpe

很多人都觉得白板面试饱受诟病,但是不论国内外,白板面试反倒是越来越火。也许是被谷歌这种大公司带的头,到现在白板面试倒发展成为程序员面试的行业入门标准。

什么是白板面试?

白板面试指面试时,面试官要求不借助 IDE,互联网等工具,直接在白板或者纸上手写代码以实现某块功能。跟上学的时候闭卷考试那种感觉差不多。

不论是在墙内还是墙外,各种平台上都少不了程序员们发泄自己愤怒,狂怼白板面试的例子。其中最最最为著名的例子当然非 Max Howell 莫属了。

都说拥有一个好的 Github 是面试一份好工作的敲门砖,然后 Max Howell 著名的开源项目 Homebrew 却不能敲开谷歌的大门。

img_010c3996f47767e3eebcaff7527c5a80.png

被谷歌拒绝的原因很简单,就是因为 Max Howell 无法在白板上写出翻转二叉树的算法。之后不久,LeetCode 上就出了这道题,并且难度被定义为简单。

img_bda0ce9445282c7ef59e7413bcbfb740.jpe

然而大牛居然解决不了一道基础的算法题倒是让大家惊讶,具体原因 Max Howell 也没说。后来只是发个推吐槽了谷歌的白板面试。

img_f08ccc076fbfb0ce400df0176e3561cd.jpe

但是毕竟是大牛,有实力的大牛因为一个小问题没被谷歌录取,当然在互联网上被程序员们热议。甚至因为这件事,不少程序员开始纷纷响应,开始各自站队,互联网上还兴起了一次取消白板面试的抗议。

说到这里,也给大家推荐一个架构交流学习群:614478470,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,相信对于已经工作和遇到技术瓶颈的码友,在这个群里会有你需要的内容。

那么目前的白板面试到底有哪些弊端?

程序员平时都是用 IDE 写代码,而且多数情况下还需要面向搜索引擎编程,突然冷不丁地让你用墨水写代码,一下子肯定不习惯。再加上面试的时候本来就紧张,还有面试官一直盯着你,面试者肯定感到不安。

img_02bbd1aa0e241853f0874f31561fd8f7.jpe

那个时候的心情,估计比考试监考老师一直站你旁边看你卷子还复杂。

img_3d74b7d7b52df2e4d165ebf63511e916.jpe

而且再加上现在白板面试被越来越多的公司效仿,很多公司只一味的跟风,觉得别人面试都要用白板面试,为什么我们不用,导致最后只是为了用白板面试而白板面试。而用白板面试真正的原因是什么,却又没有学到。

举个糟糕的白板面试的例子,面试过程中,问的问题过于刁钻困难,以至于这些问题在以后工作中根本涉及不到。这样搞根本不能筛选人才,或许刚毕业在学校期间有过一些算法经验,然而并没实战多少的大学生更能适应这样的面试。

而且白板面试的过程中还要严格要求写代码的时间,加上面试官也特别不友善,面试的时候函数名记不住了不跟你说,需要第三方的api的时候也不给你提供,最后还要求写完了的代码要一次能编译过。

这样下来,有能力的面试者反而被淘汰了。

img_738dae7323cd0eba09939f9df6dca6c4.jpe

正是因为白板面试过于泛滥,也出现了一种面试前面试者们都去刷题的现象,也就只是为了适应白板面试,这样子搞下去,就跟应试考试没多少差别了。甚至有的面试者为了一个面试要准备几年时间,在LeetCode等网站上刷一大堆5天高考3天模拟。

img_9ccd514eae69a6e514ddc030057500a2.jpe

其实我觉得,白板面试并没有错,错误的是白板面试的方法。白板面试更注重的应该是解决问题的思路,如果函数名记不住了,或者需要api,面试官应该提醒。如果写出来的代码编译不过,面试官应该与面试者进一步讨论如何解决问题。

想要学习Java高架构、分布式架构、高可扩展、高性能、高并发、性能优化、Spring boot、Redis、ActiveMQ、Nginx、Mycat、Netty、Jvm大型分布式项目实战学习架构师视频免费获取 架构群:614478470

点击链接加入群聊【JAVA高级架构】:https://jq.qq.com/?_wv=1027&k=5gMDouY

当然,如果不跟风的话,给面试者提供一台电脑,最好给面试者提供他熟悉的开发环境,让他有充足的时间测试,如果还能面向互联网编程,或许更能更好地反应出面试者的真正实力。

原文链接:https://yq.aliyun.com/articles/676288
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章