小齐说:
现在秋招进行时,正在找工作的小伙伴进度都怎么样了呀?
今天这篇文章是我武大的学妹今年秋招的经验分享,庆妹去年才决定转行,现在已手握 N+ 个 offer ~
这篇文章干货满满,庆妹对每一块面试考察点都给出非常具体、详细的资料和书籍推荐,我看了都很有启发,希望对你也能有所帮助呀。
2020 年秋招过了一半了,我目前收到了百度,快手,Shopee,作业帮,TpLlink 的意向书,腾讯,华为和微博面试也已经通过,等待录用。岗位都与后台开发、C++开发有关。
我本身并不是计算机专业,比不上收割 SSP offer 的大佬。这篇文章我就跟大家谈谈非科班的后台开发求职路线吧。
背景介绍
去年这个时候我的编程水平也就是能用 C 语言写 HelloWord 的水平,我的学习路线就是一个真实的纯小白的进化史了。
介绍一下我的编程背景,我研究生就读的武汉大学 xx 学院的二年制专业硕士,研究方向与深度学习有关。本科时上过 C 语言、数据结构、计算机网络这些课程,不过都忘的差不多了。
由于我是专硕,在研究生第一学年结束就要马上开始找工作,所以我在刚入学就有了就业意识。
那时候和 2019 年秋招的一位学长交流了许多,学长拿了武汉字节,上海拼多多的 offer,字节年薪30 万,拼多多年薪50 万。
从来没有见过这么多钱的我瞬间惊呆了!原来在互联网开发可以赚这么多钱。我对开发工作产生了一些心动。
并且学长鼓励我在一年之内是完全能够达到他这样的水平,于是我就初步将后台开发方向作为我的就业方向。
C++ vs Java?
选择哪一门编程语言?
目前秋招后台开发求职主要有两种语言,C++和 java。
Java 的就业方向更广,阿里美团,银行和一些中小厂技术栈 80% 以上是 Java,生态圈更加完善,比较好提升背景项目。正因为这样,学 Java 的人很多,竞争非常激烈。
选 C++也有优点,腾讯的技术栈主要是 C++,学习 C++可以走算法优化方向,这是算法落地的一个热门方向。而且, C++比 Java 学习的知识点要少。
过去的我确实也在语言的选择上纠结了好久,但是当我走过秋招,发现其实语言并没有想象的那么重要。
在做笔试的时候两种编程方式都可以选择。在面试的时候,面试官会针对我们熟悉的语言针对考察。所以无论是 C++还是 Java,甚至是 python 或是 C#都是没问题的。
由于当时实验室的师兄都用的 C++,如果学习遇到了困难我有人可以问,于是最后我选择了 C++。
资料分享
接下来谈谈学习后台开发需要看的资料,主要分为
- C++语言
- 数据结构与算法
- 计算机网络
- 操作系统
- 项目经历
- Linux 使用
- 数据库
- 设计模式
这 8 大部分。
其中前五个部分是需要重点准备的,后面三个部分学有余力可以充分准备,没有时间的话了解常考面试题也是可以的。
如果你想准备其他语言,除了语言部分,其他部分都是适用的。
C++ 语言
看 C++ primer 前三大部分——C++基础、C++标准库和类设计者的工具,学习 C++基本语法,容器的常用用法,了解 C++11 新特性。
进阶阶段推荐看《STL 源码剖析》和 Effective C++,前者了解 C++容器的底层数据结构,后者涉及了很多 C++面试的内容。
数据结构与算法
了解数据结构看“如果天空不死”的数据结构部分博客,这个博客利用画图的方式把数据结构用浅显易懂的方式表示出来。看博客时除了排序算法部分要看程序以外,其余部分熟悉概念即可。
学习算法我是上了牛客网左程云老师的算法视频课,我非常推荐这门课程,因为这门课讲解了面试中最常见的数据结构考点和面试算法题考点,还讲解了一些看起来高大上的内容可供面试装逼。
当然,算法部分还需要通过刷算法题,不断巩固熟练度。《剑指 offer》和 Leetcode 前 hot100 争取刷三遍。
做到以上,面试 90%能遇到原题。
计算机网络
先看《图解 TCP/IP》,对 TCP/IP 协议有些初步印象
接下来看《计算机基础》,只要看有关 TCP 和 IP 协议的部分。
通过博客学习 HTTP 协议,例如 CS2018.
进阶阶段需要学习计算机网络编程,看《UNIX 网络编程卷 1》
操作系统
推荐《深入理解计算机基础》,从第五章虚拟内存开始看。这本书非常经典,能够熟知这本的知识,面试中的操作系统问题绝对没问题。
清华大学操作系统课程,学堂在线可看。
有些大佬推荐看现代操作系统,Linux 内核这些书,这些书面试中考察的不多,可以以后工作了看。
下次一定。
项目准备
看了陈硕《Linux 高性能服务器编程》这本书,基于这本书在 github 上学习了一位大佬写的 web 服务器。
学 C++方向的很多同学都准备了 web 服务器,导致我后期面试跟别人撞车。
项目经历可以说是我的弱项了。有精力想要冲大厂的同学,可以看看陈硕的 Module 库,了解下一些开源库的源码,比如 libevent nginx 等。
Linux 使用
我看了 B 站尚学堂的 Linux 视频教程,课程内容涵盖了大多数面试内容。
数据库
基础入门看《MySql 必知必会》,进阶看《高性能服务器》前四章。
设计模式
学会单例模式和工厂模式这两种模式即可。
什么时候投简历最好?提前批!
2020 年疫情期间,我花了三个月把之前提到的学习资料看了一遍,还花了些零零散散的时间看了牛客网上的面试经典问题。
六月份,我的秋招之旅便开始了。
七月初很顺利的斩获了我的第一个 offer——Tplink 后端开发。七月份很多互联网知名公司提前批都开始了,于是我开始了疯狂海投、笔试和面试的过程,最忙的时候一天有 5 场面试。
大家一定要在提前批抓住机会,不要等到完全做好准备了再投简历。
一是你准备好了,别人也就准备好了。
二是很多公司提前批免除了笔试的过程,面试难度也比正式批要小。
三是到了正式批,很多人会学会搞骚操作。
我了解到居然有一个实验室的人同时帮一个同学做笔试的情况,我就说怎么到了正式批我的笔试通过率变低了。
面试是一个查漏补缺的过程,面试完之后做好总结,“以战养战”才是进步最快的方式。
七月中旬牛客做了一个 SP 提前批专场的活动,每个公司都有投,虽然说多数毫无音信,甚至一些不太知名的游戏公司直接通知我简历不过,把我气的半死,不过我最想去的 Shoppe 通过了简历筛选,免除了笔试环节,要知道笔试就要挂很多人。最后我的 offer 基本上都是在提前批拿到的。
当然找工作免不了焦虑的时候。
八月上旬字节提前批三面挂,网易互娱一面挂,快手 HR 面之后也没有准信,那段时间真的有些低气压。
我不是一个心态很好的人,失败的时候就会生气焦虑。我也不喜欢给自己灌鸡汤,找不到工作我就是烦。
我觉得这很正常啊,是个人找不到心仪的工作都会很崩溃,那段时间经常我还经常跟我妈吵架。
可生活不能老这样,我得调节自己,烦躁的时候我就啥也不干,玩玩手机,放空自己。
在找工作期间我还养了两只小乌龟,他们太可爱了,看着他们就特别解压。
另外,找工作别看牛客,一堆大佬 show 自己收到大佬 offer,越看越烦。
八月中旬心态崩溃,去长沙玩了一圈,回到家隔天收到了 Shopee 意向书,心里放松了大半。
之后的过程也慢慢的越来越顺利,继续笔试面试的过程,在九月初赶在开学前收获了百度,快手的意向书。
回到学校以后,由于导师盯得紧,能面试的时间很少。所以接下来的阶段,主要是利用有限的时间冲冲大厂,再准备一些心仪的国企银行。
当然了,互联网也许不是人生的最优解,毕竟容易出现中年危机不是?
但是无论是去国企还是银行,都需要提前准备的意识。
如果大家有准备前端算法或者其他方向的,可以参考这下面这个牛客网址:https://www.nowcoder.com/discuss/351700
非常感谢庆妹的无私分享,也祝庆妹在接下来的面试中一切顺利,好好享受最后一年学生时光,齐姐真是羡慕你们呀~
我是小齐,纽约程序媛,终生学习者,每天晚上 9 点,云自习室里不见不散!
更多干货文章见我的 Github: https://github.com/xiaoqi6666/NYCSDE