算法转Java开发学习路线分享
2021年秋招没有找到满意工作的童鞋,考研结果不理想的童鞋,留学生回国的童鞋们,都开始准备2021年的春招了,如果想从事Java开发工作,可以参考本文。这是我去年转开发的时候的学习路线,包括学习资源和视频,非常适合零基础入门,能够节省大家找资料的时间,纯干货分享。从零基础入门到可以找到工作的程度,大约准备五个月到六个月左右的时间;如果是科班出身,已经学习过java、数据库等一些课程,或者学习过数据结构和算法,都会节省很多时间,应对校招的话,三个月就差不多了。
如果你想毕业后从事java开发,最好的准备时间是大三或者研二,其次是现在!
第一阶段:Java基础
建议用时:20天
重点知识点:数据类型、核心语法、面向对象、数组、集合、IO流、String/StringBuffer/StringBuilder、线程、并发、反射、泛型
学习Java开发,首先要学习java基础知识,尤其是校招的时候非常注重基础,即使没有项目也没关系,基础一定要打好,一般笔试以及面试的第一轮,对基础的考察是比较多的。
推荐一本java基础的书籍:《JAVA核心技术 卷1》,入门书籍看这一本就够了,对照上面列出的知识点,吃透这些基础知识,就可以了,后面的Swing、applet等等就不需要看了。
第二阶段:数据库
建议用时:7天
重点知识点:基本的增删改查,SQL 命令,索引、存储过程;JDBC
主流的数据库有MySQL、Oracle、SQL Server等等,你只需要搞定一个就可以了,知识都是相通的,一通百通。目前公司里用到MySQL的比较多,所以建议大家学习MySQL数据库。
MySQL数据库视频:
https://www.bilibili.com/video/av68811608JDBC视频:
https://www.bilibili.com/video/BV1eJ411c7rf?spm_id_from=333.788.b_636f6d6d656e74.9推荐书籍:
首先是《MySQL必知必会》,这本书很小,口袋书,方便随时查阅。
深入的书籍推荐《MySQL内核:InnoDB存储引擎 卷1》,资深MySQL专家,机工畅销图书作者亲自执笔,介绍InnoDB存储引擎的内核,例如latch、B+树索引、事务、锁等,从源代码的角度深度解析了InnoDB的体系结构、实现原理、工作机制,并给出了大量最佳实践。
学习网站:
建议用时:7天
重点知识点:HTML、CSS、JS、jQuery框架、Servlet程序、Filter过滤器、Listener监听器、JSP页面、EL表达式、JSTL标签库、Cookie技术、Session会话、JSON使用、Ajax请求、Tomcat、maven等等
第四阶段:框架
建议用时:20天
重点知识点:Spring、SpringMVC、SpringBoot、Mybatis
如果时间非常紧张,可以直接看Springboot和Mybatis,SpringBoot简化配置,非常好理解,这两个框架学完,就能看懂项目了,理解的深度肯定有限的。
下面这个视频着重介绍SpringBoot的使用和内部原理,包含微服务概念、配置文件、日志框架的使用、web开发、Thymeleaf模板引擎、Docker容器技术等等。
https://www.bilibili.com/video/BV1gW411W76m?from=search&seid=13372594037840896149Mybatis的视频主要讲的是配置文件编写、动态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。
学到这里就可以满足找工作的基本要求了,如果着急找工作,跳过第五阶段和第六阶段,直接看第七阶段的面试准备。
第五阶段:其他热门技术
建议用时:50天
这一阶段属于拔高的部分。如果时间不够,着急找工作的话,可以跳过这部分,进入下一阶段,直接项目的学习,回头再补。可以在B站上搜对应的视频,不一一放链接了。
Redis数据库、Nginx反向服务代理、Docker、ZooKeeper 分布式协调服务技术+Dubbo高性能的 RPC 服务发布和调用框架、Spring Cloud、RocketMQ。
第六阶段:java商城项目
建议用时:45天
商城项目整合的知识点非常多,非常全,这一个项目可以把前面学到的知识,全部应用一遍,所以准备一个商场项目来面试的话,面试官能问的点有很多,能深问的点也很多。其实应届生找工作不需要特别丰富的项目经验,但如果一个项目都没有的话,肯定是不行的,面试官不知道问啥。
第七阶段:Java面试准备
尚硅谷出了三季的面试视频,我看过第二季,周阳老师讲的还不错,都是大厂常考常问的点,视频链接如下。
除了上述关于Java开发知识的面试准备之外,还要刷一刷算法题。大厂最爱考算法题,从笔试到每一轮的面试,都会考察的。为什么要刷题,因为面试官出的题基本上是在书上或者网上看到的,面试官也没有时间研究新题,所以多刷题命中率很高的。