这是一份教你如何更高效地准备面试的小册,涵盖常见八股文(系统设计、常见框架、分布式、高并发 ......)、优质面经等内容。
这是一篇读者的投稿,这篇文章分享了他的校招历程。去年差不多这个时候,我还和这位读者一起吃了饭,很不错的一个小伙子:约了华科 CS 专业的两位学弟的一起撸串 。
下面是正文。
逝者如斯,不舍昼夜。转眼之间,我只能在学校待上一个多月了。时至今日,我还是想写一下我的秋招以及春招总结,期间踩坑无数,以便给后来人一些参考,谨防踩坑,也希望梳理一下自己的工作。
在秋招和春招期间,我其实拿了不少的 offer,但是真正让我满意的 offer 也没有几个,总体来说,我是不太满意的(真的没有凡尔赛,而是觉得今年大环境是真的差!!!)。我拿到的秋招以及春招的正式 offer 主要包括快手、京东、蚂蚁、字节、网易、华为、荣耀、小米、中兴、TPLINK、南方基金、震坤行、理想汽车以及一些乱七八糟的中小厂,实习 offer 则拿到了腾讯、阿里、华为(只投了这三个)。
img(截图不全,仅部分 offer)
其实,我老早就在准备找工作,因为我心里清楚,我读研究生三年就是为了找一个好工作,一个足以让一个家境中下等的家庭一跃成为中产的工作。这也是我为何如此迷恋腾讯阿里等大厂的光环的原因之一。
研一上的时候,我的主要时间在上各种专业课,研一下进入了课题组进行数据挖掘算法的相关研究。因为我一开始其实是没有打算找开发岗,而是找算法岗的,因此我在研二下之前都是在做算法相关的工作,算法的实现也是用 Python 去写。但是,在进入研二下的那个寒假,我好好思考了自己的职业生涯,觉得还是 Java 开发路子更广,更好找工作。而且,除了互联网之外,各个银行证券也都是 Java 居多,用 Java 方便我以后卷不动了跑路。因此,选择了秋招和春招都找 Java 后端开发。
打定了做 Java 后端的主意,寒假期间我便开始自己做项目。本科的时候,我其实也自学过一些 Java 后端,包括 JSP 以及 Structs 那些比较老的框架,有了它们的基础,SpringBoot 很快就上手了,学习了 SSM 那一套,接着学习了 Redis、Kafka、ES 等常用的一些中间件。在去年 3 月底的时候,我便开始投实习。我其实是一个非常求稳的人,害怕很多不稳定的事情发生在我身上而造成麻烦的后果,因此我没有投很多的实习简历,害怕都挂了影响秋招。我只投了腾讯阿里华为这三个巨无霸(抱歉,去年这时候的我还是太年轻了,以为这三个公司是世界上最好的公司,现在发现这些公司都一样,而我只是个打工人),最终也拿到了这三家的实习 offer。Java 的八股文又多又广,涉及到了很多东西,包括操作系统、计算机网络、Java 基础、Java 集合、JVM、数据库、数据结构和算法等等,刚开始的时候我都是直接去死记这些八股文,而有的面试官则会故意去对它们进行深挖,一问深了我就无法回答。我觉得这样不行,因此就买了相关的书籍,去仔细研究它们背后的原理,为什么要这么设计,这么设计的好处是什么?我看的书籍主要包括以下几本:
八股文知识则是参考 Guide 哥总结的知识框架。通过学习 Redis,我后面每次在面试的时候总是和面试官去吹 Redis,包括 Redis 中数据结构的实现,集群哨兵机制等等:
强烈推荐 Guide哥的!!!
在面了十来场之后,我便觉得自己越来越娴熟,面试的能力也在直线提升,对于找工作的压力也没那么大了,并且在每次面试完之后都会总结相应的面经。
在拿到了腾讯阿里华为三家的实习 offer 之后,我进行了综合权衡,最终选择了去传说中的鹅厂实习,这个决定也让我一直恶心到现在。三家实习 offer 的大致情况如下:
由于我决心做 Java,而且华为明确说了不能转正,因此我便信了腾讯的转正画饼,去了腾讯实习。我六月底才写完小论文并进行投稿,写完论文之后,七月初才出去实习,实习时间不长,九月初结束。为了实习转正,来到腾讯后,我便尽我的全力去了解部门所做的相关业务,去做好每一个需求,希望能够实习转正。
实习期间,为了确保真的有转正机会,我还前后三次问了当时部门所在小组的 leader 和 mentor 是否有转正的 hc。在他们亲口说出“好好干,部门很缺人,转正没问题“等言论之后,我便一心投入了部门的业务,完全没去想参加秋招提前批。扪心而言,我觉得我实习期间所做工作是问心无愧的,参与了不少业务需求以及杂活的开发。感觉他们招实习生纯粹就是为了背锅,而不管实习生是否能够学习到东西或者有技术上的提升。实习期间,我通常问的不是技术问题,因为这个系统就是一个纯粹的 CRUD 系统,用 Redis 做了下缓存,连 MQ 都没有用上。更让我觉得恶心的是,mentor 的技术也是奇差无比,还问我为啥枚举类不进行判空处理,为啥直接用"=="。我通常问的都是系统架构以及当时的具体设计方面的问题,但每次问这种问题的时候 mentor 都不太耐烦,还觉得我不够熟悉业务,我就想问句您”咱部门有正儿八经的文档去让我了解业务吗???“。就当是进入社会前给我上的第一堂课,让我知道什么人可以信,什么人狗屁都不能信,还得对他进行反 pua。
9 月初知道没法转正之后,我一下对自己产生了严重的自我怀疑,认为是我自己本身的能力有问题。直到后来我拿到了几十个 offer 之后,才发现并不是我的能力有问题,而是我实习的这个小组真的是极度 pua!
9 月初才被告知无 hc 的我彻底慌了,这时候各个大厂的意向已经发了大半,而我因为实习的杂活,连八股文都快忘没了,因为杂活压根用不上这些东西。
我其实是一个心态很差的人,从小就怕落后别人半步,而这次则是落后了一大步啊。9 月 8 号,来到实验室,我打开了各个互联网公司的招聘官网,然后投递了加入了实习内容的简历。由于我本硕学历都不差,大部分公司很快就进行了约面。包括字节、快手、Lazada 等等。
凭借着我还记着 3 成的八股文,我基本都扛过了一面。腾讯实习的项目其实了解的不够深入,每次面试的时候都只能浅尝辄止,对我实际的帮助并不大。这时的我真是焦虑到了极点,实验室的同学这时候好歹有个保底的了,而我连个屁都没有,除了出去实习前提前拿的 TPLINK,但是我不想做嵌入式。每天晚上的时候也因为焦虑而睡不着觉,甚至一个人躲着抽烟,心态也崩溃到了极点,这时候明知道自己八股文不够熟,但就是没法静下心来看,就以这种残血的状态去面大厂。
终于,10 月中旬的时候,我面完了小米,随便撕了两个题就过了,终于有个保底的了,10 月底的时候又拿到了震坤行、中兴、快手、荣耀,其他的公司例如美团、百度等都面完了基本都在泡池子,也不挂你,就这几家发了 offer。11 月初的时候,顺利拿到了抖音基础架构的 offer。
11 月底传出了快手裁员的消息。其实在拿快手之前,我已经有心理预期了,快手被抖音压着打,迟早是要裁员的。其实我手里也有抖音的 offer,抖音的基础架构部门,绝对的核中核。但是一想到抖音的加班,我就不想去,连和我对接的业务 HRBP 都经常加班到晚上 11 点,而技术则是凌晨两三点,这么卷的部门实在是不敢去。
这时候快手在裁员,我其实心里不是很慌,因为快手这时候裁员对我反而是好事,明年我入职再裁员的概率就会小了。但是,身边一些朋友看到快手裁员的消息之后,就纷纷来私聊我,也许是真的关心我吧,跟我说快手千万不能去了,裁员比例较大,搞得我异常焦虑,可我也想找个更好的啊,没啥好机会啊。
11 月中旬的时候,蚂蚁的数据库部门 oceanbase 突然把我捞了起来,问我去不去,底层的开发介意不,我便顺利拿到了 oceanbase 的 offer。
12 月的时候,补招开始了,我又面了网易和京东,也顺利拿到了 offer。
3 月份的时候,春招开始了,因为觉得抖音太卷,我又投了字节的技术中台部门,也顺利拿到了 offer。
在拿到了快手的 offer 之后,快手开始裁员,然后我又拿了京东,京东又开始裁员,接着我又拿了小红书,结果小红书也开始裁员,真的无语。
4 月份的时候,各大互联网都在都在毕业。感觉互联网都不太稳,又面了华为,也顺利拿到了 offer,手里也就华为和南方基金两个 offer 稳一些。
明天和意外,哪一个会先来临,谁都说不准。目前衰退的经济形势加上疫情阴霾还未散去,未来几年的就业环境肯定会相当的差,对于私企而言,裁员大概率也会成为家常便饭,谁都不敢保证自己不会被裁,毕竟技术在资本面前啥也不是。我的建议是,从现在开始,我们要时刻保持面试笔试的能力,时刻将八股文熟记于心,多了解项目架构,防患于未然。
互联网的现状让我认清了现实,作为一名程序员,光靠打工的收入可能还是不够的,需要扩展副业收入,做自己的技术公众号、基金、炒股等等。
吃一堑,长一智。经历了 pua 的暑期实习、秋招以及春招,我觉得只有最后到自己手的才是真的。其他的,别人给你承诺的一切都不值得你去相信。他们大部分并不是你的亲人朋友,和你也没有共同利益,反而骗你以及 pua 你在大多数场合才符合他们的利益。
最开始的时候,还没开始找工作的我,一直把腾讯阿里华为三个公司当做我的 Dream Company,认为只要能进这三家公司工作,肯定会有一个美好的人生。但是在实习之后,我发现这个鹅厂怎么和我想象中的不太一样,真的有些失望。后来在秋招以及春招的过程中,我也没再那么重视大厂光环,感觉也是围城吧,小厂里一样有很优秀的人,大厂一样有连枚举都不会的渣渣。我是一个很记仇的天蝎座,在实习期间所受的 pua,有机会也一定会还。也许在进入社会之前,给我一段“被裁员”的实习经历也是好事吧。
来源:https://mp.weixin.qq.com/s/1CYozAx4e5QSCldrTW3Quw