Java后端开发学习路线

面试三要素:八股,项目经验,算法

如果三项表现优秀,基本会拿到of,面试前首先要知道需要学习哪些技术栈,这些技术栈是要写进简历里的

技术栈(学习顺序从上到下)

  • Java基础:https://www.bilibili.com/video/BV17F411T7Ao/ (上部) https://www.bilibili.com/video/BV1yW4y1Y7Ms (下部) 其中集合框架底层源码要重点学习,其中GUI(swing,awt包下),如果没时间可以不学。视频中的代码集合框架那一部分多敲几遍,算法中那些集合api很常用,其他代码时间充足,也可以跟着视频敲一下,但没有必要默写硬敲

  • MySQL:https://www.bilibili.com/video/BV1Kr4y1i7ru/ 其中的主从,读写分离,分库分表代码也是有时间尽量跟着视频敲一遍,知道个大概思路,理解原理是最重要的,切忌死记硬背,默写硬敲(因为面试时根本不会让你默写这些配置,工作中很多都是现成的改点东西就完了,实在不行gpt直接生成,或者网上查查),如果着急写项目,原理篇可以直接过,回来再学

  • JavaWeb :https://www.bilibili.com/video/BV1Y7411K7zz 学习JavaWeb之前,尽量先了解一下计网那些协议,请求,响应,可以更加容易的理解视频中的内容。还是那句话:理解原理是最重要的,切忌死记硬背,默写硬敲。其中的项目可以不做(如果有的话),没有必要,等听完springboot时再做。还有个JSP也是比较老的,了解一下即可。

  • SSM:https://www.bilibili.com/video/BV1Ya411S7aT (Spring,SpringMVC,MyBatis)属于JavaWeb的进阶。掌握Spring,SpringMVC,MyBatis的原理才是最重要的,尤其是前两个。SSM配置文件跟着视频敲一遍就行,理解每部分是干什么的就可以。不需要默写配置文件。还是那句话:理解原理是最重要的,切忌死记硬背,默写硬敲,如果着急写项目,原理篇可以直接过,回来再学

  • SpringBoot:https://www.bilibili.com/video/BV19K4y1L7MT (这个是2版本,听3的也行) 属于SSM框架的进阶,这部分Thymeleaf了解一下即可(因为不是前后端分离,现阶段企业的项目都是前后端分离)。掌握SpringBoot原理十分重要(自动装配,Bean,依赖注入)这些,如果想要快速做项目找实习,这些可以回来再听。视频里的单元测试代码可以敲敲,项目(如果有的话)还是建议不要敲(因为有Thymeleaf,不是前后端分离)。如果着急写项目,原理篇可以直接过,回来再学。

  • Redis: https://www.bilibili.com/video 学习方式与mysql差不多。 其中的主从,读写分离,分片集群代码也是有时间尽量跟着视频敲一遍,知道个大概思路,理解原理是最重要的,切忌死记硬背,默写硬敲(因为面试时根本不会让你默写这些配置,工作中很多都是现成的改点东西就完了,实在不行gpt直接生成,或者网上查查),如果着急写项目,原理篇可以直接过,回来再学

  • 项目(苍穹外卖):https://www.bilibili.com/video/找不到好的项目可以写这个项目到简历上(很基础),不过推荐还是找星球项目写到简历上,这个可以练手。我的毕设也是这个,哈哈哈哈哈哈哈哈哈哈。这个项目推荐敲一遍,理解CRUD。

学习到这里可以简单写一个CRUD的项目,但是凭借这些找实习还不够

  • JVM:https://www.bilibili.com/video/BV1r94y1b7eS,这里开始基本没有什么代码,最多有些命令。这部分原理很重要,所以学习这部分就是为了掌握原理

  • JUC:https://www.bilibili.com/video/BV16J411h7Rd/ ,这部分原理很重要,所以学习这部分就是为了掌握原理,学JUC前感觉掌握一下操作系统第一章进程线程还是很重要的,知道什么是锁,CPU上下文切换是什么。这样方便学习JUC

学到这里就可以找实习了,常见的八股就是JVM,JUC,集合,MySQL,Redis,Spring原理。做一个稍微好点的项目,准备准备算法。海投,中小厂实习还是能找到的。八股掌握扎实,项目别太简单,算法也掌握一些常见的。找到大厂实习也不是梦。

如果直接想要冲击大厂,但时间不太够。例如我25年毕业,学完上述已经到24年2月份了,实习很难保证有时间再继续听课。所以可以再学学下面的微服务和MQ,算法多刷刷,项目准备的更充分,八股再熟悉熟悉。大概4月份就可以冲击大厂。

  • SpringCloud:https://www.bilibili.com/video/BV1LQ4y127n4/ 里面包含很多(Redis,RabbitMQ,docker,SpringCloud),如果有学过的,可以跳过,至于差不多会用就行

  • RabbitMQ: https://www.bilibili.com/video/BV1mN4y1Z7t9/ 掌握消息队列原理很重要(面试被问过)
  • kafka: https://www.bilibili.com/video/BV1Gp421m7UN/ 掌握消息队列原理很重要(面试被问过)
  • RocketMQ: https://www.bilibili.com/video/BV1cf4y157sz/ 掌握消息队列原理很重要(面试被问过)

RabbitMQ,Kafka,RoceketMQ上面三个至少会一个,最好全会

  • MongoDB:https://www.bilibili.com/video/BV1bJ411x7mq/ 知道与MySQL的区别,了解一下就好,有余力仔细学学
  • Elasticsearch: https://www.bilibili.com/video/BV1b8411Z7w5 知道用途,了解倒排索引就好,有余力仔细学学

  • Linux:https://www.bilibili.com/video/BV1n84y1i7td/ 掌握常用的命令就好
  • docker:在springcloud视频中会出现,如果没出现,B站随便找找会用就行
  • maven:在JavaWeb,SSM,SpringBoot视频中肯定会有一个出现,如果没出现,B站随便找找会用就行
  • git:B站随便找找会用就行

总结:学习Java技术栈之前,最好还是了解一些计算机网络和操作系统的知识,理解起来更容易一些

操作系统:线程进程管理,锁机制这些都是第一章的内容,学学第一章感觉就好

计算机网络:主要是应用层(HTTP),传输层(TCP,UDP),网络层(ip),了解七层结构,每层协议有哪些,三次握手,四次挥手这些

计算机网络和操作系统看看小林coding上的面试题感觉就可以。

八股

  • JavaGuide: ********************** 结合自己听的课做的笔记,掌握原理,最好都看
  • 小林coding : ****************************************** 这里面主要学操作系统,计算机网络。里面主要看图解Mysql,图解Redis,Java面试题这三个都要看

图解网络与图解系统感觉太深了,感觉有点像考研408的感觉了,面试从没问这么深过。我看了感觉都记不住。如果能理解时间充足,还是掌握一下(计多不压身)。

八股也要多刷牛客,会有很多实习和校招面试题

算法

平台:********,牛客网,acwing

算法可以在学完Java基础时就可以刷了,边听课学技术栈,边刷算法

主要就是********,********上的算法最好有一些基础,起码知道什么是链表,数组,树,图这些数据结构,科班的看一下老师上课讲的ppt就好,非科班上B站找数据结构与算法课挑着听,例如手撕B+树感觉就没必要听了,懂原理就行或者把王道考研数据结构与算法听一遍就行,讲的很基础,主要是数据结构,算法就有个八大排序算法。

刷********算法最好按照模块刷,例如数组,链表,树,图这样的;也可以按照算法来刷:贪心,动态规划,双指针,二分查找,BFS,DFS这些,切忌从头刷,起码我遇到的没有这么干的,效果不好,接着就可以刷hot100,面试经典150这些。如果时间不够的话,可以直接上hot100和面试150

最后********刷题数量:我刷了快400道题,我建议时间充足尽量刷到450左右,就可以不用再刷新题了。如果没时间,刷hot100,面试150就行了

********刷题感觉至少需要250道题目(想要冲击大厂)

********题目,面试会出现原题,所以尽量要多刷,来回刷,要不然容易忘

牛客网上也可以刷算法,********主要是核心代码模式,牛客网上有的是ACM模式,起码要把牛客网上的输入输出模型做一遍

我之前牛客网笔试算法题,题目用户输入一个数组,使用scanner,********题目做多了,main方法scanner输入不会了。

剩下的acwing模板题也可以做做

项目经验

最好找知识星球上的项目,复杂点的,最好不要选苍穹外卖,无论是实习还是校招。如果找不到其他项目,做苍穹外卖属于保底行为

另外就是多实习,尽量一直实习,不要停止(3-6个月,尽量不要停下来,尽量找大厂)

个人感觉大厂sp,ssp都是在项目经验上十分厉害(自我感觉)

简历

  • 个人信息:姓名,年龄,电话,邮箱这些是最重要的,是预备党员和党员的话写上
  • 校园经历:学校(本还是硕,92特殊标记,哪年毕业),专业,打过哪些竞赛(ACM,蓝桥杯国奖很加分),其他非算法竞赛可以凑字,绩点,成绩排名高就写,感觉没人会看这个
  • 实习经历:主要就是介绍在公司干了什么,具体内容分点列举,实习时间也要写上,负责什么也要写上(前端还是后端),实习收获(别写那种套话,要写就写点有用的,除非是凑字,要不然不要写)
  • 技术栈:就是上面列举到的,熟悉掌握,熟悉了解,分点列举。某些可以写的详细一些(Redis熟悉了解主从,读写分离,分片集群这些)
  • 项目经历:跟实习经历差不多。时间可写可不写
  • 个人总结:网上随便找找就好

有博客的,gitee,github开源项目也可以加上,有的也很加分

面试官有些东西你简历上没写也会问:例如操作系统,计算机网络,数据结构与算法。 git,maven虽然不常问,但也是默认会的

总结

面试三要素:八股,项目经验,算法

  • 八股:多看,熟练掌握
  • 算法:多总结,面试算法题做不出来直接挂
  • 项目经验:拿sp,ssp项目经验得十分强,白菜也需要项目经验,但没sp,ssp高(自我感觉)。因为八股,算法到公司有些用不上,是为了筛选你,考察你的能力,但项目经验就是企业的刚需,可以给公司带来更高的价值。

最后:Java后端开发准备就业是个漫长的过程,都是以年为单位计算的(半年,一年,一年半,两年),我感觉至少需要学习一年时间

所以希望如果有就业意向,确定Java后端开发。要尽早的开始准备。

鼠鼠末211本非科班学习Java一年参加秋招,现在有一些后悔没有早点准备。如果大二开始准备,现在估计能拿好几个大厂of了。

现在就业对学历要求很高,很多公司卡92。

所以

  • 本科非92的最好保研保92学校或考研考92学校。
  • 本科92的想就业就可以参考我下面的规划。

当然双一流也可以看作92(个人感觉),例如深圳大学,杭州电子科技大学,非常好的普通本科

如果想要Java后端开发就业,本科大学四年规划:

  • 大一:尽可量多学习几门语言,C,C++,Java,Python。另外还要掌握数据结构与算法,操作系统,计算机网络。大一主要是能多学点尽量多学一些。多打打算法竞赛(蓝桥杯,ACM),打竞赛结果不重要,过程很重要。顺利通过四六级。剩余时间可以参与一些社团工作。(当然错过影响也不大)
  • 大二:要开始准备好方向。如果是Java后端的话,按照我的学习路线学习,在大二下学期开学时,差不多能找到大厂实习,接着就是实习快结束一个月内找下一家实习,如果第一段是大厂,后续最好也是大厂
  • 大三:继续找实习,大三下2-3月份就可以投暑期实习,然后拿一个转正的of
  • 大四:转正of下来的估计8月份,如果转正of不满意,正好赶上秋招多拿几个of

如果大一或大二的牛友看到这篇文章,按照这个做的话,相信秋招会有一个40k的of(个人感觉),虽然我认识的没有40k的of,但未来2-3年,厉害的能拿到of。

最后祝福牛友25年春招能拿到自己满意的of。欢迎各位牛友在评论区评论。如果有不对的地方,欢迎指正

ps:如果以上的内容对于还在找工作和找实习的你有所帮助,不要吝啬您的花花。

全部评论
双一流应该是双非吧?不能当92吧
点赞 回复 分享
发布于 01-05 19:44 山西
文章中出现的**********是力扣
点赞 回复 分享
发布于 01-05 20:28 北京
感谢uu 写的真好 不知道评论怎么这么少
点赞 回复 分享
发布于 01-05 23:22 陕西
m
点赞 回复 分享
发布于 01-06 10:23 上海
mark
点赞 回复 分享
发布于 01-06 10:56 北京

相关推荐

01-04 11:41
门头沟学院 Java
本菜鸡目前打算写一个业务项目,一个轮子项目。考虑了RPC,但又看到好多不推荐写RPC的,wtf,现在也不懂了,有没有佬给点建议。#简历中的项目经历要怎么写##2025,我想......#
小力士:这不是这个项目的问题,是知识体系的问题,你写了这个,就会延伸出来问你分布式微服务的问题,你要是写业务相关的项目,延伸问你的多会是场景题。相当于是个简历的引导性提问
点赞 评论 收藏
分享
       由于某一个bug从早上八点钟,到现在编辑的时间16:05,花了将近8个小时,一直在修改某一个及其恶心的bug;       现在处于一种较为疲劳的状态,然后现在有很多负面情绪;可能过一段时间之后,那些情绪下去了,可能就会觉得多一事不如少一事,也就不再愿意提起这件事了,所以能够在上头的情况下,把自己的一些负面的情绪表达出来。即使说表达的有些语无伦次,但是也希望能够给牛油们提供一个反面教材。如果您对我的话有不同意见,不用纠结,正确的一定是您。       跟着这个教程学习能够学到不少东西,但是要付出很大代价。如果有其他的选择,建议不要用这个。       当然如果你愿意进他的知识星球可能会简单许多,这也有可能是他把教程做成现在这样的目的。       阐述一下这么讲的原因:        项目整体很好,但是没那么适合学习;说是一步步实现,其实省略了很多代码,如果你想一步步地跑通程序,你可能需要将他的代码和你的一行一行对比,将缺少的、改掉的补上去;(别问我怎么知道的,我就是这么一步一步过来的)。比较耗费时间,如果可能的话,建议不要这么做,如果你愿意进知识星球,可能会有更快速的解决办法。有人可能会说,你调试的艰难是因为你理解的不够深入,可是如果深入理解了我还做这个项目干嘛?        今天这个章节,代码不难,很容易理解,我也很快把代码写了上去,然后发现某一部分出问题了。        首先开始在网上查报错原因,没查到;        然后进行调试,也没找到问题;        然后将他的源代码下载下来,配置好环境,拿他的运行,然后两边加同样的断点一步一步找,没有找到;        然后最原始办法,把他的代码和我的代码一行一行的比较,总共六七十个文件,一行一行的对比,还是没有解决;        最后,在网上找到代码对比工具,找到了。        你们猜是什么问题??   他把一个变量由false变为true,所以整个程序直接报错了;关键是这个变量与当前这一部分的代码没多大关系,没有任何解释,也没有任何说明,就直接改了;如果不是一行一行对比,这个程序下辈子也跑不通。        也就是这个原因(当然更大原因是因为自己菜),所以这个项目断断续续做了一个多月了,真的好痛苦。很多次想放弃,但是一想到已经投入这么长时间了,放弃就太浪费了,然后又咬牙撑了下来。        如果有朋友想尝试这个项目,希望你能慎重考虑,看看眼前这个反面教材。现在这么卷,需要学很多东西,能够学习的时间都很宝贵,不希望大家把时间浪费到一些作用较小的事情上;为了求职这个目标,尽可能的少走弯路吧。不要像我这样,花了很多时间,心理上、身体上都承受了很多。如果有其他的选择,建议不要用这个。        再重申一遍,如果您对我帖子里的话有不同意见,不用纠结,正确的一定是您。        双非菜鸡的心声,求大佬们轻喷        如果您愿意抽出宝贵时间,提出宝贵意见,也非常感谢。如果您愿意为我提供指点,将不胜感激。#手写框架##小傅哥##知识星球##spring##大佬赐教#
一只菜鸟111:这种轮子项目 最好的学习方式是直接看官方源码
点赞 评论 收藏
分享
评论
13
140
分享
牛客网
牛客企业服务