汇前人之所长,为小白新手准备的Java求职版学习路线
这是六则或许对你有些许帮助的信息:
⭐️1、阿秀与朋友合作开发了一个编程资源网站,目前已经收录了很多不错的学习资源和黑科技(附带下载地址),如过你想要寻求合适的编程资源,欢迎体验以及推荐自己认为不错的资源,众人拾柴火焰高,我为人人,人人为我🔥!
2、👉23年5月份阿秀从字节跳动离职跳槽到某外企期间,为方便自己找工作,增加上岸几率,我自己从0开发了一个互联网中大厂面试真题解析网站,包括两个前端和一个后端。能够定向查看某些公司的某些岗位面试真题,比如我想查一下行业为互联网,公司为字节跳动,考察岗位为后端,考察时间为最近一年之类的面试题有哪些?
网站地址:InterviewGuide大厂面试真题解析网站。点此可以查看该网站的视频介绍:B站视频讲解 如果可以的话求个B站三连,感谢! 3、😊 分享一个学弟发给我的20T网盘资源合集,点此白嫖,主要是各类高清影视、电视剧、音乐、副业、纪录片、英语四六级考试、考研考公等资源。4、😍免费分享阿秀个人学习计算机以来收集到的免费学习资源,点此白嫖;也记录一下自己以前买过的不错的计算机书籍、网络专栏和垃圾付费专栏;也记录一下自己以前买过的不错的计算机书籍、网络专栏和垃圾付费专栏
5、🚀如果你想在校招中顺利拿到更好的offer,阿秀建议你多看看前人踩过的坑和留下的经验,事实上你现在遇到的大多数问题你的学长学姐师兄师姐基本都已经遇到过了。
6、🔥 欢迎准备计算机校招的小伙伴加入我的学习圈子,一个人踽踽独行不如一群人报团取暖,圈子里沉淀了很多过去21/22/23届学长学姐的经验和总结,好好跟着走下去的,最后基本都可以拿到不错的offer!此外,每周都会进行精华总结和分享!如果你需要《阿秀的学习笔记》网站中📚︎校招八股文相关知识点的PDF版本的话,可以点此下载 。
# 前言
这是阿秀原创的学习路线以及项目推荐系列文章,如下图:
如有盗版,必回拿起法律武器捍卫自己的正当权利,《学习路线&项目推荐》的全部内容我将它放在了阿秀的学习圈中,欢迎了解阿秀的学习圈。
# 1、前言
这篇文章是阿秀根据学习圈里的上岸经历汇总总结出来的Java学习路线,如果想从事Java开发工作,可以参考本文。
因为如果一本书或者有一个视频,有一个人说它好,它好不好不一定;
如果有两个人说它好,它可能确实有点好;
如果有三四个甚至是四五个人都说它好,那他至少这个东西不会差。
我就是从这种角度去汇总那些学习Java技术栈已经上岸的同学过程中看过的视频、学过的资料。
我算了一下时间,从零基础入门到可以找到工作的程度,大约准备五个月到六个月左右的时间;
如果是科班出身,已经学习过Java、数据库等一些课程,或者学习过数据结构和算法则会节省很多时间,四个月左右就差不多了。 但这并不代表你学完这些内容就可以停步不前了,这是不对的,如果你想要在互联网行业长久的干下去,坚持充电、提升技能是必须的。
如果你想毕业后从事Java开发,最好的准备时间是大二-大三或者研一-研二,其次是现在!
# 2、计算机基础学科的学习
这里不再具体展开,直接去看我写的"《⭐️⭐️03、计算机校招基础学科速成路线 已完成》",链接在这里:https://interviewguide.cn/notes/02-learning_route/01-basic-project/quick.html
多说一句,Java对于数据库的要求比较高,建议把上面这篇文章的数据库这块好好学,特别是MySQL的学习。
# 3、Java学习路径
# 第一阶段:Java基础
建议用时:15-20天 重要知识点:数据类型、核心语法、面向对象、数组、集合、IO流、String/StringBuffer/StringBuilder、线程、并发、反射、泛型
学习Java开发,首先要学习Java基础知识,尤其是校招的时候非常注重基础。
基础一定要打好,校招面试的第一面,对基础的考察是比较多的,我在校招面试解析环节也说过这个。
如果是小白入门,看视频是最有助于理解的,而且是学习最快的,后面再查缺补漏的时候,就看看书就好了,或者回头翻一下笔记。 看视频的时候不能只听不练,建议用IDEA工具,更普遍一些。
这里推荐高淇老师的Java300集,跟着他学习会有一种很强的舒适感,他讲解的也很清楚。
javaSE是Java最基础的内容,各种类、方法、继承、JavaWeb等,也是我们打好Java编程基础能力的关键。 地址:https://www.bilibili.com/video/BV1qQ4y1m7hQ
如果你已经学过Java基础的知识,也可以直接找一本基础书,复习复习即可。
推荐一本Java基础的书籍:《Java核心技术 卷1》,入门书籍看这一本就够了,对照上面列出的知识点,吃透这些基础知识,就可以了。 这本书后面的Swing、applet等等就不需要看了。
# 第二阶段:JavaWeb
建议用时:7-10天 重点知识点:HTML、CSS、JS、jQuery框架、Servlet程序、Filter过滤器、Listener监听器、JSP页面、EL表达式、JSTL标签库、Cookie技术、Session会话、JSON使用、Ajax请求、Tomcat、maven等等
Java开发的岗位大多是Web开发,也就是大多数人在求职岗位上看到的Java后端开发。
现在基本也都是前后端分离的方式了,虽然不是前端开发,但是你要懂前端界面和后端数据是怎样交互的,与前端工程师的沟通合作会更加顺利。
另外说一句,像一些小公司要求全栈,希望招来的后端开发也能做一些前端的工作,省一些人力成本,一些基本的前端知识点是需要掌握的。
这部分的书籍暂时没发现什么好的,优秀的视频倒是不少。
以前有个学弟在学习Java的时候发现每个课程老师用的开发工具不一样,有的是Eclipse,有的是IDEA。
于是就跑来问我,咨询过这个问题,我就直接让我跟着老师的工具走,老师用什么我就用什么;老师在视频里怎么写代码,我就怎么写代码;老师怎么调试代码我就怎么调试代码。
我以前最开始自学的时候就是这样的,老师的变量名起的是什么他就起什么。
因为你要明白,最终是要学会编程,也就是说内容才是最重要的,工具只是手段而已。
就好像我们吃饭一样,最终的目的是把饭吃到嘴里,你用筷子还是勺子都可以,只要能吃到嘴就行。
面试的时候面试官不会问你用Eclipse还是IDEA,就好像别人只会问你吃了没?吃饱没?
但不会问你中午吃饭用的是筷子还是勺子,这是一样的道理。
JavaWeb这里推荐看的颜群老师的视频课程,他说话很有意思,跟教计算机网络的湖科大的韩立刚老师一样,属于那种你看他的
视频不会犯困,反而会跟着他一起学下去的那种老师。
JavaWeb在学习的过程中,正向反馈很高,在这一部分中你会知道我们日常生活中所浏览的网站是如何搭建起来的,前端、后端、数据库是怎么相互配合的,什么叫接口,什么叫请求等等。 地址:https://www.bilibili.com/video/BV18s411u7EH
# 第三阶段:Java框架
建议用时:30-40天 重点知识点:Spring、SpringMVC、SpringBoot、Mybatis
这部分是比较重要的地方,现在Java岗标配就是Spring全家桶这一套,所以这块的学习也很重要。
但如果你时间非常紧张,可以直接看Springboot和Mybatis,这两个框架学完,就能看懂项目了,当然了,理解的深度肯定是有
限的。而SpringBoot简化配置非常好理解。
# Spring系列课程
这里推荐黑马的这个视频,讲的很清楚,属于亲妈级别的手把手带你学了。 地址:https://www.bilibili.com/video/BV1Sb411s7vP
# SpringMVC
如果你时间宽裕的情况下,建议你把Spring、SpringMVC都学习一下,搞懂 AOP 和 IOC 两个概念,以及Spring 中 bean 的作用域与生命周期、SpringMVC 工作原理,对理解Spring相关的框架非常重要。
你可以跟着这个视频中的Mybatis部分学习Mybatis,也可以跟着下面Mybatis的学习路线学习Mybatis,都可以。 地址:https://www.bilibili.com/video/BV1mE411X7yp (opens new window)
# MyBatis
Mybatis的视频主要讲的是配置文件编写、动态SQL、MyBatis缓存机制、MyBatis-Spring整合、MyBatis逆向工程,MyBatis高级内容(MyBatis源码解析,MyBatis单/多插件运行机制,MyBatis四大对象工作原理,自定义TypeHandler、MyBatis存储过程&游标处理等)。 这里推荐下面这个视频,这个是B站好评度最高的MyBatis课程,如果你不确定自己要看哪个视频的话,那就看播放次数最高的那个、评价最好的那个,这种一般都不会差。
地址:https://www.bilibili.com/video/BV1VP4y1c7j7 (opens new window) 也有人选择看下面这个视频,只能说都可以吧,二选一即可。 地址:https://www.bilibili.com/video/BV1mW411M737 (opens new window)
# SpringBoot
这个真的是吐血推荐!!!必须要看我李哥的课程!!
我特别喜欢李哥挂在口上的一句:“有道无术,术尚可求,有术无道,止于术”。
在这个视频中还会顺带看到Docker的知识。
地址:https://www.bilibili.com/video/BV1et411T7Rt
或者你选择看下面这个也是可以的,二选一即可,不要都学,当然你如果时间比较充足,那就学吧。
下面这个视频介绍SpringBoot的使用和内部原理,包含微服务概念、配置文件、日志框架的使用、web开发、Thymeleaf模板引擎、Docker容器技术等等。 https://www.bilibili.com/video/BV1gW411W76m (opens new window)
# 建议
从这部分开始,其实就不用去看书了,看书主要是在基础阶段的,那个时候多看书没错。
而框架则需要多实践实践,看看源码,会比看书更有帮助,而且Spring相关的书,也没看到写得好的。
如果你顺利学到这里其实已经很长不错了,剩下的就是多去练习,你可以在知识星球置顶帖知识图谱中的Java项目推荐中找到一些练手项目和含金量比较高的可以写在简历上的项目。
这里也简单推荐一个Java管理类的项目,很知名的若依,这是一个基于SpringBoot的权限管理系统。
虽然“若依”这个名字听起来很不科技感,但这个项目是非常好的,非常适合入门学习,有文档、有代码,社区里讨论的人也比较多。
它有前后端不分离和前后端分离的两个版本,推荐学习前后端分离的版本,因为现在大厂基本都是前后端分离的家属架构。
前后端不分离的版本: 经典技术组合:Spring Boot、Apache Shiro、MyBatis、Thymeleaf https://gitee.com/y_project/RuoYi (opens new window)
前后端分离的版本:
- 前端采用Vue、Element UI。
- 后端采用Spring Boot、Spring Security、Redis & Jwt。
https://gitee.com/y_project/RuoYi-Vue (opens new window)
# 第四阶段:Java提高
建议用时:50天
上面是标配内容,是你必须要学完的地方,下面这些内容则是属于拔高的部分。如果时间不够,着急找工作的话,可以跳过这部分,直接进入下一阶段:项目的学习。
这部分回头再补,但是鉴于2023届校招Java岗的惨烈,建议你多学点,要不真的会很难。 一些比较拔高的技术:
- Docker
- ZooKeeper 分布式协调服务技术
- Dubbo高性能的 RPC 服务发布和调用框架
- Spring Cloud
- RocketMQ
其中有些内容在上面的课程都会有提到,没提到的比如Dubbo、RocketMQ这些基本都是大厂标配了。。。
这里只对SpringCloud做视频推荐,其余技术的学习可以直接去B站搜索关键字即可,找播放量高的、评价好的、学的人多的,这种视频一般都不会差。
这里推荐尚硅谷课程SpringCloud课程,看完你就会知道你会知道什么叫做微服务?什么又叫做分布式架构了? 地址:https://www.bilibili.com/video/BV18E411x7eT
# 第五阶段:Java项目
建议用时:30天
虽然说应届生找工作不需要特别丰富的项目经验,主要看中基础,但如果一个项目都没有的话,肯定是不行的,面试官都不知道如何聊了。
这部分可以看下知识星球置顶帖中的知识图谱上的Java项目推荐,其中不少都是历届的学长学姐写在简历上的项目,拿来校招面试的项目。
# 4、Java面试准备
除了知识星球置顶帖的资源沉淀中的Java常见八股文汇总外,这里也推荐一下尚硅谷的Java面试视频,都是大厂常考常问的点。 可以根据自己的需要看看需要看哪一部分,大多数人会直接跳过第一季,而去刷第二、三季。简介如下
# 第一季
JavaSE、SSM、框架高级、电商项目中的基础知识点,每个视频由浅入深的讲解,帮助大家更好地应对面试,并全方位掌握Java的核心技术点。 地址:https://www.bilibili.com/video/BV1Eb411P7bP/?spm_id_from=333.337.search-card.all.click&vd_source=3fc05c3b7f095e12a12ea9850e2e0a35 (opens new window)
# 第二季
JUC多线程并发、JVM和GC等大厂笔试中会考、面试中会问、工作中会用的高频难点知识。 地址:https://www.bilibili.com/video/BV18b411M7xz/?spm_id_from=333.337.search-card.all.click&vd_source=3fc05c3b7f095e12a12ea9850e2e0a35 (opens new window)
# 第三季
各大厂常考常问的高频经典Java知识,包括JUC的AQS,Spring循环依赖和三级缓存,Redis内存打满、分布式锁和过期淘汰策略,以及数据结构和手写算法等多个技术维度,涵盖面广内容深,题目困难要求高。 地址:https://www.bilibili.com/video/BV1Hy4y1B78T (opens new window)
← Golang学习路线 前端学习路线 →