互联网寒冬中的勇敢跳槽者:字节跳动社招面试全记录
作者丨三级狗

人们都说,这个世界上有两种人注定单身,一种是太优秀,一种是太平凡。
当我听到的时候?那我岂不是一个坏人?于是我毅然决然地和女朋友分手了。
人们都说互联网的冬天来了,这个时候还在大规模招人的公司一定是牛逼的公司。而这个时候勇敢跳槽的人一定都是牛逼的人。
于是2019年1月25日下午14点,我开始了字节跳动的社招面试。
为了这一天,我前一天排了很长的队等待理发和刮干净。穿着全新的New Balance 999,连袜子都是全新的NB,墨绿色的工装裤搭配酒红色的毛衣,还有精致的黑色羽绒背心,准时出现在电脑屏幕前,准备开始视频采访。
当你去采访今日头条的时候,你最好做好心理准备。采访今日头条的好朋友给了我一个建议。不过,邮件里明确写明了考试的内容,所以一方面我并没有做太多的心理准备。事实证明,我对通用业务和软技能的理解可能还不够透彻。
时间到了,屏幕上出现一个小房间,面试官坐在那里调整姿势和座椅靠背。这不是我第一次,但我比第一次更紧张。面试官和我一个闷骚的朋友很像,长相、气质、声音都一样。我差点就问他这些年和郑州那个女孩有没有接触过,孩子是不是你的……
确认了眼神后,我们在第一次见面的紧张和尴尬中正式开始了。前戏也差不多,包括自我介绍、公司职能、项目介绍。
一个从小作坊出身的小猿,他的项目经验并不出众,没有高并发,也没有分布式。前后端服务器和数据库部署在同一台机器上。为了不显得太low,他假装随口提到自己在GitHub上有自己的开源框架,但他并不在意。待我的招数结束后,他就该肆意挥动小鞭子了。
“我觉得你们的项目都是独立开发的,或者说你们一个人承担了很大比例的项目,那您能告诉我你们的项目在部署时采用的是什么样的架构吗?”
“主要是Django部署集,nginx+uwsgi+Django+mysql。”
“那您能详细解释一下nginx在部署时有哪些必要的配置吗?”
“我在nginx中配置了端口转发,监听外部的80或443,然后转发到内部的uwsgi端口。uwsgi处理业务请求并部署Django项目。”显然我对 nginx 的了解仅限于配置个人电脑。端口反向代理,偷偷改变概念,试图打通。
“不是,我的意思是nginx中有很多参数配置,那些参数是你部署项目时必须的配置,哪些是可以调的?”对方识破了我的小伎俩,没有让我得逞。机会,但我只好低头认输,说我没有用过其他配置,还没开始就受到重创。
“那请给我介绍一下uwsgi的工作原理以及它的底层是如何工作的。”
因为紧张,原本不知道的知识突然变成了现在还不知道。我很着急地谈论了这件事。它代理一个服务端口并分配不同的线程来处理客户端浏览器的请求。
“那他是怎么达到底层的?看来我不求饶,他是不会放过我的。”
……(这里省略了一些不清楚、未知、遗忘等词语,以保留一丝尊严。)
接下来是关于redis的三部分哲学:“它是什么?为什么?如何使用它?”
我把仅有的一滴关于Redis的墨水挤成了三滴,还是没有给他想要的东西。继续询问Redis的数据存储方式、操作方式以及底层的读写操作是如何实现的。
啊~好深啊。
除了低头说不之外,我心里已经意识到了问题的严重性。正常采访中,只要你喊“不”,对方就会体贴地改变方向,继续深入探究。这一次,我差点就哭了。他居然变了个姿势,继续攻击,这谁能抵挡……
至此,我的心理防线基本耗尽。后来又问了关系数据库表的存储结构。我依稀记得是毕加索还是毕加索树。之后又问了索引的实现原理以及如何创建索引来加快查询效率。
其实大部分面试官的套路都是这样的。每一项技术都尽可能深入,直到你做不到为止。不是要折磨你到生活不能自理,而是考验你的技术水平。但现在,我的大脑已经无法完成对自己的心理构建,智商、情商、性商、逆商全线崩溃。
当然,这也不能全怪我。三个大闷棍上来了。就连李云龙的到来,都让旅长愣住了。他哪有余力去发射意大利的炮火。
下一个程序涉及数据结构,面试官击中了我的敏感区域:堆。什么是最小堆?什么是最大堆?如何向堆中插入元素?
幸运的是,在这个问题上,我出乎意料地机智起来,用了四种不同的方式来表达我的无能。每一种方式都很尴尬、不圆滑、也不一样。至少我不能在一轮面试之后让人觉得我一无是处。我还是有一点写作能力的
事实上,我通常多看一下就知道堆的实现是一个平衡二叉树。这一系列的问题我实在没法回答。面试的时候,我记得脑子里看到的是栈和队列,完全不知道堆是怎么实现的。这时我才意识到它是一棵平衡二叉树。
此时我已被折磨得身心俱疲。采访持续了近四十分钟。我开始流口水了。我太紧张了,很难集中注意力。我的回答开始大量包含“我感觉”、“我猜测”、“也许”、“应该”等高风险词语。
死亡轰炸还没有结束,接下来就是MQ,我使用的MQ的技术选型,为什么选择它,如何在项目中应用,最后无一例外的是它底层是如何实现的?如何保证消费者-生产者队列稳定?答案中穿插着一些我没有信心的连接词“嗯~啊~嗯~哦~”。每次我按捺不住求饶喊不的时候,我都能看到面试官嘴角露出狡黠的笑容,由内而外的快感浮现在我的脸上,让我按捺不住。我暗暗发誓,有一天,迟早,我一定会登上巅峰。
最后以一道算法编程题结束。如何对双向链表进行排序?我失控的舌头自动引导谈话进入快速排序。然后,您可以为双向链表编写快速排序。该视频页面旁边有一个编辑器。你可以使用任何语言,C++或者Python,大概10分钟,好吧。
“那我用C++试试吧”
然后我自信地在编辑器中定义了一个快速排序函数。参数是一个int数组,有两个int值分别代表低档和高档。我在函数末尾添加一个冒号,并在下一行缩进四个空格。为了表示尊重,代码段当然必须用大括号来区分。
写完这些句子后,我的双手收到了十分钟前我的大脑已经关闭的消息,于是我摊开双手以示我的无助。仅仅一分钟过去了。剩下的时间里,我开始用笔和纸写字。沉默的面试官抬起头,以为我在排练纸上的算法,但事实上,我正在用最后一点脑力来复习他刚才问我的内容。问题不是面试后要复习,主要是因为我很快就要在知乎上写文章了,哈哈,我真是个聪明的小家伙。
这期间,面试官还用自己的代码在键盘上快速打字。从声音来看,他猜测他是在抱怨HR。筛选恢复时要小心。这就是他这次采访的目的。
时间快到了,我再次无耻地承认我写不出来。事实上,即使我认真地用 C++ 编写了一个数组的快速排序,它仍然算数。然而,那时的我,只有疲倦、痛苦和屈辱。
面试官终于放走了我,长达一个小时的激情视频聊天终于结束了。关掉视频的那一刻,我全身抽搐,瘫倒在椅子上。我是谁?我在哪里?刚刚发生了什么?
哦,那是刚刚发生的事。我曾经很向往那种东西,心里充满了激情和向往。为什么我对它不再感兴趣了?现在我只想全身瘫痪,什么都不想做。你想点支烟吗?哦,顺便说一句,我不抽烟。原来贤者时间的脑子里有这么多的想法……
飘零、朦胧,周杰伦的音乐不断在我脑海中回响:这种感觉已经不对了。我终于意识到了。我无法忍受阅读情节的页面。我太累了。你默默地看着我多少次流泪。我憔悴不堪,心痛不已。你受你的offer,我不值得~~~!
面试过程和问的问题都大致相同。为了阅读体验做了一些艺术修改,但内容都是真实的。接下来我们来谈谈严肃的事情。
说实话,现在我只想把头埋进土里,再也不要出来了。之前写过超浓鸡汤,讲了学习方法,但是被技术号拿走了,直到现在才放在上面;我写了很高的评价,讲了连连看。至于插件,现在还是有人给我发私信,问我是否可以给插件做私活,一天赚几千块的利润。作为培训讲师,我给大家讲讲培训机构的内幕。上海、北京有培训机构给我1k一小时。我不想去,我想趁着青春。进一家大工厂当技术员。经过大家的商业奉承,他还真以为自己是个大人物了。
极少数人在评论区批评我,说我是个渣男,热衷于误导别人。我没有认真对待。我以为有一天我会带着大公司的offer回来证明自己!今天我终于知道他们说的是对的。说废话和真正有能力是有区别的。之所以没有大佬来批评我,可能是因为大佬不查知乎吧。
今天的面试已经把我剥光了。可以说是程序员面试的一个反面例子。当然,我并不害怕大声说出来。食物是食物,赞美是赞美。尝试尽快兑现赞扬,迟早都是如此。有一天你可以成为一名真正的老板!
这次,我作为一个失败者,谈谈在求职前期准备过程中暴露出来的问题。我希望每个人都能向他们学习。
1. 尽量尽早做好准备
你不应该去准备面试,但一定要做好准备。如果非要说什么时候开始准备离职另谋高就,我的建议是半年。不要像我一样,面试完就开始看算法和数据结构。
2、先和小公司见几次面,磨合一下心情,再投资大公司,一举拿下。
我太傻了,从一开始就用了所有的人脉,把票投给了BAT以及所有其他二线公司的内部推荐。算上字节跳动,这是我失业的第三家大公司了。我以大公司为垫脚石,获得面试经验。除了觉得自己很傻之外,我还觉得自己真的很厉害。
3.你的简历就是你的复习大纲。
总有人查看了网上找到的收到BAToffer的人提供的review大纲,却发现并没有什么用处。在我对 Byte 的面试中,他问的所有问题都是基于我简历中的技能列表。
我认为对于很多人来说,只要能做到简历上技能列表中描述的事情,就已经很了不起了。如果您觉得自己的简历没有什么可补充的?我推荐一个好方法:
1.如果你听到这个名字,写下来以便理解;
2.如果你在帖子后面写过demo,请写下你熟悉它;
3.如果项目中使用过,写熟练;
4、项目中经常使用的,写“熟练”;
这是我写的。结果是显而易见的。出去鬼混,总是要还的。如果你敢炫耀,你就活该被羞辱。
4.警惕你的舒适区
我不得不承认,我在现在的公司待得很舒服。领导对我非常重视。我不会错过项目和讲座。到大学实习时,我总是很受学生欢迎。我有时会以合理的价格找到私人工作。
我之所以要离开,一方面是因为我对大厂商和技术的迷恋,另一方面是因为现在是时候为自己做打算了。没有办法赶上互联网的冬天,但我仍然坚信,真正的天才们,有决心的人不会被寒冷的冬天所阻止。
最近几轮采访让我对自己的人生产生了怀疑。面试结束后,我呆呆地望着天花板,不知道如何评价自己。虽然到目前为止我教的学生不多,但是我已经派了二十多个到一二线厂家(我们机构不造假学历,都是实习生)。作为一名教师,我该如何找到工作?这么费劲?是道德败坏还是人性扭曲?到底是大厂疯了还是我真的握不住刀了?
“如果一个程序员对职场感到迷茫,对自己目前的舒适感到不安,我建议他出去面试。他不一定会离开,但你应该出去听听市场对自己的评价。”
我在一个求职公众号上看到了这句话。我想不仅是程序员,任何职场人都应该认真对待。虽然我对职场并不迷茫,但经过一轮面试后,我发现不知不觉中,工作三年来,我的成长已经落后了很多。更糟糕的是我对基础知识的掌握程度。还不如刚毕业的实习生。
未来的日子,赶紧老老实实看书,踏踏实实做事,早日实现自己曾经吹嘘的牛逼。
- 更多 |往期精彩文章-
如果你喜欢这篇文章