适合普通大学生的 Java 后端开发学习路线

2023-05-27 0 938

我们好,我是帅地。

接下去的一段时间,帅地会归纳各种控制技术栈的自学走线,例如 Java 合作开发,C++ 合作开发,python 合作开发,前端合作开发等等,倘若你没明晰的目标,或许能依照我说的自学走线来自学新一波,我写的每一份自学走线,不能很全面,即使我认为,东西列的太多,反而有利于初学者的自学,因此我列出的,都是比较必要的科学知识,当你把那些科学知识学了的时候,我相信你不须要别人的自学走线,也能晓得他们接下去须要学啥了。

上面我也归纳了一套 Java 后端自学走线,跟着这套自学走线,校招水个中小厂的 offer,机率却是蛮大,因此你没明晰的自学走线,那么能依照帅地说的自学。

上面所推荐的大部份书刊,都能在那个 GitHub 上浏览到,里面搜集了挺多高质量程式设计书刊:https://github.com/iamshuaidi/CS-Book

一、Java 控制技术栈的自学

1、Java 进阶

注意,上面大部份所推荐的书刊,我们都能在这里浏览到:[【蔬果撷取】计算机系统书刊很贵?别瞎找了,我发现了一个宝物github,贡献给我们]:https://github.com/iamshuaidi/CS-Book

一已经开始肯定要了解新一波 Java 语言的优点,许多人都关心一已经开始看什么数据资料,只不过我不所推荐进阶期看的太多太杂,即使你不晓得什么样是管用的,什么样是落伍的,或是在目前期用不到的。

对于初学者尤其是没一点程式设计此基础的人来说,要跨过那个从零到一的过程,往只不过是十分艰困的,受挫恐惧感十分强。如果有人沙芥,或是选择两门高质量的专业课程,效果会好的许多。没事儿,这首诗就来当做你们的奥尔奈!!!

上面那些自学数据资料都是我曾经读过或是看完的,没看完的我也不能如是说。却是此时此刻,数据资料和音频都是远距,充其量领你进阶,剩下的却是靠他们。

自学书刊所推荐:《Java核心理念卷1》,那个算是进阶书刊吧,进阶书刊我看的不多,暂时如是说这两本,我们能去网上搜寻,但总的来说看完该书书差不多了。

有一些此基础的能看《Java程式设计思想》,这两本书也较好,解决了我许多困惑,不过有点技术难度,我是特异性看的。建议看完核心理念卷再来看该书。

Java C++所推荐用 IntelliJ IDEA,加装关键步骤他们腾讯去搜寻。

音频所推荐:这里所推荐高琪 Java300 集,b 站搜寻就能了。讲的却是挺好,进阶的话,感觉看前面 100 集就能了。

2、Java 进阶

想要靠 Java 来吃饭,单单靠看书刷音频肯定是不够的,咱们还得深入自学新一波 Java 语言的优点,为了让我们少走弯路,我归纳了如下核心理念科学知识:

集合模块:主要是包括各种常用集合:例如 Set(包括HashSet,TreeSet), Map(包括 HashMap,HashTable),List(包括ArrayList,LinkedList)等等,上面列出的都得自学它的源码

多线程:synchronize,volatile,线程池,并发包(如lock等等),太多了,学了你们自然晓得,我也不说的太详细了。

所推荐看《Java 并发程式设计艺术》+《Java并发程式设计实战》,这两本就够了,《Java并发程式设计艺术》感觉得看三四遍才行,第一遍看了就忘光了,第二遍会有其他的收获,第三遍就能吊打面试官了,书刊的浏览方式我上面已经说了。

各种文件流:file,inputStream,outputStream等等,反正就是各种文件流,看书时你们自然会看到,必须多实践,再次强调,文件这块,得多代码时间,不详细如是说。

虚拟机:虚拟机是必须自学的了,重点是 GC 部分,所推荐看《深入理解Java虚拟机:JVM 高级优点与最佳实践》,两本就差不多够了,多看四五遍就行了。

其他:还有许多,如反射,注解,异常等。

3、JavaWeb 进阶

学了上面那么多,啥程序、网站也没写出来,有点难受?没事儿,那个时候,我们就要已经开始撸网站了,如果是以 Java 作为合作开发语言的,那么 JavaWeb 是必须学的了。那个时候你能进阶自学下那些(注意,不用深入,快速找个音频进阶就能了

1、mysql、html+css+js 、 tomcat、xml等。所推荐看音频,他们去搜寻 JavaWeb 的视频,那么哪里不能补哪里,那些科学知识,几个小时就能进阶两门的了。至于 msyql,进阶所推荐看《mysql不知必会》,进阶看《mysql控制技术内幕》,看完就差不多了。

2、servlet+jsp 系列。

不建议直接自学框架,也是应该先自学 servlet,那些底层才是最重要滴。servlet 能跟着音频学,至于 jsp 只不过很少用了,不过却是能了解一下。

4、框架的自学框

Servlet 写太麻烦了,只有认真学过 servlet 的人才能吹框架的好处,因此必须先学 servlet 再来自学框架,主要有三大框架:Spring + SpringMVC + Mybatis,进阶跟着音频学就能了,B 站一搜一大堆。

只不过 SpringMVC 也是属于 Spring 吧,MVC 只是一种思想,这里自学顺序是先建议自学 Spring,直接看音频进阶自学就能了,后面再买书,掌握到什么程度?最后是要能晓得一些原理,例如IOC,AOP的原理,使用了什么设计模式等等。

不过现在搭 ssm 太麻烦,基本都是用 SpringBoot 了,因此 SpringBoot 也必须,不过我建议你先学 ssm,之后再自学 SpringBoot,这样你才能晓得 SpringBoot 哪里好,之后有时间的话,也要自学下 SpringCloud,没办法,现在太倦了,不学点微服务,分布式,都不敢去面试了。

5、中间件的自学

必须学的中间件:redis,Redis 基本面试必问,工作也基本的都会使用到,因此必须掌握,所推荐书刊《Redis 设计与实现》、《Redis合作开发与运维》。两两本书刷完,就差不多了,或是说第一两本书刷完就差不多了。

其他的话,像消息队列啊,分布式等相关框架,有时间也能自学新一波。

6、一个完整的项目

把上面的 Java 此基础以及框架学了,就要做个完整的项目了,我只能说,项目十分十分重要,这时候自学以及跨行业的劣势就十分大了,即使面试的过程,一定会问项目,而且必须是你他们亲自做过的项目,倘若你只是看音频,没动手实践,很容易就会被问懵。因此一定一定一定要亲自动手做一个项目。

当然不是说那个问题就成了死结了,我们能选择实操专业课程去解决他们在项目经验上的缺失,个人认为,找个音频跟着学就能了。

一定要至少做一个项目;一定要至少做一个项目;一定要至少做一个项目;

关于项目的所推荐,楼主也正在归纳搜集中,后面应该会整理出来。

不过,作为应届生,单单只会 Java 是很难进大公司的,算法 + 计算机系统此基础也是极其重要的,特别是大公司,这方面问的特别多

二、数据结构与算法的自学

大学第一学期你进阶了某种语言之后,就要已经开始自学数据结构与算法L。当然,不一定是第一学期,对于非科班的也一样,也是建议那个自学顺序。当然,你有他们的目标,完全能依照他们的来。

我的文章是主写数据结构与算法的,我秋招也是靠着那个优势拿到 offer 的,因此我认为数据结构与算法是十分十分重要的,可能你会听到工作都基本没用到那些科学知识啊,或是库函数都帮我们封装好了啊,我们干嘛要学。

如果你这样想的,那你就错了。对于想要找工作的来说,这方面的科学知识是必考的,因此你得学;对于已经工作的来说,这方面的科学知识,能让你自学到许多设计思想,所谓数据结构 + 算法 = 程序,而且你学了那个,你会发现自学其他科学知识,上手的特别快。综上,数据结构与算法必学。

好吧,上面扯了这么多,就是告诉你,数据结构与算法的重要性,好了,上面我如是说下进阶数据结构必学的有什么样,不过你跟着书本的自学顺序来就是了。

1、此基础数据结构的自学

1、时间复杂度、空间复杂度

2、链表、队列、栈

3、树(二叉树,查找二叉树、AVL树,红黑树等)

4、图(图有好多种算法,深度/广度搜寻,最短路径、最小生存树等)

如果你是科班的,那么那些我觉得你大一第二学期都学完是最好的了,没学完也问题不大,有些人可能是先教《离散数学》该书课,为数据结构与算法做铺垫。

书刊所推荐:《大话数据结构》、《数据结构与算法分析:C语言描述版》,学哪两本?都能,问题不大,我当时学的是第二本。我们记得根据他们的语言去学,我上面列出的,都是用 c 语言来实现的。

音频:我只看完《小甲鱼的数据结构与算法》音频,你们他们看着办吧。

2、算法的自学

在大一大二,真心建议你们把算法基本功打好,后面就真的没啥时间刷题之类的了,即使无论你以后要自学哪个方向的,算法都是实用的,会一些算法,说话也都自信了。算法的自学,刷题是必须的了,但不建议盲目刷题,而是先自学一些算法思想,在找对应的题刷,要学的主要有:

1、十大排序算法

2、递归、贪心、回溯、动态规划、枚举等

所推荐书刊:《阿哈算法》、《算法设计与分析此基础》适宜进阶;《算法第四版》、《算法导论》、《程式设计之美》适宜进阶

音频:这种却是挺建议看书,我没看完音频,,这里就不如是说了。

3、保持算法的自学

算法的自学,真的是靠积累的,而刷题是必须的。而且学校都会举办一些比赛,这里却是比较建议我们去参见的,这样也能让你更加有激情着去自学。当然,每年都会有许多 ACM 程式设计大赛,要不要参加呢?那个看你了,也不是说参加就一定好,看你自己吧,具体能参考我之前一首诗说的:普普通通,我的三年大学

我们能在 leetcode 长期保持刷题,一天一两道,或是一个星期三四道都行。

这里给我们所推荐一份刷题笔记,学完应付面试基本问题不大:

三、计算机此基础的自学

看完我文章的都晓得,我一直强大计算机系统此基础的重要性,因此这里必须列出要学的有什么样。刚才说了选择两门语言深入,你在深入自学的过程中,肯定也在自学学校开设的专业课,包括:计算机系统网络 + 操作系统 + 数据库 +  汇编 + 计算机系统组成原理 + 编译原理 等等。

而那些,我认为是十分重要的,对于秋招的同学来说,只要你会那些,就算你是深入自学 Java的,然后你去应聘 C++ 岗,我觉得也问题不大,你和面试官说我不能 C++ 就能了,大不了到时候转岗。我虽然是 Java 控制技术栈的,但是我面的公司,都不是 Java 控制技术栈的,例如 小米,Shopee,字节跳动,腾讯等。但是,那些都问题不大,你只要会那些此基础 + 算法,而且,在秋招,特别是对于一些大公司,关于语言的,只不过问的也不是许多,此基础问的特别多,因此你会此基础,面试会占许多优势。上面依照自学的优先级,给那些专业课程排个序。

只不过给他们排优先级是不大好的,这样给他们排,感觉容易被大佬喷,不过没办法,对于小白来说,我却是想排以下顺序

1、计算机系统网络 + 操作系统

2、数据库 + 计算机系统组成原理(数据库相应你们可能已经先学过 MySQL 了)

3、汇编 + 编译原理

不过,如果你们却是在校的大一大二,那么能根据你们专业课程的自学顺序来,但是,我建议有时间的能提前学,不一定要等到学校教了才学,反正大部分老师讲的很一般,但时候你学过的话,能当做复习,或是学其他。

书刊所推荐

《计算机系统网络自顶向下》、《图解 http》、《深入理解计算机系统操作系统》、《汇编语言》(王爽写的)。具体要掌握到哪个程度能看我之前的文章了。

我们都能在这里浏览到书刊:https://github.com/iamshuaidi/CS-Book

四、自学的顺序

对于Java,算法,计算机系统此基础的自学顺序,倘若你时间多,例如你大一或是大二,那么我觉得能依照那个自学顺序:

1、先选两门语言进阶,例如 C 语言或是 Java

2、之后自学数据结构与算法

3、之后一边自学我上面说的 Java 控制技术栈,一边自学计算机系统此基础,并行自学并不矛盾

倘若你很急,时间不多了,那么我建议你先说我上面说的 Java 相关的科学知识,然后做项目,之后再回过头来自学算法和此基础科学知识。

五、归纳

我觉得对于大学四年来学,上面那些是最核心理念的,也是必须学的。但是仅仅是上面那些却是不够的,上面的那些一两年就能学完的。因此你还有许多其他时间,那么你能学一些他们感兴趣的,多折腾,多抖鼓,而我上面学的,希望你都学。你也能看我大学学过的一些核心理念此基础科学知识:

【吐血整理】那些让你起飞的计算机系统此基础科学知识:学什么,怎么学?

前两年都在折腾,特别是第一年,但是,我始终一直自学那些比较核心理念的专业课程。再次强调,这首诗不是让你成为大神的,学完也不是多厉害,而是,给处于大学迷茫、不晓得学啥的你,一个方向,无论你是否是科班,如标题所说,普通/大众。不过我相信,当你学完了那些,你应该会有他们的自学方向了。

最后,是希望各位还在校的学生,大一能好好浪,但也要保持应有的自学时间,之后,就好好自学吧。不管你是名校却是非名校,我觉得你在只要这几年认真学,进大公司的几率,真的十分大,这绝对不是鸡汤。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务