饱受诟病的白板面试,为什么沿用至今?
很多人都觉得白板面试烂!透!了!
明明跟职位要求基本没有关系,每天却都有上千名优秀的工程师们仅因为做不好CS 101 types of questions而错失机会。然而多年以来,白板面试已经渐渐变成了行业入门的标准,不可能瞬间就颠覆。
个人而言,我从刚刚步入职场时就认为“白板面试很愚蠢”。
虽然我很喜欢解决谜题,但是在进行白板面试的时候,我无法传递出我可以给公司带来的真正价值所在,这让人心很累。与其花时间去练习白板面试的技巧,我更倾向去责怪整个流程、公司、面试问题或者是面试官。
虽然我最后还是找到了工作,但是仍然因此错失了许多好机会。
白板面试制度仍会继续留存
的确,使用白板面试有很高的拒绝优质人才的几率,但雇佣不合适员工的几率却很低。
在花费百万美金的高薪雇佣一个人之前,公司HR只有一、两天的时间可以跟潜在雇员互动交流。所以,相对于假阴性率,公司更看重假阳性率。没能雇到好员工只会相对损失4-5小时的高质量工作时间,但是如果雇到不那么优秀的人的话,长期的损失是不可计量的。
的确有非常多的优秀工程师不善于进行白板面试,然而同时,能在白板面试中脱颖而出的蹩脚工程师(如果有的话)也很少。
假设一家公司拥有稳定的潜在雇员来源,那么这家公司对白板面试的推崇就可以理解了。
并无隐藏议程
我之前总是觉得,我在白板面试中被拒并不是因为我表现不好,而是因为我跟面试官的背景不同。我以前当过兵,我做过前端工程师,我不是名校毕业,我用了不对口的编程语言,我用了不对口的框架…
但当我看到一个朋友同时获得了Google和Facebook的offer,并且这两家公司抢着要雇他的时候,这种误解烟消云散了。我的朋友并没有名校的CS学位,英文也讲的不太好,他只在美国住了1年。但是他苦练的白板面试技巧已经炉火纯青了。这就是他成功的唯一秘诀。
我开这个博客的动力之一就源于对白板面试的厌恶。我认为潜在雇主需要一种白板面试之外的途径来了解我,这个博客确实起了作用,但是跟我的预期稍有不同。
我期待的是,有人对我说:“你很棒,来跟我们一起工作吧”,但是我收到的信息却是:“你的博客看起来挺好玩的,来面试吧”。
这事发生的头几回,我特想哭。
然后我意识到:除非我做了一些真的很惊人的事情,没有人会以这样的方式雇佣我的。写博客或者做一个开源项目并不能给你找到一份工作。得到面试机会,可以;但得到正式工作,不行。
Homebrew的创始人在推特上说:
“Google:我们90%的工程师都用你写的软件,但是你不能在白板上反转二叉树,所以滚蛋吧。
——Max Howell(@mxcl) 2015年6月10日”
连brew都不能当成Google的敲门砖,那么那些博客和开源项目更不行了。
那Google的敲门砖究竟是什么?做好白板面试啊!
我喜欢写博客,我会一直做下去。如果我的目标是得到更多offer,那我最好把时间都投资到准备工作面试里去。博客是分享知识和促进个人成长的好工具,但是对职业生涯几乎没有帮助。它确实可以帮我拿到很多面试机会,但是一个漂亮的简历也可以起到同样的作用。
投资会持续得到回报的
像我刚才说的,我刚工作的时候是一名前端工程师。我只在这个领域全职做了五年。在那段时间里,我们至少经历了技术堆栈的三场大革新。刚开始的时候,大家都在用Backbone和jQuery作为主要工具,然后Angular 1占了上风,在一两年之后,React成了主流。
我为什么要说这些?
因为,不像前端技术,白板面试几乎不会改变。即使我现在已经是Angular 1的高级开发者,没人在乎的。这个技术太老了。
如果我把这些时间用来把自己培养成一个“高级白板工程师”,那么这种技能会让我持续受益很多年。
经验 !=不需要写白板
我曾经认为,丰富的经验就可以让我避开白板面试。对领导和建筑师这样的职位来说确实是这样的,但是对普通软件工程师来说,情况就不同了。
我自己练习白板面试的最佳时间是在大学三年级,那时候我正在学算法和数据结构,当时我的大脑已经习惯用C快速准确地解答问题。
完成硕士学位的时候,我去参加了第一场技术面试,到底面了什么我已经不记得了。当我被要求去解释一下如何计算一个二进制搜索算法的时间复杂性的时候,我震惊了。我记得应该是一个log(n),但是背后的数学原理我早就忘记了。
如今我在面试很多更有经验的程序员的时候,我也看到了许多熟悉的震惊/恼火/白眼,然后看他们挣扎着在一分钟左右完成一个非常简答的白板问题。或许我就是那个问白板问题的坏人。同时,这也是我犯给出一个假阳性错误的最佳工具,毕竟要进一步进行了解的话,还要花费45分钟的时间成本的。
多年的经验确实可以在求职上有所帮助,但是这是在他们的面试表现跟其他竞争者一样好的前提下才成立。如果我一定要在所谓的经验和白板面试佳绩中选一个的话,我一定会选择白板面试。我相信大部分其他的面试官也是这么想的。
不要把机会白白浪费
如果我能回到大学二年级,我就会更认真地听算法和数据结构的课,我会投入更多时间来准备白板面试。
目前为止,我的职业生涯还算不错。我在很棒的公司里,跟一群有意思的人当同事。话虽这么说,但是在过去的五年里,我无疑错失了许多良机,因为我没有花足够的时间来准备白板面试。
这是一个我想要补救的错误,我也会鼓励每一个人,不管是大学一年级新生还是经验丰富的软件工程师,去积极准备白板面试。反正不管我们喜不喜欢,白板面试是无从逃避的了。
资源
Programming Interviews Exposed
关于这个话题有很多书可以参考,我最喜欢的一本叫做Programming Interviews Exposed。还有很多其他书提供了例题和解答,但是这些也都可以在在线项目中获得。Programming Interviews Exposed这本书用简单易懂的方式概括介绍了面试者应该了解的所有内容。如果一个人要在面试之前读一本书的话,我会推荐这一本。
Coursera上的算法专项课程
我在Coursera上选了算法专项课程的前两门课(我那位拿到了Google和Facebook双offer的朋友也选了),是一组由斯坦福的CS教授Tim Roughgarden录制的视频讲座。我极力推荐这门课,特别是没有正式CS背景的工程师们,这门课将会对你大有裨益。
在线编程训练
现在网上有很多面试准备的项目,我最推荐的是Hacker Rank和Leetcode。
结论
我咨询过许多擅长白板面试的工程师,他们的秘诀就是——练习。
我的教官曾经说过“完美的练习创造完美”。准备白板面试跟军事操练的道理是一样的。
白板面试的制度不会改变。我们只能接受事实,然后利用它,把它变成我们的优势。
面试就是一场规则清晰的高奖金游戏,只能熟能生巧。
转载于:https://www.cnblogs.com/kungfupanda/p/7116407.html
饱受诟病的白板面试,为什么沿用至今?相关推荐
- 刷题百道却跪在白板面试?白板面试FAQ为你答疑解惑
专栏 | 九章算法 网址 | www.jiuzhang.com 你花了大量的时间学习如何编程.学习如何创建项目.终于你通过自己的努力收到了梦寐以求的公司发来的面试邀请函.但是这时候,你却发现你的面前又 ...
- 头条白板面试_如何在白板上组织您的想法并粉碎技术面试
头条白板面试 by Doug Arcuri 由道格·阿库里(Doug Arcuri) 如何在白板上组织您的想法并粉碎技术面试 (How to organize your thoughts on the ...
- 头条白板面试_我收到的最佳白板面试建议
头条白板面试 白板式采访在技术行业中无处不在. 对于那些不高兴的人,白板面试是一种在面试过程中要求候选人在白板,纸或计算机上解决技术问题的做法. 这种环境就像高压锅一样,甚至会使最称职的工程师崩溃. ...
- 头条白板面试_让我们谈谈白板面试和可能的替代方法
头条白板面试 by Sun-Li Beatteay 通过孙丽·贝蒂 让我们谈谈白板面试和可能的替代方法 (Let's talk about whiteboarding interviews and t ...
- 为什么白板面试总是过不了
针对这个问题,接下里我会给出一个解题五步走的模板,希望对大家有所帮助. 在此之前,我们首先需要了解为什么会有白板面试的过程.需要明确的是,它一定不是一个考试.面试是一个交流的过程,我们其实模拟的是在现 ...
- 只需 5 分钟看完这篇 HTTPS,去阿里面试和面试官扯皮就没问题了!
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:牛人 20000 字的 Spring Cloud 总结,太硬核了~ 作者:肖萧 链接:https://segme ...
- 看完这篇 HTTPS,和面试官扯皮就没问题了
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:为什么魂斗罗只有 128 KB却可以实现那么长的剧情?个人原创+1博客:点击前往,查看更多 下面我们来一起学习一 ...
- 备受诟病的导购,不过是在替屈臣氏挡子弹
(图片来源于网络) 文 | 易不二 来源 | 螳螂财经(ID:TanglangFin) 在疫情的冲击下,美妆行业似乎成了一把达摩克利斯之剑,一面是象征光辉的法杖,一面却是象征死亡的镰刀. 就像美妆集合 ...
- Python面试——基础面试题
文章目录 1.Python 和 Java.PHP.C.C#.C++等其他语言的对比? C语言既有高级语言的特点,又具有汇编语言的特点,它是结构式语言.C语言应用指针:可以直接进行靠近硬件的操作,但是C ...
- Java面试常考的 BIO,NIO,AIO 总结
文章转载自:JavaGuide 目录: 1. BIO (Blocking I/O) 1.1 传统 BIO 1.2 伪异步 IO 1.3 代码示例 1.4 总结 2. NIO (New I/O) 2.1 ...
最新文章
- mysql存储过程分析
- 决策树模型回归可视化分析_Excel进行线性回归模型分析的操作——「杏花开生物医药统计」...
- 判断一个对象是否是可调用对象
- 重庆理工大学计算机考研就业,重庆理工大学专业硕士含金量高吗?好就业吗?
- 作为一枚学生党,如何提升自己华丽转身
- Javascript称球
- Spring中的自动装配和Autowired
- 微信第三方登陆,无需注册一键登录,获取用户信息,PHP实现方法
- Emacs sql-mode 自动连接数据库 (当前仅支持MySQL)
- oracle存储过程中数组的使用
- 深入理解ARM体系架构(S3C6410)---认识S3C6410
- 混合云存储阵列 > 产品简介 > 应用场景 > 双活容灾
- 读书笔记--云边有个小卖部
- keybd_event()使用方法
- 电池供电的电容麦_板儿砖变电池?!是的,科学家已成功实现这一功能
- javascript 权威指南二
- 舆情分析系统技术解决方案及作用
- 深蓝学院-多传感器融合定位课程-第4章-点云地图构建及基于地图的定位
- 单片机串口通信c语言程序,pc计算机与单片机串口通信源程序
- 计科之路--linux学习
热门文章
- 计算机模拟计算 电脑配置,Material Studio材料模拟计算的工作站配置方案
- 雾霾天气下运动目标检测技术MATLAB
- 计算机专业,25岁成985高校博导,13篇顶会!入职半年发ICML,网友:万点暴击...
- python alpha通道_python opencv 为图片添加alpha通道并设置透明
- QCC3040---system state module
- 计算机分盘介质受写入保护,在win7中,U盘新建文件提示“介质受写入保护”怎么回事?...
- Oracle 触发器写法
- HTML+CSS初学者练习项目5:利用DIV+CSS制作个人CPS网站《汽车坐垫点评网》——首页
- 唯冠为何赢了苹果却不付律师费
- Excel——从文本中提取数字