我的秋招总结【互联网后端方向】
今年情况很特殊,由于疫情原因,上半年时间基本在家度过,相比于在学校,科研的任务量大幅削减,多了很多可以自由控制的时间,因此为下半年开始的秋招提供了大量的准备时间。非科班出身的我,利用这段时间狂补了后端方面的一些知识。
刚开始很迷茫,不知道该学哪些东西。万事开头难,有很多事也不是一蹴而就的,就像迭代算法一样,选定一个初始点,不断迭代(边走边看)最终也能逼近结果(至于收敛快慢就因人而异了)。一头雾水的我钻进了(选了)算法与数据结构(DSA)这个初始点,算法实现方面我选择的语言是Java。DSA这块儿耗了一大段时间(主要是看视频,做笔记,看完了视频之后才开始系统的刷题),相关学习资料见下面具体对应模块的推荐。学习DSA过程之余,我浏览了一些别人的面经,也找了一些别人总结的后端找工作资料,发现计算机网络、操作系统、数据库这块儿也是面试大头。学完DSA后,我开始了一边刷leetcode一边补其他的后端知识的日常。对于刷题,刚开始刷的力度较大,后面就慢慢的开启了每日一题模式,保持手感,剑指offer系列一定要认真地过一遍,真的是面试高频中的高频。对于其他后端知识,我开始了数据库这方面(计算机网络、操作系统这些之前接触过部分,数据库完全没接触)的学习,因为想到简历中项目的实操,数据库这一块是个大头,需要赶紧接触接触,学完这个就好开始准备项目了。学完数据库后,我上B站捞了一个个人博客的项目,这是第一次接触Web项目,从前端到后端,跟着视频敲了一遍,也是第一次接触了SpringBoot、Mybatis等框架。从中了解了一些设计模式,又一个第一次接触了设计模式。。。,感受到了它的优雅。趁热打铁,学完这个项目后,顺手把设计模式也过了一遍。接着,把Java语言相关的知识点、JVM底层原理深入学习了一遍。计算机网络,操作系统这些主要结合面经以及大佬们总结的资料看了一些面试高频点,这时候差不多到了六月份。
部分公司的秋招提前批这时候已经开始了,不知天高地厚、准备不充分的我带着自己整理的到处都是漏洞的知识图谱和一个没啥亮点的博客项目(以及一个不相关的通信算法项目)上这些公司的官网投递了简历,很快啊,通通一面即挂。但是回过头来说,千万不能因为自己准备不充分就害怕投简历,反而是要加大力度地投,尽早投。面试是找自己哪块知识点不全地最有效方法,同时也是最快速进步地方式。
每场面试过后,一定要及时复盘,不断地查漏补缺,整理到自己的笔记中去。下一场面试前,过一遍自己的笔记,最终你的笔记会越来越全面,面试起来也会越来越得心应手。我也是在这个过程中不断完善自己的笔记(一定要自己整理笔记,自己过一遍知识点整理的笔记才是最适合自己的,网上虽有很多很全面的笔记,但太全面 了,往往也显得冗余),同时也学习了几个新的项目。
在最终收获到offer的公司中,字节贯穿了我的整个秋招,从提前批开始一直到整个秋招最后一次面试结束,惭愧地说,我面了八次,提前批一面挂,接着正式批开始后,被捞了起来,结果三面刚结束第二天被通知又挂了,善良的HR立马又把我捞到了另一个部门,说可以从二面直接开始,可惜状态很不好,直接再次挂,这时候已经到了九月,不甘心的我又上字节官网投了简历,笔试完一周左右,收到了面试的通知,终于这一回,三面上岸,面完了,秋招也结束了。字节最终定的岗位是头条皮皮虾后端,但是最终没去,给的不多啊啊。
软件推荐
1. 效率篇
- 幕布,软件思维导图模式,提炼知识大纲,有很多会员白嫖活动,见幕布会员领取活动
- Typora,markdown写作工具,适合细节型笔记梳理
2. 编程工具篇
- JetBrains全家桶,如前端的webStorm,用于Java开发的IDEA
- vscode代码编辑器
学习、面经、刷题网站推荐
- Bilibili学习网站 想要的学习资源,上面基本都可以搜到,比如数据结构与算法、数据库、操作系统等
- leetcode刷题网站 刷题的同时,也可以参加参加他们的周赛
- 牛客网 面向面经查漏补缺
- 慕课网 一个找入门项目的地方
基础知识思维导图
(以下标注有⚡️记号为强力推荐的资料)
数据结构与算法
推荐视频:⚡️小码哥的恋上数据结构与算法
推荐看视频,边看边整理,相对于看书而言,更加形象生动一些
计算机组成以及操作系统
推荐视频:深入理解操作系统
推荐书籍:⚡️深入理解计算机系统、⚡️深入理解Linux内核
推荐看书,查漏补缺,哪块不懂查哪块
计算机网路
- 推荐视频:计算机网络
- 推荐书籍:⚡️计算机网络(谢希仁第七版)
数据库
1. MySQL
- 推荐视频:MySQL基础+高级篇
- 推荐书籍:⚡️高性能MySQL第三版
推荐先看视频过一遍,先会操作,再看书理解底层原理
2. Redis
- 推荐视频:Redis基础教程
Java
1. Java语言
- 推荐视频:Java语法视频
2. Java高并发编程
- 推荐视频:高并发与多线程网络编程
- 推荐书籍:⚡️Java并发编程实践、Java并发编程的艺术
推荐看书,比较系统
3. JVM底层原理
- 推荐视频:⚡️解密JVM-理论与实践结合
- 推荐书籍:⚡️深入理解Java虚拟机
设计模式
- 推荐视频:23种设计模式-马士兵
框架
1. SpringBoot
- 推荐视频:SpringBoot 视频教程全集
- 推荐书籍:官网文档
2. 消息队列:RabbitMQ、RocketMQ等
- 推荐视频:MQ消息中间件之RabbitMQ
3. MyBatis
- 推荐视频:MyBatis尚硅谷 //适合了解如何使用MyBatis,不适合了解底层原理
项目推荐
1. 选自慕课网
-
秒杀这个业务烂大街了,但是该项目后面的分布式技术确实还是不错的,若简历中写这个项目,可以考虑换个业务包装包装,核心技术不换,也是一个不错的项目
2. 选自Github
参考笔记推荐
1. 优秀的后端笔记总结项目
2. 干货公众号推荐
cxuan、JavaGuide、CodeSheep等
3. 我的幕布笔记(仅供参考)
- Axis-BackEnd
联系方式
可以直接私信,欢迎友好地交流