到现在为止,入职字节差不多有一个多月了,因为入职初期有很多事情需要自己去适应,所以之前答应同事的面经一直拖到现在才想起来写。不管怎么样吧,下文也算自己对过去的2020年的一次职场复盘吧。
首先呢,本人做了3年整的Python开发,说不上牛逼大佬,到最后跳出去的时候,总结下来,自己其实算上个资深CURD Boy。这里开玩笑了,其实当然还有一些额外的技术掌握点,比如web框架等等。
离职苗头
要说自己从什么时候开始跳槽的,这个其实也完全说不上是几月几号,只能说是公司的一些事情吧。比如遇到了项目的大坑;比如对需求时,被某些无脑运营同学头脑风暴闯进来,框框一顿骚逻辑指挥,必须把手机壳给我整绿了;比如日复一日的增删改查等等,这些场景其实都或多或少会触发自己离开的苗头。其实吧,最主要的几个原因,自己回头看了下,是下面几个吧。第一,2020年初的疫情;第二,婚假西藏的旅行;第三,小媳妇儿的一顿指挥……
有一个成语,叫未雨绸缪;还有一句话,叫不打没把握的仗。换言之,就是一个道理,吃了这顿,一定要惦记下一顿,哈哈……年初的疫情,当时工作跟生活的节奏完全是乱套了,做饭时候想着写代码,上厕所时拿着手机开会。在这个期间,自己的开发工作搞完了,就想了想要干嘛,然后就把自己的技术点什么的,写了写Markdown文档总结了总结,相当于复盘自己吧。在这个总结的过程中,在网上发现了一个后来比较火的博主:敖丙,如果我是跳槽的“从犯”,他就是幕后主犯了。
虽然他是搞Java的,但技术不分国界么,他的Redis、吊打面试官等系列文章&视频还是很不错的。看完他的东西,我那时候也开始想,如果我现在出去面试,能面上哪家公司呢?当时,我也不敢回答自己,因为自己心里也是虚的。
后来,自己就每天按照他的文章,将自己不会的学了一下,自己会的但是不精的也学了一下。这里,给Python面试的小伙伴们分享个不错的链接,里面是一个北理的同学入职字节的一些技术总结文档:传送门。
最后发现自己的一个最大盲点:算法题。网上搜了一下,发现这个基本上是后台面试最让人苦恼的问题了。很多人针对此问题也没有什么很好的解决方式,除非你特别聪明,能触类旁通,如果不是的话,只能是闷头刷题。网上也有什么刷题一个月进某厂,刷题多少道进鹅厂等等文章,但是不可否认的是这些都是大佬们坚持的结果,很多像我这种加班比较严重的小伙伴们可能就有疑问了,我们刷一个月或者刷几百道题,能面过么?我感觉悬,首先刷题是一个比较枯燥的过程,而且我们白天都在忙于工作,你可能会在搞完项目的空闲时间刷一下题,但是leader从你身后走过,我不信你感觉不到阴风阵阵。
而且,白天的脑细胞基本耗尽,晚上到家刷题基本上是靠自控能力,因为要保证按计划进行,你必须要把手机扔到床头,多掉几根头发,才能刷过一两道题。当然了,如果有些小伙伴在公司能愉快的划水,每天的刷题是开心的,那我只能说老铁666了。反正我在这期间,也因为工作加班回来晚,某天心情不爽,想玩手机等借口拖更了一段时间。但是到最后快跳槽的那段时间,基本上每天都在坚持刷LeetCode。在这里呢,我建议是《剑指offer》专题的下的接近100道的题目,必须要尽快刷完,而且要多过几遍。因为它包含几个典型的题型,能够帮助你拓展更多的题目,起到触类旁通的作用。《剑指offer》刷熟练了,其实就可以出去找面试官砍了,若想人剑合一,人在塔在,你可以再刷一下LeetCode那些大厂专题的题目,不用办LeetCode的会员哈,免费题目都够你喝一壶了。难度基本medium往上就行了,不用刻意刷hard的打击信心,也不要一直刷easy的自嗨。差不多400~500道的时候,可以试着出去约群架了哈,尽量给面试官留点面子。
后来复工后,也开始忙了起来,也就没时间去想跳槽的事情了。上半年要准备下半年的婚礼,比如拍婚纱照等等。
到了下半年,我跟媳妇儿商量着先把婚假休了,毕竟10天,不能白扔了。于是,我们在8月23日出发飞去了成都,开始我们10天的西藏旅行。旅行开始前,媳妇儿还跟我大吵了一架,哭着说:“为啥别人婚假去三亚晒沙滩,我这还要被你拉着去高海拔受罪,你不怕老娘挂那儿了么!!??不想*()&……,就()*&……&%……%”“咦?窝草,这九宫格火锅真香,这串串绝了!”“老公,这稻城亚丁真特么漂亮……”“快看快看,那边牦牛,那边土拨鼠!!”“快给我拍照,快给我拍照。”“拉萨海拔这么低啊,没挑战性。”反正事前口吐芬芳,事后凡尔赛文学,女人靠得住,母猪会上树。闲话扯了这么多,回到正题哈。去西藏给我的感受就是,我在10天内,吃了人生最正宗的串串和火锅,看了平原一年四季的风景,接触到了比电视上更纯粹的宗教-藏教。跳开职场,离开灯红酒绿的城市,发现高原上竟会有这般天堂。去之前,同事还开玩笑说,不会去了西藏,洗涤了心灵,回来就离开混沌了吧?这个语言是真的,下高原的时候,我就决定要离开舒适圈,去找一个更有挑战性的向往了。因为,我相信跳出现在这个浑浑噩噩的怪圈,另外一个圈应该是更美的。
回京后,媳妇儿说:“他们公司的Leader被公司安排到另外一个独立的项目小组了,我没被带过去,我们同小组的有几个打算离职了。我也想跳走了,你也跳吧。”好嘛,一个虚晃,我当时没闪,直接应了,这一说立马把我离职的心里苗头铁板钉钉。很快啊,很快,我就开始投简历了,当时脉脉上有一个猎头联系的我,然后她帮我投。其实到后面发现,猎头其实就是挣内推钱的,也算是个职业吧。如果小伙伴有各个公司的朋友,不如让朋友内推挣了,事后还4+6分成,岂不美哉?后来我就经历了下面的面试,最后进了字节。然后回头问媳妇儿面试怎么样,媳妇说:“我还在写简历……”过了一段时间,再问怎么样,“面了几家不合适,我近期不打算跳了……”我*,这不是坑自家人么?还好我面过了,如果没面过了,岂不是天天横眉冷对千夫指了?其实,还要感谢媳妇儿吧,毕竟是她推了我一把,让自己敢于迈出那一步。
简历安排
简历简历,就是简单的把自己的职场学历等精简化描述成一个文档,不用花里胡哨,主题彩色漫天飞。只要自己开发经历丰富、有挑战性,总结的全面,足够吸引面试官&HR即可。有几个无脑的同学就提问了,我这天天的CURD业务有啥可写简历的。这里我就忍不住要叨叨几句了,CURD也要CURD得比别人帅,比别人专业。就算你告诉面试官你是搬砖的,你也要夸自己搬的多快、多高效,砖的交付质量有多高等等。比如,自己修改过首页,或修改过哪个高频接口,是在某某业务场景下,QPS能达到多少,然后出现过哪些问题,自己是如何解决的;某框架的源码自己看过哪里哪里等等。一定要展现给面试官一个:技术扎实、解决问题能力强、好学心强的形象。
然后,具体的点,就需要小伙伴下去自己安静下来自己想了。这里有敖丙的简历模板链接,可以往里面套,套出一个文档来。
投递顺序
前两天看了一个网上,讲解中介带客户租房的套路讲解,叫BAC。差不多跟田忌赛马一个道理,就是带租户看房子先把差不多的放在第一个次序,然后最好的放到中间的次序,最后一个看的是最差的房子。这样,租户会因为心里落差,选择第二套房子成交。
投简历也一样,一上来投字节、滴滴、美团,如果不是大佬,基本都会GG。所以,我们也要给自己安排个合理的次序,尽量将自己想进的大厂按照递增的次序安排,就是CBA顺序(不是篮球的CBA哈)。因为,前面趟的雷,你需要一步一步总结,基本上就算前面的挂了,也不会灰心,因为自己百毒不侵的目的已经达到。
面试经过
面试一、木瓜移动
难度级别:二星
面试体验:二星
约的是一天的早上10点,位置就不说了,当时自己还是打车过去的。一进去前台还让填了张表,预期薪资,第一亲属信息,学历等等。我当时一脸懵逼,简历上不是都有么,还写这个搞毛,要我家人信息又干啥,又不是考公务员,醉了醉了~
因为第一家面试么,也没太想怎么着。然后面试官还迟到了半个小时,我在会议室等到10:30。公司的好像是做广告投放的,工位都是用蓝白相间的隔板挡着的,感觉氛围比较传统吧。
后来一个戴着眼镜,大概30多岁的一个面试官进来了,按照我的简历问了一些项目的东西。不得不说简历上的项目在写上去之前,一定要仔细斟酌,在有技术含量的同时,一定要禁得住问,别给自己埋坑。面试官结合项目问了一些QPS,访问量问题,然后自己平常如何解决的;后面写了一个装饰器,一道SQL题,算法题没有问,基本上都是在结合项目问技术点。
大概一个多小时吧,我整体感觉挺流畅的,我也没感觉哪里有差错。后来面试官出去5分钟后,有一个女的进来了,我以为是最后的HR面,但是说今天HR没空,改天再约你进行HR面。知道自己凉凉了,然后就不爽的走了。
隔天,木瓜移动又通过猎头,说复盘了前一天早上的面试,想再邀请我面一下。然后被我拒绝了,因为对我有价值的是技术面,前天无理由被拒了,今天又无理由要再面我,我也不想浪费时间在这家公司的面试了。
面试二、脉脉
难度级别:三星
面试体验:五星
这个是脉脉APP上,他们家的HR主动联系我安排的面试,HR很负责,从头跟到尾,面试进度安排都很透明。其实过3面即可,自己后来因为沟通想试下另外一个业务组,所以部门Leader面面了两个部门的,总共是4面。
脉脉用的基本都是Python开发,所以问Python的东西还是很细的,包括Web框架等。当然,一面的面试官也是结合我的简历问我对应的技术点,问的比较仔细,然后沟通的也很流畅。算法题问了一个BFS遍历多叉树,又问了一个提取N长度字符串中不重复的单词。两个都还好吧,第二个需要考虑一下量级大的场景,一开始自己也没考虑到,这期间是和面试官沟通辅助下完成的。其它的就是MySQL, Redis那几套了,整体面下来,自己感觉发挥还可以吧算是。
第二面是部门Leader,也是沟通简历上的项目,还有Python + MySQL + Redis + Web框架那几套东西,平常总结仔细了,回答这些问题都是可以过的。
第三面是另外部门Leader,和二面的内容基本类似吧,沟通的也比较流畅。
第四面是公司的联合创始人,到这面如果人三观正,基本上算是稳了。面试官问了一些,自己经历过的一些工作中的难题,自己如何主动想办法解决的;自己的未来职业规划等等。
后面就是电话谈薪资,确定Offer的事情~
整体感觉脉脉的面试过程还不错,开的福利待遇也很好。
面试三、字节
难度级别:五星
面试体验:五星
首先,明确下哈,字节的面试体验五星,意思是印象深刻,第2面被虐的体无完肤。字节的面试全程是在线上面试的,第一面&第二面是通过牛客web链接面的,在一个页面可以看到题目+编辑框 + 面试官视频窗口,非常方便。总共经历了4面。
第一面,长得特别想周鸿祎的一个面试官上线了,当时我也非常紧张,心想要开始遭受字节高手的毒打了。面试很直接,问了我简历上一个问题,然后回答完了,不跟我多废话,直接开始撸代码。“会写装饰器吧,写一个建立缓存的装饰器”,“我写完了”;“现在我想让你的装饰器给缓存加上有效期,怎么加?”,“我写完了”;“如果加上淘汰机制呢,怎么加?”这里就比较虚了,然后写了个循环的方法,不太高效,没达到面试官满意,后面也没再难为我。后面又让我写了个,双指针遍历单链表的问题,又问了一个公共前缀树的问题,答出来并编译运行通过了。给人感觉,一面的面试官对同学的编码能力要求挺高的。面完之后,他说你先别下线,我叫下轮面试官。心想窝草,怎么是连着面,之前HR没明确告知我,所以当时小窃喜之后是一顿慌。没办法,只能继续接招了!
第二面,一面五分钟之后,特别冷的面试官上线了,跟我进入职场的那个leader特别像,冷面书生。不怎么问Python的常问点了,开始问Python的编码问题了。说Python2.x和Python3.x的编码有什么区别?默认编码是什么?怎么决定的?文件顶部的utf-8作用是什么?unicode编码多少个字节?传给前端时候,Python语言的返回值怎么将中文给前端的?一个坑一个坑将我埋死在这一个点上。问得太深了!!!看将我的信心摧残成功后,说:“那咱们做道题吧?”看到我一面问题都答上了,面试官问了我一个公司排队快乐值的问题。我思考了一段时间,只将自己的思路说了出来,然后将开始的一部分逻辑的代码写出来了。当然,这部分时间,你一定要多跟面试官沟通,别不会了一直闷着。后面提示了几次后,发现我写不出来,然后就没有再为难我,后面说:“今天的面试就到这里,拜拜~”以为凉凉,结果第二天下午来电话,与我约三面的时间,那种落差,不可言语形容。
第三面,部门Leader面和脉脉的基本类似吧,都是围绕着简历展开,提不上什么难度,考察的都是综合素质吧。
第四面,HR面简单的沟通了下薪资、职业规划、项目经历等等,无需过多阐述。
最重要的是技术面吧,一二面如果小伙伴们能过去,基本上算是成功七到八成了吧。收到面试通过电话是快晚上10点了,当时刚加完班回家,在去地铁站的天桥上。收到消息后,内心的庆祝动作,用老詹的一张图片最为合适不过。
面试四、快手
难度级别:三星
面试体验:二星
快手的面试走的是合租室友的内推,快手主语言是Java,有几个部门是用到Python的,所以推的是安全部门。在这里必须吐槽下HR妹妹,语速龟速一般,说话的语气特别像没毕业的实习生,最后挂了也还是那个鬼语气。
第一面,比较年轻的小伙子吧,跟我年纪相仿,跟脉脉问的基本类似。算法题是BFS二叉树,Redis让写一个扫描key的代码,这个答的不太好,命令记得不太清楚了。然后其它没什么问题,算是比较轻松过的。
第二面,感觉面试官的年纪也是很年轻,但是作为部门Leader应该也不能轻视。面试官先是围绕着简历问了一堆,然后就开始死扣着简历上的一个业务点问,说这个业务逻辑是不是这样?为什么不做成这样?自己跟他解释半天,才渐渐理解,然后开始继续困扰在下个业务逻辑。我去,大哥,你确定你是来问技术的么?后来,问了一些常问的Mysql,Redis的问题之后,就没有再继续沟通了,差不多1个小时。
后来过了两天,没有消息通知我,我就主动联系HR:“我是XXX,前两天面试的,然后一直没有收到消息回复,问下现在进度是进行到哪里了?”。电话说,“我这边显示未通过。”我继续问了下,“原因是什么呢?”回复,“我们这边不做考虑了~”我去,原因竟然是这样?自己就稀里糊涂地挂在了Leader面。
快手简历一通过就会给你手机发条短信,但是面完半个月后,才给我推送面试未通过的短信。这办事风格,请允许我送一句:“呵呵~”
总体评价,跟网上吐槽的一样,面试官技术专业程度不够,包括HR的接待态度和专业程度。
总结
上面就是我的一些面经,大概断断续续地历经了小一年的准备,然后成功跳槽到了字节,荣幸成为了一名ByteDancer。本文我絮絮叨叨了很多离职苗头,真正的面试内容不太详细,主要是因为每个人的面试内容不可能完全COPY PASTE,但是小伙们准备充分,做到相关的Python技术栈掌握牢固 + 刷题充分,绝对都有很好的面试结局。
总之,面试程度难不难,主要是看自己平时的总结、积累程度,还有自己的心态,我相信如果小伙伴的临场发挥不是特别出众的话,平常多多积累一定没有坏处。
在这里,祝福跳槽的小伙伴们能在2021年度找到自己心仪的公司,加油!!