前言:2021年秋招没有找到满意工作的童鞋,考研结果不理想的童鞋,留学生回国的童鞋们,都开始准备2021年的春招了,如果想从事Java开发工作,可以参考本文。

本文整理了java开发的学习路线和相关的学习资源,非常适合零基础入门java的同学,希望大家在学习的时候,能够节省时间。纯干货,良心推荐!

从零基础入门到可以找到工作的程度,大约准备五个月到六个月左右的时间;科班出身,已经学习过java、数据库等一些课程,根据个人情况,时间适当减少。

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

ps: 我问过在培训机构培训过java的同学,基本上列出的学习点都覆盖了培训的内容,如果自己自制力强的话,就不需要花两万块钱去培训了~~

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

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

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

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

深入的书籍推荐《MySQL内核:InnoDB存储引擎 卷1》,介绍InnoDB存储引擎的内核,从源代码的角度深度解析了InnoDB的体系结构。

牛客网专注于校招笔试、面试,有SQL数据库实战的题目,有76道题目,有时间可以刷一刷。

Java开发的岗位大多是Web开发,所以最好学一学前端的基础,虽然现在都是前后端分离的方式,但是你要懂前端界面和后端数据是怎样交互的,与前端工程师的沟通合作会更加顺利。另外,像一些小公司要求全栈,希望招来的后端开发也能做一些前端的工作,省一些人力成本。

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

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

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

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

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

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

这一阶段属于拔高的部分。如果时间不够,着急找工作的话,可以跳过这部分,进入下一阶段,直接项目的学习,回头再补。

ZooKeeper 分布式协调服务技术+Dubbo高性能的 RPC 服务发布和调用框架:

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

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

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

第一季是JavaSE、SSM、框架高级、电商项目中的基础知识点。每个视频由浅入深的讲解,帮助大家更好地应对面试,并全方位掌握Java的核心技术点。

第二季主要是JUC多线程并发、JVM和GC等大厂笔试中会考、面试中会问、工作中会用的高频难点知识。

第三季的内容也是各大厂常考常问的高频经典Java知识,包括JUC的AQS,Spring循环依赖和三级缓存,Redis内存打满、分布式锁和过期淘汰策略,以及数据结构和手写算法等多个技术维度,涵盖面广内容深,题目困难要求高。

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

推荐一本书,《剑指Offer》,面试中经常问到这本书上的算法题或者变形题,我刷了两遍,Python一遍,Java一遍,都整理了笔记,虽然这本书中的算法题随便一搜就能搜出大量博客,但是还是书中讲的详细,提供的解题方法多,带领读者思考。

最后再推荐一个学习网站,LeetCode,可能大家也都听说过,是一个刷算法题的网站,支持Java、Python、C++等各种语言,题目分为简单、中等和困难三种模式。

刚开始刷算法题,吃力是正常的,所以大家不要怀疑自己智商。知乎上经常看到这样的问题:“初刷leecode时会怀疑自己智商吗”“刷leetcode吃力正常吗”“leetcode刷了忘怎么办”…… 这都是正常的,除了天才和绝顶聪明的人之外,我们大家都一样,都会刷了忘忘了刷,也会做不出来需要看看答案。。。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注