这是一篇来自算法转Java后端的一位读者的投稿!文章主要分享了作者从迷茫崩溃到最终斩获腾讯、京东、百度等大厂 offer 的经历。文章内容很全面、真实,相信可以对正在准备面试的小伙伴有帮助!
个人简介
不用太多介绍,也不用太多指教,三秒钟之内就能让大家尖叫...嗯...好了,不闹了。开始!
我是 2021 年毕业的研究生。本科是在一所双非大学读的,专业是软件工程,本科时学过一些 Java 开发。因为学历一般,又对科研存在幻想,我选择了考研,拼了老命总算是考上了一所中游 985。
读研期间,我主要做的是自然语言处理方向。但是!因为我们组做自然语言处理是在我读研刚入学时起步的,甚至当时整个实验室只有一块显卡,所以,研一基本上没做什么东西。研一暑假的时候,我才在师兄的帮助下入了门,搞了一个研究性的项目和一个工程类的算法项目。
迷茫期
当时是 2020 年的 2 月底,也就是研二的下学期,因为疫情被困在家,当时的想法还是做算法,于是就把算法的项目准备了一下,又准备了准备基础知识,就开始投实习试水。但是因为没有比较硬的论文,也没有比较硬的项目,所以投了几家大厂都没理我。
虽然,美团给了我面试机会,但是,我被面试官吊打了。到最后,只过了两家还行的“中厂”。但是,因为导师严禁出去实习,所以也没实习成。
那段时间特别迷茫,天天在网上问一些算法大佬,焦虑的不行!😥
我当时想:以我自己的条件准备到 6 月,几乎没可能在秋招面试上岸大厂的算法岗。
算法转 Java 后端(点击此处获取文档完整版)
整个 3 月都在纠结一个事情,继续硬刚算法还是转做 Java 后端。算法确实工资比较高,但是自己其实打心里更喜欢做一些工程应用(因为就算让我做算法,我也喜欢做工程应用类型的算法)。
并且,当时自己的条件进大厂算法已经很难了,肯定去不了好的算法团队,拼一拼开发或许还能去比较好的团队。
但是,因为 Java 主要是在本科时学的,已经很久没有做过,很多都忘了,甚至 Java 语法都很生疏了。并且,像 JVM,Redis,RabbitMQ 相关的,当时也没学过,一直在想就几个月的时间真的能不能把这些东西学好。还好在四月初的一天中午,躺在床上睡不着,做出了一个重要的决定: 转 Java 后端。
在咨询了几个学长学姐,以及几个朋友以后,订好了学习计划。当时的计划是这样的。
- 首先复习 Java 的基本语法以及一些集合用法,先达到能比较熟练的用 Java 写代码。因为从 2 月多就开始刷 LeetCode 了,当时已经用 Python 刷了 30 多道,就又用 Java 把这些做过的题写了一遍,到 9 月底我的秋招结束时一共刷了 130 道左右,刷了两遍。
- 把自己本科时用 Java 做的电商系统又拿出来温习了一下改成了秒杀系统,这当作我的第一个项目。另一个项目是看着网课仿照 Spring 源码做了一个简化版的 Spring 框架(只实现了几个最基本的功能)。
- 开始学习 JVM,MySQL,Redis 的原理,以及 Java 集合的一些实现方法等。
- 这是在当时 4-6 月所做的准备。到六月的时候,项目梳理的不太清楚,其实有些地方是看网上代码写的,只是能用了,具体怎么做自己也说不清,那些面试基础知识也记得不太劳。但是因为时间也差不多了,就开始往外投简历。
崩溃期
2020 年的 6 月底到 8 月中下旬,可以说是最艰难的一段时间。6 月中下旬开始陆续向一些公司投简历,大部分简历投了都石沉大海,或者笔试做了没了消息。
好不容易在七月初收到了招银网络的笔试和面试机会。招银网络的面试算是问的很简单了,但是因为当时准备的不好,一面后我被无情的放入了招银网络的人才库中。
我很难受,第一场面试就打了败仗,这让我有点措手不及!
接下来将近有 10 多天的时间,我没有接到任何公司 hr 的电话。然后又在随后的一个月中,百度一面挂、一点咨询三面挂、快手一面挂、字节二面挂、网易笔试没过...以及各种公司投完简历没信,或笔试没过。这段时间一天可能会有两场笔试外加三场面试,到了晚上累的说话都不想多说。但是迎面而来的是一封封进入人才库的感谢信。
守得云开见月明(点击此处获取文档完整版)
还好的是我在那段时间并没有放弃学习。我在学长学姐的指导下,开始梳理我的项目。
我在秒杀项目上分别从 MySQL 部分以及 Redis 部分做了一些自己的优化(自己设计的架构,也算是有了一些创新点)。并且,将简化版的 Spring 框架做了一些梳理,较为深刻的理解了 Spring 那几个基本功能的设计方法以及意图。
这两个项目在面试后期确实起到了很大的作用。并且对 MySQL 的一些底层设计做了一些了解,比如 MySQL 怎样实现回滚。并且开始在网上看一些还不错的面试题总结,就比如 JavaGuide~(我真看了,不是打广告)。并且在一场场的面试中,将这些知识点记得很牢。
在八月下旬时,我觉得自己的实力应该有很大的提升了,就开始换了个部门重新面试百度,一面的面试官是个比较较真的人,我刚介绍了项目几句,那个面试官直接打断我说,你等会,咱们一点一点的来,于是他一句我一句的一点点的把秒杀项目梳理了一遍。在他严肃的追问了很多问题后,突然语气很满意的说,我觉得你做的挺不错的,在那一瞬间我感觉我的任督二脉都打通了,感觉已经不怕任何面试官再问这个项目了,后续的半个小时,他问了我一些基础知识并且聊了一些职业规划,就满意的结束面试了(但是事后那个部门貌似招够人了,在二面时面试官也很满意,可是依然没通过面试,但是当时不知道)。
在百度一面结束后就收到了度小满打来的约面电话,约了第二天的面试。度小满的面试经历算是我整个面试的转折点,重要性和情节跌宕起伏性堪比李云龙打平安县城。一面的面试官因为他们那边开会迟到了几分钟,他坐下跟我表达了歉意,我也表示理解,说了声您辛苦了。然后面试官就开始了面试,但是面试官在面试过程中不知道什么原因全程很愤怒的感觉,并且时常打断我,语气不善的提出一些刁钻的问题。
我在忍了几次以后也不惯他这毛病,于是就同样开始语气不善的回答他的问题,并且对于一些我觉得不太好的问题,我就直接的回问:“您觉得您问我这些问题有什么意义吗?”。
在将近一个小时的面试中,我觉得我们就要吵起来了。在面试的结尾我准备关视频时,面试官突然来了一句,你等下下一个面试官。当时我的表情可能有点难以形容...
在等了几分钟以后,二面的面试官来了,刚坐下他就说:“一面的面试官对你评价不错,咱们开始吧!”。
和二面面试官的面试在很好的氛围中结束,面试官问我的问题基本都是我擅长的,面试官边面试边问我怎么学的这么好。于是紧接着就要约三面主管面,但是因为晚上有事,就约到了第二天。好不容易到主管面了,自然要好好表现,面试开始以后我表现的很有礼貌,但是那位主管不知道怎么回事,可能也是心情不好?面试过程中总是怼我,在比忍一面面试官多忍了几次以后,我又开始了反怼,在一个小时的面试中,又几次差不多吵起来的感觉...在面试结束问我有什么问题吗?我直接语气不善的说了句我没什么问题,就准备关电脑,这时,神奇的一幕又来了,主管突然和我说:“我觉得你学习能力挺不错的,我们打算给你 offer,但是你在收到 offer 以后,一定要确定在我们这稳定做一段时间,你再接受 offer”。
???嗯?你们是怎么回事...接下来的故事就很神奇,在主管面完的当天晚上 9 点左右,我手机震动了一下就收到了我人生中的第一份录用意向书,当时激动的差点哭了出来。
收获
后来的故事就很美好。在九月,之前投的简历都收到了回信,陆续通过了京东的三轮技术面试、腾讯的三轮技术面试、华为的三轮面试、美团的三轮面试。记得在 9 月的最后一天,上午是美团的最后一轮 hr 面,在我们导师的会议室,摆好电脑,和 hr 愉快的聊完,结束了最后一场面试。那天也是女朋友的生日,面完后要进城去给女朋友过生日,边出校门边回忆这几个月走过来的路,感觉所有的努力都没有白费。这段经历也是我人生中一段珍贵的回忆。
总结
接下来是个人的一些见解,供大家参考。
- 我认为算法和开发这两个方向,没有好坏之分,大家应该结合自己的兴趣去选择,并且最终尽量去一个在这个方向上比较优秀的团队。
- 在面试前期都会很艰难的,但是不要放弃学习,等面到 9 月,10 月,甚至 11 月时你会感觉面的很顺畅的。(并且个人感觉,面试到 10 月后,因为还在招的公司都是没招够人的,面试要求会有一定降低)。
- 要注意好好梳理自己的项目,在讲解自己的项目时逻辑清楚,这样很加分。
- 虽然做 offer 收割机也没必要,但是不要拿到一个 offer 就结束秋招了,这样你后期谈薪的时候很被动。