算法转Java开发学习路线分享

2021年秋招没有找到满意工作的童鞋,考研结果不理想的童鞋,留学生回国的童鞋们,都开始准备2021年的春招了,如果想从事Java开发工作,可以参考本文。这是我去年转开发的时候的学习路线,包括学习资源和视频,非常适合零基础入门,能够节省大家找资料的时间,纯干货分享。从零基础入门到可以找到工作的程度,大约准备五个月到六个月左右的时间;如果是科班出身,已经学习过java、数据库等一些课程,或者学习过数据结构和算法,都会节省很多时间,应对校招的话,三个月就差不多了。

如果你想毕业后从事java开发,最好的准备时间是大三或者研二,其次是现在!

第一阶段:Java基础

建议用时:20天
重点知识点:数据类型、核心语法、面向对象、数组、集合、IO流、String/StringBuffer/StringBuilder、线程、并发、反射、泛型

学习Java开发,首先要学习java基础知识,尤其是校招的时候非常注重基础,即使没有项目也没关系,基础一定要打好,一般笔试以及面试的第一轮,对基础的考察是比较多的。

如果是小白入门,看视频是最有助于理解的,而且是学习最快的,后面再查缺补漏的时候,就看看书就好了,或者回头翻一下笔记。如果已经学过java基础的知识,也可以直接翻一遍书,复习复习即可。看视频的时候不能只听不练,建议用IDEA工具,更普遍一些。

推荐一本java基础的书籍:《JAVA核心技术 卷1》,入门书籍看这一本就够了,对照上面列出的知识点,吃透这些基础知识,就可以了,后面的Swing、applet等等就不需要看了。

第二阶段:数据库

建议用时:7天
重点知识点:基本的增删改查,SQL 命令,索引、存储过程;JDBC

主流的数据库有MySQL、Oracle、SQL Server等等,你只需要搞定一个就可以了,知识都是相通的,一通百通。目前公司里用到MySQL的比较多,所以建议大家学习MySQL数据库。

MySQL数据库视频:

https://www.bilibili.com/video/av68811608

JDBC视频:

https://www.bilibili.com/video/BV1eJ411c7rf?spm_id_from=333.788.b_636f6d6d656e74.9

推荐书籍:

首先是《MySQL必知必会》,这本书很小,口袋书,方便随时查阅。

深入的书籍推荐《MySQL内核:InnoDB存储引擎 卷1》,资深MySQL专家,机工畅销图书作者亲自执笔,介绍InnoDB存储引擎的内核,例如latch、B+树索引、事务、锁等,从源代码的角度深度解析了InnoDB的体系结构、实现原理、工作机制,并给出了大量最佳实践。

学习网站:

牛客网专注于校招笔试、面试,有SQL数据库实战的题目,有76道题目,有时间可以刷一刷。
第三阶段:JavaWeb
建议用时:7天
重点知识点:HTML、CSS、JS、jQuery框架、Servlet程序、Filter过滤器、Listener监听器、JSP页面、EL表达式、JSTL标签库、Cookie技术、Session会话、JSON使用、Ajax请求、Tomcat、maven等等
Java开发的岗位大多是Web开发,所以最好学一学前端的基础,虽然现在都是前后端分离的方式,但是你要懂前端界面和后端数据是怎样交互的,与前端工程师的沟通合作会更加顺利。另外,像一些小公司要求全栈,希望招来的后端开发也能做一些前端的工作,省一些人力成本。

第四阶段:框架

建议用时:20天

重点知识点:Spring、SpringMVC、SpringBoot、Mybatis

如果时间非常紧张,可以直接看Springboot和Mybatis,SpringBoot简化配置,非常好理解,这两个框架学完,就能看懂项目了,理解的深度肯定有限的。

下面这个视频着重介绍SpringBoot的使用和内部原理,包含微服务概念、配置文件、日志框架的使用、web开发、Thymeleaf模板引擎、Docker容器技术等等。

https://www.bilibili.com/video/BV1gW411W76m?from=search&seid=13372594037840896149

Mybatis的视频主要讲的是配置文件编写、动态SQL、MyBatis缓存机制、MyBatis-Spring整合、MyBatis逆向工程,MyBatis高级内容(MyBatis源码解析,MyBatis单/多插件运行机制,MyBatis四大对象工作原理,自定义TypeHandler、MyBatis存储过程&游标处理等)。

https://www.bilibili.com/video/BV1mW411M737

时间宽裕的情况下,Spring、SpringMVC都学习一下,搞懂 AOP 和 IOC 两个概念,以及Spring 中 bean 的作用域与生命周期、SpringMVC 工作原理,对理解Spring相关的框架非常重要。

https://www.bilibili.com/video/BV1mE411X7yp?from=search&seid=12122799026209681120

从框架开始,就不用看书了,基础的知识多看看书,实践性强、应用性强的知识,多实践实践,看看源码,会比看书更有帮助,而且Spring相关的书,也没看到写得好的。

管理系统的项目:

学完框架后,你可以做一个管理系统的项目了,给大家推荐一个管理系统的项目--若依,这是一个基于SpringBoot的权限管理系统,虽然“若依”这个名字听起来很不科技感,但这个项目是非常好的,非常适合入门学习,有文档、有代码,社区里讨论的人也比较多。它有前后端不分离和前后端分离的两个版本。学到这里,你大概能看懂这个项目了~~

前后端不分离的版本:

经典技术组合:Spring Boot、Apache Shiro、MyBatis、Thymeleaf

https://gitee.com/y_project/RuoYi

前后端分离的版本:

  • 前端采用Vue、Element UI。
  • 后端采用Spring Boot、Spring Security、Redis & Jwt。
https://gitee.com/y_project/RuoYi-Vue

学到这里就可以满足找工作的基本要求了,如果着急找工作,跳过第五阶段和第六阶段,直接看第七阶段的面试准备。

第五阶段:其他热门技术

建议用时:50天

这一阶段属于拔高的部分。如果时间不够,着急找工作的话,可以跳过这部分,进入下一阶段,直接项目的学习,回头再补。可以在B站上搜对应的视频,不一一放链接了。

Redis数据库、Nginx反向服务代理、Docker、ZooKeeper 分布式协调服务技术+Dubbo高性能的 RPC 服务发布和调用框架、Spring Cloud、RocketMQ。

第六阶段:java商城项目

建议用时:45天

商城项目整合的知识点非常多,非常全,这一个项目可以把前面学到的知识,全部应用一遍,所以准备一个商场项目来面试的话,面试官能问的点有很多,能深问的点也很多。其实应届生找工作不需要特别丰富的项目经验,但如果一个项目都没有的话,肯定是不行的,面试官不知道问啥。

商城项目的视频(微服务+分布式+全栈+集群+部署+自动化运维+可视化CICD):

第七阶段:Java面试准备

尚硅谷出了三季的面试视频,我看过第二季,周阳老师讲的还不错,都是大厂常考常问的点,视频链接如下。

第一季是JavaSE、SSM、框架高级、电商项目中的基础知识点。每个视频由浅入深的讲解,帮助大家更好地应对面试,并全方位掌握Java的核心技术点。
第二季主要是JUC多线程并发、JVM和GC等大厂笔试中会考、面试中会问、工作中会用的高频难点知识。
第三季的内容也是各大厂常考常问的高频经典Java知识,包括JUC的AQS,Spring循环依赖和三级缓存,Redis内存打满、分布式锁和过期淘汰策略,以及数据结构和手写算法等多个技术维度,涵盖面广内容深,题目困难要求高。

除了上述关于Java开发知识的面试准备之外,还要刷一刷算法题。大厂最爱考算法题,从笔试到每一轮的面试,都会考察的。为什么要刷题,因为面试官出的题基本上是在书上或者网上看到的,面试官也没有时间研究新题,所以多刷题命中率很高的。

尤其《剑指Offer》上的题,面试中经常问到这本书上的算法题或者变形题,牛客网上有剑指offer的所有题的在线编程和题解。
#学习路径##Java工程师##转行#
全部评论
JVM和JUC怎么安排呢
2 回复 分享
发布于 2021-12-20 16:24
请问下楼主,每个阶段要用的天数精确到小时是一天几小时呀,谢谢!
2 回复 分享
发布于 2021-06-03 12:11
点赞 回复 分享
发布于 08-05 17:07 湖南
请问楼主,JVM 并发这些应该安排在哪呢?
点赞 回复 分享
发布于 2022-01-17 08:09
若依微服务版视频值得买吗?
点赞 回复 分享
发布于 2021-12-22 22:24
楼主是不是在知乎上有个强化学习专栏?。。。
点赞 回复 分享
发布于 2021-06-05 16:13
问下楼主,io流,文件读写,这些需要看么
点赞 回复 分享
发布于 2021-04-14 21:17
收藏了 ,加油😄
点赞 回复 分享
发布于 2021-04-02 15:07
尚硅谷这个一二三季在B站就是完整视频么
点赞 回复 分享
发布于 2021-03-21 09:53
借楼发一个
点赞 回复 分享
发布于 2021-03-03 14:39
一口气学完
点赞 回复 分享
发布于 2021-02-28 00:01
收藏夹吃灰😂
点赞 回复 分享
发布于 2021-02-26 11:05
点赞 回复 分享
发布于 2021-02-26 09:08
点赞 回复 分享
发布于 2021-02-26 02:33
谢谢,很有用
点赞 回复 分享
发布于 2021-02-25 21:28
感谢参与【创作者计划2期·技术干货场】!欢迎更多牛油来写干货,瓜分总计20000元奖励!!技术干货场活动链接:https://www.nowcoder.com/link/czz2jsghtlq
点赞 回复 分享
发布于 2021-02-25 12:16

相关推荐

头像
11-04 11:52
湖南大学 安卓
写在开头:大部分基本上都是走这四条路,下面说一下我对这四个方向的看法后端:1.主要是做一些业务逻辑的处理,基本上算是幕后的开发,不像前端一样随时可以看到结果,而且学的越深越难,需要有一定的408的底子。2.核心技术栈:语言、框架、中间件、数据库、分布式系统。3.曾今性价比巅峰,大家一窝蜂的去后端,每次开奖都像天价一样,导致越来越多的人投入互联网,甚至有的机构为了培养一批后端机器,直接开培训班,先培训签合同,找到工作后直接返点。前端:1.点开浏览器看到的大部分页面都是前端,各种商品,按钮基本上都是前端设计,所以说学前端很大一部分都是女生,需要点审美素养。2.核心技术栈:Vue, React, Angular。3.上手难度简单,而且反馈效果很好,基本做多少就能看到多少,即学即用,而且网上很多视频和技术都很成熟,学习门槛较低。但随着大家对于审美的要求,前端也必须具备一点审美素养,而且目前正在逐步取代客户端,但是前端白菜价较低,薪资待遇相比其他几个行业都低一点。客户端:1.目前基本上是三大主流iOS、Android或HarmonyOS,移动端越来越受大家喜欢,各种新奇app总是能抓住大家的喜欢,而且现在人手不离机,更是让客户端前景广阔,但是客户端好像饱和了,最近几年越来越难找工作。2.核心技术栈:特定语言及框架。3.学习难度比前端难一些但是比后端简单许多,而且设计UI界面的时候很有趣,看到自己做的app能够部署在自己的手机上真的很有成就感,但是由于目前逐渐被前端取代,所以竞争难度比前端低,目前性价比最低,喜欢写UI界面的同学不如直接写前端。测开:1.测开好像高不成低不就一样,我室友就是从后端进去然后转成测开,现在就是说什么都要做,他一个人做三份工,任何一个环节都要参与,说实话性价比是最低的。2.核心技术栈:测试框架、自动化脚本、CI/CD。3.测开的发展前景不好,而且逐渐边缘化,实在不行也别去碰,一但碰上可以脱不开身了。适合后端:享受构建复杂系统、处理海量数据和逻辑的朋友,后端需要投入大量时间打好计算机基础。适合前端:对视觉细节、交互体验有追求,乐于快速尝试新技术。适合客户端:喜欢眼见为实,享受在具体设备上打造完整产品体验。适合测试开发:擅长思维严谨,善于发现细节问题,并乐于通过技术手段提升效率和质量。
今年秋招是回暖还是遇冷
点赞 评论 收藏
分享
10.23 飞书一面1. iOS 的学习方法2. 为什么采用 MVVM 架构3. 双向绑定是怎么实现的,还有别的实现方式吗4. MVVM 和 MVC 的区别5. MVVM 相比 MVC 的好处(除了解耦降低代码复杂度,还有是能对 View 和 ViewModel 单独进行测试)6. 列表怎么实现的,了解 UITableView 的 cell 复用吗7. 技术上的难点8. Swift 并发讲讲9. @MainActor 用过吗,在哪用10. 那如果是在非主线程上用 @MainActor,会发生什么?11. 那假设有这种情况,图片下载不是一个异步的实现吗,那假设ABCD,它要是下载好了后,A的图片显示到B上了,B的图片显示到C上了,这种要怎么解决12. git 工作流,想要新建一个分支怎么做13. 手撕单例模式14. 简单工厂和工厂方法,手撕工厂方法模式(不会,寄)15. 进程线程的区别16. 为什么进程之间是隔离的,隔离性和安全性是怎么保证的?(应该是从虚拟内存上说怎么实现的)17. 那虚拟内存怎么得到物理地址的这个过程说一下18. 那多线程对于堆内存的读取会不会出现安全上的问题19. 多线程对于栈上的内存读取会不会出现安全上的问题20. 怎么保证线程安全呢21. TCP 和 UDP 的区别22. TCP 是怎么保证可靠性的23. TCP 三次握手24. 为什么不是一次,两次呢?25. 哈希表的查找时间复杂度是多少,底层实现原理?26. 什么时候会出现最坏的情况?27. 哈希冲突?28. 两个栈如何实现队列,两个队列如何实现栈手撕: 442. 数组中重复的数据总共1h10min左右面试
查看28道真题和解析
点赞 评论 收藏
分享
评论
93
798
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务