写点什么

知乎万赞回答:程序员面试为什么被要求造航母,而工作拧螺丝?

发布于: 2021 年 04 月 19 日
知乎万赞回答:程序员面试为什么被要求造航母,而工作拧螺丝?

最近,程序员圈子里流行着一种说法:面试造航母,工作拧螺丝

它描述了程序员工作中的一种怪象,面试的问题各种高大上:

什么分布式事务怎么实现啊

什么消息队列怎么保证幂等性啊

什么 JVM 的调优啊

。。。。。。

诸如此类


然而,过五关斩六将,一路拼杀下来,终于拿到了心仪的 offer,入职以后,每天干的工作却是一些简单的增删改查,又或者是技术性不强的业务代码编写,甚至是一些拷贝粘贴的日常性工作,与面试时的情况大相径庭,不禁让人大跌眼镜。这种说法之所以能够流传开来,肯定是引起了广大码农们的共鸣,想必很多人都遇到了这种情况。


那么,如此强烈的反差和对比,到底是什么原因造成的呢?本文就试图来一次大猜想,对个中缘由进行一些分析和总结。



工作必需


在展开表达之前,我先说一个关于办卡的小故事,前一段时间,我去欢乐谷游玩,当时他们正在大力推销年卡,一年之内可以不限次数地进园游览,价格也相对公道,所以很多人都选择了购买年卡,我也不例外,办卡的流程比较简单,一共就三步:交费,拍照,制卡。轮到我了,交费和拍照都非常顺利,可是到了制卡这一步却出了问题,那个制卡机不能吐卡了,工作人员当时也比较着急,按了按某些按钮,并用手拍了拍机器,都没有起作用,制卡机依然不能正常工作,这时候,工作人员只好抱歉地让我等一等,她叫来了另外一个看起来更为熟练的同事,很快就把机器修改好了,我也顺利地拿到了我的年卡。


这个故事像极了程序员的日常工作,没错,如果一切如你所愿,用户输入的数据非常规整,服务器永远不会 donw 机,网络也不会抖动,各种系统参数的设置也是恰如其分,那么,你只需要掌握基本的编程知识和技能就足以应对了,然而,理想很丰满,现实很骨感,各种异常情况、各种突发状况层出不穷,让人应接不暇,况且,业务还在飞速发展,技术还在不断更新迭代,绝对没有一劳永逸的工作,特别是对于程序员这种职业来说更是如此,这个时候,如果你仅仅只会拧螺丝,对于编程的系统知识掌握不够深入,对于技术栈的学习不够全面,那么,你就会像那个工作人员一样,面对问题时束手无策,只能求助于他人了,偶尔一两次倒也不伤大雅,但长此以往,就只能被 IT 圈所抛弃了。


这确实是一个客观现实的原因,虽然我们可以调侃这种现象的荒谬,但如果静下心来思考,会明白这种现象存在即合理,只有全副武装了自己,让自己具备“造航母”的一身本事和格局,那么,我们在日常拧螺丝的工作中,才能更加举重若轻,游刃有余,况且,在工作的舞台上,只要你足够优秀,足够突出,慧眼识珠的领导们自然也会让你开始“造航母”的,如果入职以后,你一直还在拧螺丝,可能就得反思一下了。


这是第一个原因,也是最务实的、最有可能性的原因,我们接着来看下一个。




面试官装 X、炫技


第二个原因就是面试官装 X、炫技,这种情况也会经常发生。作为一个面试官,他其实是有心理优势的,自然而然的就认为自己的水平一定高过候选人(当然这是错的),更有甚者,一些有自卑心理的面试官,会问出一些所谓“高深”的问题,来显示自己的能力和水平,这种情况下,如果通篇问下来都是诸如以下的问题,是显示不出面试官的水平的:

Java 有几种基本数据类型?

break 和 continue 有什么区别?

MySQL 中对数据分组是哪个关键字?

数据库事务有哪几个特性?

消息队列常用的有哪些?


如果全是这样的问题,是不能体现面试官逼格的,他必定是要问你秒杀系统怎么设计,分布式锁怎么实现,一致性哈希的实现原理,等等,这样才能提高他的身段,换句话说,有些面试官甚至把面试当成了自己装 X、炫技的一个舞台。


这是第二个原因,这种情况的可能性也不小。




拒绝候选人


第三个原因就是通过一些高深的问题来拒绝候选人,面试的时候问你怎么“造航母”,直到你回答不上来,然后让你感觉达不到职位的要求,通过这样的方式来将你拒之门外。什么时候会发生这样的情况呢?可能性也比较多:比如面试官是一个古板的人,但你的言谈举止稍显轻佻;比如面试官非常讨厌纹身,但你恰恰在显眼处纹了一个;比如面试官是个洁癖,但你当天恰好没有收拾得那么干净;甚至,你长得像面试官前女友的现男友。。。


这种情况其实是存在的,很多时候,面试就跟相亲一样,如果没有眼缘,或者气质相去甚远,那么面试成功的可能就会变得很小,既然气场不合,那面试官就会想方设法打发你走,问一些高大上的问题就成了一种常用的手段,这样至少不会把气氛搞得很尴尬,最后也让候选人知难而退,而真正的原因也有面试官心知肚明了。


压价

第四个原因就是压价,候选人可能各个方面都比较合适,但要价相对偏高,那这种时候怎么办呢?其中一种手段就是问一些深奥的问题,压压候选人的锐气,让候选人觉得自己原来还那么多东西没有掌握,然后面试官再适时地提示薪酬方面的问题,受到打击的候选人可能就会在工资问题上做出让步。


看看,这种迂回战术在面试过程中也是存在的,项庄舞剑,意在沛公,表面上看起来是问你技术问题,但其实是嫌你要的工资太高了,特别是,如果你的期望薪酬还高过面试官的话,甭提他心理有多不爽了,当然得搞一些难题来为难为难你。学海无涯,知识的东西是没有尽头的,面试官既然能做为面试官,必然有他的过人之处,至少也得到了大家的认可,所以他要想问倒你,其实是不难的。


这是第四个原因,除了上面提到的这些,还有一些其它的因素导致了这种现象,我们来看最后一个原因。




其他方面

还有一些其他原因导致“面试造航母,工作拧螺丝”:


  • 面试官的心情不好。比如面试官上班坐地铁的时候,被人踩了一脚,心情异常不美丽,或者面试前与产品经理吵了一架,或者刚好被领导批评了,这时他正想找个人发泄一下情绪,通过问一些“造航母”的问题来虐一下候选人,来找一些心理上的平衡。

  • 套方案。在研发过程中遇到了一些非常棘手的问题,暂时又没有找到一些好的解决方案,把这种问题当做面试题,试图从候选人那里获得问题的解决办法,这种情况也并非罕见,因为问题较难,所以当然会归到“造航母”的类别。


上面罗列了“面试造航母,工作拧螺丝”这种怪象的种种原因,你觉得还有其他原因吗?欢迎来补充。


推荐阅读

为什么阿里巴巴的程序员成长速度这么快

纳尼?SpringCloud要被淘汰了?

阿里架构师【柏羲】带你揭秘架构项目实战与源码解读:微博+B站架构设计、JUC核心、Mybatis源码

进大厂也就这回事,工作2到3年后进大厂操作指南

看完三件事

如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:

点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。

关注公众号 『 Java 斗帝 』,不定期分享原创知识。

同时可以期待后续文章 ing🚀

用户头像

还未添加个人签名 2020.09.07 加入

还未添加个人简介

评论

发布
暂无评论
知乎万赞回答:程序员面试为什么被要求造航母,而工作拧螺丝?