查看原文
其他

程序员装逼被怼,决定用面试证明自己,结果......

三级狗 CSDN 2019-03-31

作者 | 三级狗

责编 | 伍杏玲

人们都说,这个世界上有两种人注定单身,一种是太优秀的,另一种是太平凡的。我一听,那我这岂不是就不优秀了吗,于是毅然决然地和女朋友分了手。

人们都说,互联网寒冬来了,这个时候还在大面积招人的公司,必然是牛逼的公司。而这个时候勇敢跳槽的人,必然是牛逼的人。

于是在2019年1月25日下午14:00,我开始了字节跳动的社招面试。



为了这天,我前一天排老长的队理了个利落的发型,胡子刮得一干二净。穿上崭新的新百伦999,连袜子都是崭新的NB,墨绿色工装裤配酒红色卫衣,外面再搭一件精致的黑色羽绒小坎肩,准时出现在电脑屏幕前,准备开始视频面试。

去面试头条,你最好有点心理准备。曾面试过头条的好兄弟给的忠告。

不过邮件对考查内容写的一清二楚,所以一面我并没有做太强的心理建设,事实证明我可能对通用型业务和软性技能的理解还不够透彻。

此时画面里出现了一个面积很小的房间,面试官坐在里面调节姿势和座椅靠背。

这不是我第一次视频面试,但我却比第一次面试的时候还要紧张。面试官跟我的一位闷骚的朋友很像:长相、气质、说话声音如出一辙,我差点问他这些年跟郑州的那个女孩子还有没有联系,孩子到底是不是你的?

确认过眼神,我们在紧张和局促中正式开始面试,前戏的部分大同小异:自我介绍、公司职能、项目简介。

小作坊走出来的小猿,项目经验并不出彩,没有高并发、没有分布式、前端后台服务器和数据库部署在同一台机器上。

为了显得不太low,于是假装不经意地提了提自己在GitHub上的开源框架,但是他并不care。我的花样耍完了,就到了他肆意挥舞小鞭的环节。

“我看你项目上都是偏独立开发,或者你一个人在项目中承担了很大的比重。那你能不能说说你们的项目在部署时用的是怎样的架构?”

“主要就是Django部署那一套,nginx+uWSGI+Django+MySQL。”

“那你详细说一下nginx在部署的时候有哪些必要的配置?”

“我在nginx里配置了端口的转发,对外监听80或443,然后转发到内部uWSGI的端口,由uWSGI来处理业务请求,部署Django项目。”显然我对nginx的认知仅仅局限在配置端口反向代理,所以我偷换概念企图蒙混过关。

“不是,我的意思是nginx当中不是有很多参数配置吗?那你在项目部署的时候哪些参数是必要的配置,有哪些可以调优的?”

对方识破了我的小伎俩,并不给我蒙混过关的机会,无奈我只得低头认怂,表示并没有用过其他配置,出师未捷就挨了当头一棒。

“那你再说说uWSGI的工作原理,底层是怎么工作的?”

因为紧张的缘故,原本不会的知识,一下子变得还是不会。囫囵吞枣地讲了它是代理一个服务端口,分配不同的线程处理客户端浏览器的请求。

“那他的底层是怎么实现的?”

看来我不求饶,他就不打算放过我(这里省略一些不清楚、不知道、忘记了之类的词藻,保留一丝尊严)。

接下来是关于Redis哲学三连:是什么?为什么?怎么用?

我把肚子里仅有的关于Redis的一滴墨水挤成了三滴,仍然没有给出他想要的。继续追问Redis的数据存储方式、操作方法、读写操作在底层都是如何实现。

好深。

除了低头委屈地说不会外,我已经意识到了问题的严重性,平常面试你只要一喊不行,对方就会体贴地换一个方向继续深入,这次我都快被搞哭了,他居然换了个姿势继续往深怼,这谁顶得住啊。

到了这一步我的心理防线基本宣布告罄。往后又问了关系型数据库表的存储结构,我隐约记得是毕加索还是毕加树来着,又被到索引的实现原理,索引为什么能加快查询效率。

其实面试官的套路大多如此,每个技术都尽可能的深入,深到你不会为止,并不是非得要把你折磨得不能自理,而是为了考察你的技术水平到底如何。

但是事到如今我的大脑已经无法给自己完成心理建设了,摧枯拉朽般智商情商性商逆商全线崩盘。

当然这也不能全怪我,上来就是三个大闷棍,就是李云龙来也让旅长打成懵逼了,哪里还能腾出精力开意大利炮。

下一个节目到了数据结构,面试官稳准狠一步到位点到了我的敏感地带:堆。

什么是最小堆?什么是最大堆?在堆中怎么插入一个元素?

我居然急中生智,鬼使神差地用了四种不同的方式表达我不会,每种方式都尴尬而不委婉,并且还不重样。

好歹面试一波儿不能让人家觉得我一无是处,多少还算有点文笔。

如果我平时稍微多看一眼,知道堆的实现方式是完全二叉树,这一连串的问题不至于答不上,面试的时候我记得看过栈和队列,完全不知道堆是怎么实现,下来才知道就是个完全二叉树。

这个时候的我已经被折磨得身心俱疲了,面试已经持续了将近四十分钟,嘴开始打漂,情绪紧张思维也难以集中,回答中开始大量出现“我感觉”、“我猜”、“可能”、应该”是等高危词汇。

死亡轰炸还没有结束,接着是MQ,我所使用的MQ的技术选型,为什么选它,项目中如何应用,最后无一例外,它底层是如何实现?怎么保证的稳定的消费者生产者队列?

回答的中间穿插着我不自信的连接词“嗯~啊~哼~哦~”。

每次我招架不住求饶喊着不要不要的时候,我都能看到面试官嘴角狡黠的微笑,由内而外的快感浮现在脸上憋都憋不住。心里暗暗发誓迟早有一天,我也要在上面。

最后以一道算法编程题结束,如何给一个双向链表排序?

我失去控制的舌头自作主张地把话锋导向了快速排序,没想到面试官说,”那你来写一个双向链表的快速排序吧,这个视频页面上旁边有一个编辑器,语言你随便,用C++或Python都可以,大概10分钟的时间,可以吧?“

“那,我用C++试一下吧。”

我随即在编辑器里自信的def了一个QuickSort函数,参数是一个int数组,还有两个int值代表low和high两个档位,函数末尾加上冒号,下一行开始缩进四个空格以示尊敬,当然代码段的区分花括号必须得有。

写完这几句,双手这才收到了大脑已经在十分钟前宕机的消息,于是两手一摊表示无能为力。

时间才过去一分钟,剩下时间我开始拿纸笔低头写字,沉默的面试官抬头看到还以为我在纸上排演算法,可实际上我是在拼尽最后一丝脑力回顾刚才他问我的问题,倒不是为了面试后好好复习,主要是我一会儿要写文章,哈哈,我可真是个小机灵鬼。

期间面试官也用自己的电脑快速地敲击键盘,听声音猜大概是在吐槽HR,筛选简历的时候长点心,找来面试的这都什么玩意儿。

时间差不多了,再一次厚着脸皮主动承认自己写不出来。实际上,我哪怕正经用C++写一个数组的快速排序也算话,然而当时的我满身只剩下疲惫,痛苦和羞辱。

面试官终于放我走人,长达一个小时的激情视频聊天终于结束,关掉视频的一刹那,随着浑身一阵抽搐,整个人瘫软在椅子上。

我是谁?我在哪儿?刚才发生了什么?



我之前对那种事情还挺向往的,内心对此充满了激情和憧憬,怎么现在对这件事情一点兴趣也没了?

现在只想这么瘫着什么也不想做。要不要点根烟抽抽?对了我不抽烟。原来贤者时间脑子里这么多想法……

飘飘忽忽浑浑噩噩,脑海里一直回荡着周董的音乐:这感觉已经不对我最后才了解,一页页不忍翻阅的情节我好累,你沉默看我掉过几次泪多憔悴,而我心碎你受罪你的Offer,我不配!

面试过程和提到的问题大致如此,为了阅读体验有部分艺术修饰,但是内容全部都是真实的。接下来咱们说点正经的。

现在的我只想把头插到土里再也不出来,之前写过超级浓的鸡汤,讲学习方法,被技术号拿去直接顶置到现在;

写过高赞,讲连连看的外挂,到现在还有人私信问我能不能做外挂的私活儿,一天上千的利润;

作为培训讲师,讲培训机构内幕,有上海北京的培训机构给到一小时1K了我不想去,想趁年轻进大厂做技术。

在大家一顿商业吹捧之下就真的以为自己是个大佬了。有极少数的人在评论区怼我说花拳绣腿,说我二本渣渣热衷于误人子弟,我都不以为然,心里想着等我有一天拿着大厂的Offer回来证明自己!

到今天总算知道他们说的是对的,打嘴炮和真有能耐是不一样的。之所以一直没有大佬来怼,可能是因为大佬不屑一顾。

今天这轮面试算是被扒了个体无完肤,可以说是程序员面试的反面典型,当然我也不怕说出来:菜就是菜,吹水就是吹水,努力把吹过的水早日兑现,迟早有一天能成真正的大佬!



这次作为Loser再说说在求职前期准备过程中暴露出的问题,望大家引以为戒。

1、尽量早早做好准备

面试不应该是准备好了才去,而是时刻都准备好了。

如果非要说从什么时候开始准备离职跳槽,我的建议是半年。别像我一样,面试了才开始看算法和数据结构。

2、先找小公司面几次进入状态,再投大公司一举拿下。

我一开始就动用了所有的人脉,投了BAT及其他二线大厂所有的内推。

算上字节跳动已经是我黄掉的第三个响当当大厂了,踩着大厂当垫脚石攒面试经,除了觉得自己蠢,我还觉得自己真牛逼。

3、你的简历,就是复习大纲

总有人拿网上找到的拿了BAT Offer的人提供的大纲复习,结果发现并没啥卵用。

我这次字节的面试,他提出的所有问题全部是基于我简历中的技能清单。

我认为很多人但凡能做到简历中技能清单描述的样子,就已经算了不起了。如果简历中感觉无料可写?我推荐一个好办法:

  • 听说过名字,就写了解;

  • 跟着帖子写过Demo,就写熟悉;

  • 项目当中用过,就写熟练掌握;

  • 项目当中经常用,就写精通;

我就是这么写的,结果很显然:出来混,总是要还的,敢装逼,就活该被人凌辱。

4、警惕舒适区

不得不承认我在现公司真的非常舒服,领导非常器重,项目和授课两不耽误,去大学实训总是受到学生的追捧,手里时不时还能接到价格公道的私活儿。

之所以想走,一方面是因为心中对大厂和技术的执念,另一方面是因为现在已经到了给自己规划的时间,碰巧赶上互联网寒冬是没有办法的事,但是我仍然坚信真正牛逼的人是不会被寒冬所阻拦。

最近的几波面试直接把我打到怀疑人生了,面试完后双目无神地望着天花板不知道该如何评价自己。

授课到现在带过的学生虽然不多,但是送进一二线大厂的没有二十个也有十几个了(我们机构不造假学历,都是实习生进的),怎么我这个老师找工作这么费劲?是道德的沦丧还是人性人扭曲?是大厂真的飘了还是我确实拿不动刀了?

“如果程序员对职场感到迷茫,对眼下的舒适感到不安,我建议他出去面试,不见得要走,但是你要出去,听听市场对自己的评价。”

这句话是在一个求职公众号里看到的,我觉得不光程序员,任何职场人都该深以为然。

我对职场虽不迷茫,但是面试一波就发现,我在毫无意识的情况下,在工作三年这个节点成长上已经被人甩下一大截,更要命的是对基础知识的掌握程度完全比不上应届毕业的实习生。

往后日子里赶紧老老实实看书,踏踏实实做事儿,早日兑现自己曾经吹过的牛逼。

作者:三级狗,知乎编故事,微博写段子,偶尔毒鸡汤,碗底见砒霜。

原文:https://www.zhihu.com/question/31225105/answer/582508111,已获得作者授权。

声明:本文为作者投稿,版权归其个人所有。

【完】

 热 文 推 荐 

☞ 光凭 5G 根本无法解决宽带问题!

☞ 爬取 4400 条淘宝洗发水数据,拯救你的发际线!(附代码和数据集)

 如今,你感受到内存技术的“思维速度”了吗?

☞ 程序员写代码没激情该怎么破?

☞ 跨界打击, 23秒绝杀700智能合约! 41岁遗传学博士研究一年,给谷歌祭出秘密杀器!

☞ 90后美女学霸传奇人生:出身清华姚班,成斯坦福AI实验室负责人高徒

☞ 神操作!这段代码让程序员躺赚200万?给力!

print_r('点个好看吧!');
var_dump('点个好看吧!');
NSLog(@"点个好看吧!");
System.out.println("点个好看吧!");
console.log("点个好看吧!");
print("点个好看吧!");
printf("点个好看吧!");
cout << "点个好看吧!" << endl;
Console.WriteLine("点个好看吧!");
fmt.Println("点个好看吧!");
Response.Write("点个好看吧!");
alert("点个好看吧!")
echo "点个好看吧!"

喜欢就点击“好看”吧

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存