非科班拿下阿里、字节的转行历程
写在前面:
个人背景:
秋招情况:
面试挂的:
百度:8月初投的,二面挂——原因:c++没有复习,问的c++没有答上来,虽然其他答的很好。拼多多:8月初投的,二面+hr面挂——原因:算法题没有复习,没写出来
滴滴:8月中投的,3面挂——原因:滴滴刷KPI,我想骂他!
美团:8月中投的,1面挂——原因:问了个mysql实操的问题,把我挂了,我都说了我只会理论。
其他笔试挂:
猿辅导、网易:8月初投递怎么样,是不是很惨!我都哭了,百度和拼多多,因为我没时间好好准备,结果挂了;滴滴和美团把我当kpi刷,郁闷。在8月末的时候,我的知识储备才完全ok。
已拿offer:
阿里:8月末投的,拿offer。字节:9月初转正答辩之后,拿offer
转行的历程:
2019年年末的时候我开始转计算机,什么都不会的我开始学数据结构,以及写点lc算法题,甚至打算入人工智能,找算法岗,于是花了几千报了个人工智能班,那时,已经做好了规划,什么时候学完基础,什么时候刷完算法,什么时候写完论文,什么时候找实习,一切都在计划之内。但,现实很残酷。2020年1月初,这个时候我的数据结构学完了,c++也简单入门了,报的人工智能班也即将开班,但这个时候我遇到了一次重大的打击,我失恋了,整个人陷入了崩溃中,所有的学习进度全面停滞,我拼命地想学,但是一个崩溃的人是学不下去,看不进去书的,就连即将开班的人工智能,我都不得不直接取消了。我知道,我必须得有一个恢复期,我给自己定了一个月的时间,企图用一个月走出崩溃的情绪,那个月我回家了,每天都在黑暗中挣扎,我记得很清楚每天睁眼的时候,闭眼的时候,吃饭的时候,睡觉的时候自己的模样,还有那些日日夜夜崩溃的自己。回想那时,我真的好心疼自己,我希望快点脱离,但是随着一个月的期限到来,我发现我越陷越深,已经彻底跌入了深渊,道理我都懂,但就是很崩溃。
这个时候2月中旬了,冬天依旧那么冷,很冰,7月就是秋招了,要进大厂,得自学的东西好多,我却什么都没学好,我不知道怎么办,只知道我必须学,这个时候我接触到了牛客,规划了自己后端开发的学习路线,于是每天我咬着牙逼自己看,逼自己学,可是好难啊,真的好难啊,看书的那一刻,我就会不由自主地又陷入崩溃的情绪里,却不得不逼自己,每天只能逼自己学几个小时,挣扎着又一个月过去了,渐渐的可以多学几个小时,但,不够,根本不够,每天依然在崩溃,在挣扎,学几个小时,还是在情绪不稳的情况下,我又能学到什么呢。
3月份到了,春招实习开启了,这个时候我勉勉强强把操作系统、计算机网络、c++primer学了一遍(我得吐槽一下,之前之前学的c++跟没学一样),算法也只刷了50道,完全不够,但却不得不投实习。网易,百度,腾讯,阿里。网易和百度的笔试题直接挂,因为我做不下去题,我还在崩溃中。腾讯,阿里给了面试,但是一面挂,因为我确确实实根本没有准备好,问的问题我都不会。打击很大,但还是要学,继续艰难的刷lc。
4月份,可能是因为一直自闭在家,这种崩溃的情绪难以消散,于是我买了车票,去了外省的朋友家里,这是我最明智的选择,在朋友那里和他们一起做饭,一起生活,我发现我好像解脱了,没有再崩溃,没有再看不进去书了,终于可以好好准备了,这个时候我在学习mysql以及刷lc,待了二十多天后,我回家了,原因是可能要返校了。
5月份,回家,这个时候,我继续全力推进我的学习进度,找了个服务器项目开始做,每天从早到晚,除了吃饭,一直看书,做项目,学习项目的知识,以及看博客,总结知识点,每天有效的学习时间,差不多有14个小时,但要准备的好多啊,我不知道自己能不能赶上,但拼命学就对了,这期间,一直有学校要开学的消息不断传来,但我心里期望着,不要开学,不要开学,我的时间根本不够,一开学我就不得不做学校的事情了,5月底,这个时候我终于把后端开发的所有知识全部理解并学完了,也做完了项目,lc算法刷了300道,于是我投了深信服,百度,字节跳动的实习。
6月初,在我过了字节一面的情况下,拒了百度的面试,也没准备深信服的面试,因为我决定all in 字节,既然决定实习,那就要到最好的公司,既然要拿下秋招,那就要一步到位,即使这个部门挂了,我也可以投字节的其他部门。但,我很幸运,第一次面字节,直接全部通过了!那一刻,我非常激动,长达半年的阴霾好像终于被驱散了,我没有想到我真的会拿下字节实习。这个时候学校通知返校的消息来了,我选择了实习,因为我知道,以我这个转行的背景,是没有实力,和秋招的大佬们竞争大厂的岗位,这是很难的,可能最后只能去小公司,但既然决定转行,就要到最好的!
6月底,我踏上了去字节实习的道路,评估了自己的情况,感觉一切都充满着希望,实习的日子也是非常快乐的。8月初各大厂会开始秋招,而凭我的条件,加上字节实习,应该可以争一争,可是现实往往不是我想的那样,实习的日子很快乐,但也很繁忙,我太菜了,很多都不会,所以我不得不多花时间做公司的工作,我没有时间复习知识,准备秋招。
8月初,看着各大厂陆续开了,我不得不逼自己熬夜复习。但太短了,每天熬夜到两点,只能复习几个小时,甚至好多次在公司里面过夜,可是知识量真的太多了,在这种情况下,我投了一些大厂(百度、美团、拼多多、弟弟、猿辅导、网易)。可是没有完全复习好,同台竞争的都是些神仙,再加上今年秋招的后端岗位特别难,结局可想而知。8月份,压力很大,看着和我差不多实力的秋招小伙伴都拿到了不少大厂的offer,我慌了,我在想自己来实习是不是个错误的决定,如果没有来,我可能现在已经也拿了不少大厂的offer了。直到8月底,我才彻底准备好,这个时候我才终于投了一直都不敢投的阿里,因为这是我最想去的公司,我all in了阿里。
9月初的时候,也安排了字节的转正答辩,答辩的那天,我不太开心,因为答辩结果未知,还要一两周才知道,我以为自己很凉,而且手里0offer。但与此同时,当天,阿里的最后一轮面试,我通过了!我很高兴,带着愉快的心情,我回校了,回校之后,收到了一些公司的笔试和面试,但我都拒掉了,毕竟有了阿里,其他还面个啥,很幸运,9月底,我接收到了阿里的offer call,同一天,字节的offer也下来了。秋招结束。
回顾这一路,不知道该怎么形容我的转行之路,很艰难但也很幸运,艰难的是一开始一切都在计划之中的棋局被完全打乱,陷入黑暗长达三个多月,甚至更久。如果没有那段打击,字节的实习会早几个月就能拿到,我不会在秋招这么被动,甚至可以拿到很多大厂的offer,也不用在实习的几个月里,熬夜到两点才睡,甚至通宵在公司睡。但不管怎样,不管过程是多么曲折艰难,最后的结果是,我很幸运,我拿到了阿里和字节的offer。
干货总结:
- 语言的选择:java!!!原因太多了,岗位多,好跳槽是其次,你找项目做,也好找;何况,你现在不选,以后差不多也会选。而且并不是每个公司的java岗都容忍c++选手的,比如某东,虽然我其他答的很好,但因为语言不匹配就没有后续了。
-
学习内容:
操作系统:就拿本操作系统(计算机操作系统、计算机系统原理)找个视频简单看一遍吧,然后对着面筋,查博客学习相关知识,理由很简单,你即使抱着书看一遍,也没什么重点,带着问题去学习效率高。千万别抱着书s啃!那么厚,你还能都背下来?
计算机网络:对着b站上最火的那个视频学,然后对着面筋,去看博客学习。
数据库:mysql还有sql的基本理论都学好,然后b站上有实操视频,对着看吧,虽然我只学了理论。
设计模式:学好几种常见的就够了:单例、工厂、观察者
Linux:建议学完《linux鸟叔的私房菜》
数据结构:理论一定要学好,光看数据结构的书没有用,建议看博客学习。
lc算法:我是刷了高频的300道,顺便总结了一下。
其他:限流、降级、熔断、redis这些,学有余力可以自行补充。 -
学习的注意点:
博客很重要!!!遇到不会的请查博客学习,相关的知识都查一遍,比看书了解的更多,你才会真的学会。不然你只是半桶水,面试官一拓展一点,你的狐狸尾巴就露出来了。 -
面试的注意点:
要多说,面试官问了你一个问题,你要多说点,最好能引导到你擅长的知识点上,当然这一切都建立在你知识储备足够的情况下。 -
投递的时间:
早做准备早投递,而且没有准备好别投!投晚了,hc没了,容易被刷KPI。但是没有准备好就投,容易挂,到后面你准备好了,这个厂你也没机会了。我就在这上面吃了很大的亏。