一篇近万字的秋招总结及资源分享
文章主要分为三大部分,第一部分是楼主的一个回忆录,仅作参考,如果大家时间有限,建议跳过。第二部分是秋招的经验分享,比较重要,建议还在找工作或者未来需要招工作的同学重点越多。第三部分是资源分享,大家按需自取。最后,如果觉得对你有帮助,可以点赞+评论+收藏,谢谢支持!!
零、写在前面
秋招已经接近尾声,有一些人取得了满意的offer,有一些人还在准备春招。这次秋招算是楼主在大学期间,印象深刻的事情,也是自己在学生期间,最后一次拼搏。
没有人天生是天才,记得在今年参与了各个公司暑期实习招聘,刚开始特定准备了一个表格,记录自己的投递进程。后来,表格上的公司越来越多,但是却都是石沉大海....
简历挂、笔试挂,一面挂....每一次失败其实心情都很沉重,半焦虑的睡不着,但是总是笑着跟人开玩笑说:这都只是垫脚石而已~
没人愿意失败,上百次的失败,可能才换得一次成功,但是没有办法,确实太残酷了....现在想想:有时候机会不是留给那个最努力的人,短暂的努力很难有结果,只有坚持下来的努力才能有满意的结果。
最后通过滴滴面试时候,同样睡不着了,除了难以置信外,还有的就是心中无限的喜悦。
这么长时间以来,经历了很多,最后用一篇文章做一个总结,希望给其他同学一点启发或者一点微薄的帮助~
一、秋招的这段时间
1. 学习时间线
这个时间线算是一个回忆录,仅供参考,可以跳过~能记录的这么详细,主要还是因为在学习的同时,会发表博客进行记录。做这个总结的时候也是再又一次回顾博客。
2019-12-17之前 那个时候自己已经决定了开始找工作,但是缺乏信息,这个时候没有老师也没有同学明确的告诉秋招的事情,意识不到重要性。自己在这期间参加了数学建模竞赛,也尝试在一个研究所实习,也在做一些科研,发表论文,甚至还准备了美赛,上课也是非常认真的听讲。不过好在断断续续的复习了Java的基础,算是打下了一个语言基础。
2019-12-17 当时参加了学校编程队的迎新大会,那个时间听到老师说有几个学长正在找工作,就向老师要了学长的联系方式。后面跟学长交流,才知道来年的春招就已经是就业的起点。这一天,我买了牛客网CyC2018的求职经验分享课程,这个课程对我意义重大,算是一门启蒙课,反反覆覆看了很多遍。课程链接。
2019-12-18 刚刚认识到要复习的内容真的好多好多(具体内容下面有详细介绍),真的很迷茫,那个时候才大三,还有好多好多的课程要上,从来不敢相信找工作竟然比考研还有早(我们学校宣传不够);自己太多不会,不知道怎么复习,最后发了一个朋友圈。后面一段时间就在计划以及准备期末考试。
2020-01-02 在复习期末考试的空闲时间,学习了Markdown语法,写了第一个Markdown文档,在CSDN上发表了人生第一个博客。当时想着,自己差不多从零开始(当然这个零不单单是真正的零,还是有一定基础的),而发表博客就是想记录我的学习历程,就像现在回顾起来的时候,充满骄傲。
说实话上面即使意识到秋招的重要性,也没有马上就紧张的学习。那个时候自己自己手头上有两个竞赛还有一些科研压力,并不能完全投入复习中,所以其实对我当时很重要的一点是:要清空手头上的杂事,同时在做规划,为全身心的投入复习做准备。所以当你决定要走一条路之前,要提前为此消除杂念,不然很影响效率。
2020-01-13至2020-02-17 13号开启了寒假的学习生活,那个时候每天的学习都会记录下来。第一个原因我当时给我自己学弟学妹制定了寒假的学习计划,开学后会检查,我自己也会以身作则;第二个原因是我觉得这段经历确实对我来讲很重要。中间并不是完全的连贯,其中有小年、除夕、春节等节日,也有我的生日,所以就稍微的休息放松。(修改时间的问题,可能因为移动了文件夹,具体内容的修改时间没有问题)这段时间主要还是学习的是Java高级部分,比如多线程;Java web相关;Redis、Maven等。并不是说学完了就可以面试了,那个时候学完,也仅仅是写个demo而已。
- 2020-02-24至2020-03-19:学习了SSM三大框架
- 2020-03-20至2020-03-23:学习了JVM
- 2020-03-23至2020-04-04:学习了网络原理
- 2020-04-06至2020-04-12:学习了Mysq
- 2020-04-25至2020-05-11:学习了Java高并发相关
- 2020-05-14至2020-05-17:学习了Redis相关
- 2020-05-27至2020-05-31:学习了Rockmq相关
- 2020-06-01至2020-06-28:复习了期末课程,认真学习了计组和操作系统
- 2020-06-28至2020-07-28:进行了第二轮复习,看了很多面经
2. 每日时间安排
因为一直没开学,所以选择离家比较远的自习室学习,下面是自己学习的一张图,会根据情况灵活调整具体的内容~
上面的时间仅供参考。其实,学习的时间并没有那么多,大概在8-10小时左右,远远比不上高中的时候努力。但是这个疫情带来的差距是巨大的,整整一个学期加寒暑假,少了很多学校的干扰,能在家坚持下来学习,进步绝对是巨大的!
二、经验分享
1. 需要准备的东西
1.1 简历
把这个放在一个讲,是因为作为学生,写简历的时候,会深刻的认识到自己的不足。
简历非常重要,不仅决定了你能不能进面试阶段,还决定了面试阶段能不能有好的表现,面试很多就是针对的简历的内容的提问
我的简历,从过完年开始写,写了很多版,不断的改进,随着能力的进步,不断的充实。千万不要赶一份简历,要保证简历和自己能力是随时匹配的,这样才可以随时投递简历,不错过任何一个招聘机会。
一个真正好的简历,不需要特别华丽的包装,一定要保证学校、应聘岗位等关键信息清晰明了。
简历模板上,我自己用的超级简历,有一些开源的html简历也是很优秀的。
1.2 项目或实习
项目或实习经历是一个非常关键的经历,可以拉开两个人的在面试上的差距
- 不要在建立上写太多,一般简历上也就两三个,写的太多反而会给自己挖坑
- 项目最好包含以下一个或多个关键词:高并发、高可用、设计模式。
- 注意对比分析,比较不同解决方案的优劣。项目中很关键的问题,解决方案应该是不断迭代的,一定要清楚最开始用的什么?为什么当时用?为什么现在不用?现在的方案有什么问题?等等问题。
- 注意数据的测试,要具备数据测试的思想,比如熟悉一下Jmeter,对项目进行压测
1.3. 基础的知识
基础知识需要准备的很多,下面有专门介绍。
- 基础内容有时候也叫八股文,千万不要死记硬背,需要理解并总结,最后讲出来,给别人讲明白。
2. 需要学习的内容
这里只讲Java后端开发所必须的技术栈,如果不是向走这个岗位,可以跳过~~
先上图,自行保存:https://img-1302474103.cos.ap-nanjing.myqcloud.com/img/20201124154504.png
2.1 计算机基础
科班必学四大件:
- 计算机网络
- 数据结构与算法
- 计算机操作系统
- 计算机组成原理
算法做题一般语言不限,推荐C++或者Java,在Leetcode或者牛客刷题都可,有时候笔试或者面试用的都是牛客的平台。
刷题按照专题刷题,比如dfs、动态规划等等。
题目数量,200+算是及格,300-400才能应对很多题目,所以至少要求200道,不建议买会员。
除此之外,还有一些软件设计相关的,比如设计模式、软件工程等
2.2 语言基础
不同的语言会有差异,一定要有擅长的语言!!
- Java基本的语法
- Java集合
- Java多线程
- JVM
- Java网络相关的,比如NIO、BIO
- JavaWeb
除此之外,还有会一些前端的知识,比如Html、Css、Js
2.3 框架
最开始常用的开发框架就是SSM:Spring、SpringMVC、Mybatis
后面出现了Springboot进行了整合,但是核心还是上面三个,最好看看Spring中IOC、AOP和MVC源码,能学到很多面向对象的思想
除此之外,会涉及微服务框架,建议学习Dubbo,比较经典的Rpc框架;如果有精力学习一下Netty
2.4 数据库
- SQL语法
- MySQL(建议)或者Oracle
- Redis(建议)或者其他NoSQL数据库
最好看看源码,了解存储引擎等
2.5 中间件
这一部分根据情况学习,不要求全学,最好涉及一两项
- 消息队列:Rocketmq、kafka等
- Zookeeper
- elasticsearch
- ......(分布式文件存储)
2.6 常用的工具
- git、maven、IDEA等,看自己情况
- Linux命令
3. 可能遇到的几大问题
在紧张的复习中,可能会十分焦虑,甚至会有很多疑问。那个时候,遇到一些疑问,会第一时间问学长,所以也很感谢学长在这期间耐心的答疑~~这下面记录了我认为可能出现的几大问题,可以收藏一下,如果以后出现了一些问题,希望可以有所帮助。
在分享之前,需要强调一个事情:很多时候焦虑来源于自己的不行动,只有行动才能消除未知对你的影响,在焦虑后,一定要勇敢的行动起来!!!!
3.1 不要怕学的慢
在复习的时候,时间很紧,复习了越久,越担心自己学的慢。
- 首先,思考是不是自己学习方法出现了问题?比如学习的同时,每天都要花一小点时间复习前面的等等,需要找到一个属于自己的学习方法和节奏。
- 第二,如果自己很多知识是第一次学,学的慢很正常。就像楼主刚开始接触框架的时候,会出现各种BUG,严重影响学习的进度。但是这是一个必要的过程,很少人可以一蹴而就。其实在学习一个新东西的时候,并不是单纯的从零开始,而是带着你过去知识学习,自己过去积累了越多,学的越快。
- 最后,一定要合理安排自己的计划,不能太紧张,也不能太宽松,根据自己的情况动态调整才是最重要的。
3.2 不要怕知识太难
在学习的时候,可能会遇到很多难点,比如红黑树或者一些复杂的设计逻辑,觉得自己很笨,不适合就业。
- 很多道理大家都懂,最简单的就是水滴石穿。如果什么东西都是简单易懂易上手,就很难与别人产生差距,刚开始学确实很难,但是不要轻易放弃一些东西,每隔一段时间攻坚一次,坚持下来,肯定会有很大收获。
- 也不要太钻牛角尖,用有限的时间去提高自己更大的能力才是最重要的,就像G1(garbage first)GC回收器理念一样,形成K1(knowledge first)的思想。优先学习最重要的知识。
3.3 不要怕容易忘
需要学习的知识太多太多,经常学着这个忘着那个。
- 首先,人都是有记忆周期的,自己在短暂的时间学习,很难形成长期记忆,仅仅的短期记忆,而想形成长期记忆需要的就是反复记忆(初中生物书讲的,快忘完了)
- 有一次听过一个大佬在讲,他天天听自己同事在面试,面试的那些问题都快背下来了。其实,有些时候,人与人的差距,就是在于付出的时间上。对于每个知识点,每次回顾都有可能有新的收获,所以复习的重要性不言而喻,记录博客也正是为了复习。只有千锤百炼才可以说真正掌握。
3.4 不要怕面试
有些时候,会担心自己复习的不够充分,不敢面试。
- 人都会害怕失败,都想一次成功,失败了都很难过......但是真的是没有前面的失败,很难有后面的成功。面试不收钱,勇于面试才是最重要的,每一次的面试都是一次模拟考试。
- 面试之后的总结十分重要,这是对自己一次很重要的查漏补缺,希望能够珍惜每个面试机会。
3.5 不要只有广度或只有深度
很多培训班教的课程,学的知识非常广;自己学的时候,容易陷进去,长时间出不来。
- 广度缺失,相当于一个木桶有短板;深度缺失,相当于木桶的质量不够。楼主也曾经看过别人的简历,有些人简历上写的满满当当,各个中间件样样精通;有些人简历寥寥数句,却蕴含很大能量,比如阅读过源码。
- 每个人复习的情况不一样,复习的计划一定要是动态变化的,根据自己学习或者面试的反馈,快速调整自己的进度,保证自己兼顾广度与深度。
三、资源分享
1. 笔记面经推荐
这里记录了楼主牛客收藏夹的内容,希望可以多多参考别的巨佬的分享~
因为太多太多,所以决定单开一个帖子,去这个帖子看吧,https://www.nowcoder.com/discuss/570514
可以去这个看看这些帖子作者其他的博客,会有新的收获哦~~
最后再分享自己的两篇面经:
2. 微信公众号推荐
一定要先去看看有没有什么面试的总结或者学习资源,很多回复就会有一些资源分享:
三太子敖丙
江南一点雨
JavaGuide
石衫的架构笔记
非科班的科班
我没有三颗心脏
.......................(待增加)
同时作为程序员,希望也多多关注互联网相关的新闻,利用零碎的时间阅读和思考:
TechWeb
腾讯科技
InfoQ
36氪
互利网er的早读课
差评
................(待增加)
3. 复习必备的博客
前人已经分享了大量的资源,比如说Cyc2018,java guide,hollis等等,牛客上也有大量的资源,希望可以多加阅读,多加思考,总结出自己的博客,形成自己的知识笔记。
附上大佬的在线博客:
- Cyc2018:http://www.cyc2018.xyz/
- JavaGuide:https://snailclimb.gitee.io/javaguide/#/
- Hollis:http://hollischuang.gitee.io/
- how2j:https://how2j.cn/
- labuladong 的算法小抄:https://labuladong.gitbook.io/
- 我没有三颗心脏:https://gitee.com/wmyskxz/MoreThanJava
- JavaFamily:https://github.com/AobingJava/JavaFamily
我自己博客有一部分就是总结于前人,自认为没有前人重要,放在最后:https://xzzz2020.gitee.io/
楼主的原始markdown笔记已经开源,链接:https://gitee.com/xzzz2020/autumn_moves
最后,如果大家觉得不错的话,给这些大佬一个start吧~~
4. 书籍推荐
书籍的阅读是必要的,对技术的提升式巨大的,甚至会在面试中,问你看过哪些书?
比较推荐的是牛客网的图书馆:https://www.nowcoder.com/library
上面有大佬推荐了很多书单,可以根据需要阅读电子书或者纸质书。
5. 网课资源分享
自己看的一些网课,单写了一篇文章,需要可以去这个帖子自取,https://www.nowcoder.com/discuss/570520
四、写在最后
感谢大家看到最后,纯手打,算是对自已的一个交代,如果觉得对你有帮助,可以点赞+评论+收藏,谢谢支持!!
#面经##Java##学习路径##笔记#