您的位置  > 互联网

资源书籍大学课件尾声巩固基础要花至少1个月

图书

大学课件

结尾

巩固基础至少需要一个月的时间。 当你读完《Java核心技术第一卷》,并且能够熟练使用Java做题而无需查阅文档时,就可以继续了。

第三阶段:Java企业开发的基本目标

面向薪资编程,学习实际后端开发工作中使用的基础技术和框架,能够独立创建功能齐全的Java Web项目。

完成此阶段后,你应该能够独立开发最常见的后端系统,例如各种管理系统、商城系统等。

MySQL 数据库(7 天)

企业中大部分业务数据都存储在关系数据库中,因此数据库是后端开发同学必备的技能。 其中MySQL数据库是目前的主流,也是面试时的焦点。

知识学习建议

其中,你必须具备编写SQL语句和设计数据库表的能力!

比如要求你建立一个学生管理系统,你一定能想到需要哪些表,比如学生表、班级表; 每个表需要哪些字段和字段类型。

这就需要大家根据实际业务场景,多写SQL,练习设计能力。

经典面试题

MySQL索引最左原理

和发动机有什么区别?

优化数据库性能的方法有哪些?

如何定位慢查询?

MySQL支持行锁还是表锁? 各自的优点和缺点是什么?

资源

在线练习

文档

网站

开发框架(60天)

Java之所以能成为主流企业开发语言,很大一部分原因是其完整的框架生态系统。 用好框架不仅可以大大提高开发效率,还可以提高项目稳定性,降低维护成本。

开发框架是后端开发工作中不可缺少的,也是面试、检查的重点。 你一定要努力学啊!

不知道Java能做什么的朋友,学习了开发框架之后就会有答案了。

下面我推荐的是企业中最流行的主流开发框架。 知识点比较碎片化,所以我就集中起来讲一下。

Web 5 Plus 2 Maven / 学习建议

由于技术较多,框架之间也有一定的联系,所以建议大家观看同系列的视频教程(硅谷、狂神说等),以保证学习内容的连续性和体验的一致性。

学习这些技巧的时候不要偷懒! 一定要多做笔记,和老师一起写代码。 不要太纠结于原理部分。 首先,专注于能够输入代码并编写可运行的项目。 做一些东西也可以帮助你更好地理解理论。

学习的顺序非常重要。 建议按照我推荐的顺序学习。 不要一上手就学习Boot。 只有学会如何自己集成框架,才能帮助你理解所解决的问题,感受它的便捷和高效。

Maven / 只是将其用作工具。 基本上面试的时候不会被问到这个问题。 只需按照框架教程进行操作即可。 如果你着急找工作,没必要花太多时间深入学习。 没有多少大公司在面试时问这个问题。

经典面试题

IOC和AOP是什么以及它们的优点是什么?

框架中使用了哪些设计模式?

介绍Bean的生命周期

如何实现延迟加载?

引入多级缓存机制

资源开发规范(3天)

开发不规范,同事们泪流满面。

团队开发时必须遵循开发规范,这将有助于提高项目开发效率,降低维护成本。

知识

代码验证()

提交规范

学习建议

有时间的话就去翻一下大厂团队的代码规范手册。 如果以后做项目的时候能记住的话,就可以使用,也可以从书本或者网上查一下规范文档,然后遵守。

项目做多了,自然会养成好的习惯,不需要刻意去背(毕竟每个团队的规范不完全一样,背了也没用)。 也可以直接使用一些开发工具自带的代码检查插件来帮助养成良好的编码习惯。

资源

视频

文档

git(3 天)

您可能以前听说过它,一流的开源代码托管平台。

Git 则不同。 它是一个版本控制工具,可以更好地管理和共享项目代码,例如将自己的代码上传到互联网或远程下载。

无论你是从事自己的项目还是团队开发,Git 现在都是不可或缺的神器。

知识学习建议

只需输入每个命令一次即可获得总体印象并知道如何使用它。

建议您使用 Git 命令将更多自己的代码上传到 Git。 用得越多,自然就会越熟悉。

经典面试题

如何解决提交冲突?

我在提交过程中不小心犯了错误,如何撤消?

什么是 Git Flow?它有什么好处?

资源

图书

文档

游戏

Linux(10 天)

企业中很多前后端项目都部署在Linux服务器上,因此需要熟悉Linux操作和脚本编写。

稍后,当你学习微服务和架构时,你会在多个服务器上进行操作。 如果你不熟悉Linux的话,会有点困难。

知识学习建议

如需更多动手实践,建议自己购买云服务器,在本地搭建Linux虚拟机环境。

您必须从头开始,通过键入命令来安装软件和部署服务,并熟悉整个项目启动流程。

每个命令至少要键入一次,以了解其功能,并通过自然练习来熟悉常用的 Linux 命令。

记不住也没关系,用文档查一下就可以了。

先了解如何使用它,然后再了解它。 一般来说,面试时问的Linux问题并不难。 面试前把八篇文章背下来是没有问题的。 如果有兴趣可以看一下Linux内核设计。

经典面试题

如何查看进程的运行状态?

Linux下如何查看2G大文件?

Linux中软链接和硬链接的区别

资源

图书

文档

实战

社区

工具

前端基础(14天)

虽然Java程序员面试时很少出现前端相关问题,但在企业中,往往需要前端和前端程序员共同协作来完成工作。 了解一些前端不仅可以提高你的协作效率,还可以提高你对整个项目的理解和掌控,甚至可以独立开发一个完整的项目! 这样也能为面试加分。

知识

维埃

学习建议

你不需要学习太多的前端技术。 通常熟悉基本的三件套前端并了解前端如何向后端发送请求进行数据交互就足够了。 有时间的话可以学习一下Vue。 是一个主流的前端开发框架,比较好用。 Vue+仍然很受欢迎。

资源

查看原来的前端学习路线:

练习项目

更多信息请参见本路线第五阶段:【项目源码(50套)】(###项目源码(50套))。

结尾

学完这个阶段的知识,一定要串起来,再回忆一遍。 你必须独立开发一个Java Web项目(不必很大,但可以尽可能使用所学的技术),并且可以发布到Linux服务器上。 如果有其他朋友来参观就更好了~

如果你只对Java感兴趣,或者只是想尝试自己开发后端,而不想找使用Java的工作,你可以在这里学习。 你可以投入更多的时间在你的主攻方向上学习。

但如果你是找Java方面的工作,尤其是想进大厂的话,就必须继续努力,学习下一阶段企业发展的高级知识。

第 4 阶段:Java 企业开发的高级目标

学习更多的企业级开发技术和编程思想,能够结合多种技术独立开发出架构合理的完整系统来解决实际问题。

想了解为什么需要这项技术吗? 什么时候使用这个技术? 应该使用哪些技术来满足特定的需求?

当然,现阶段的内容有点太丰富了,并不是所有的东西都需要学。 您可以根据自己的实际情况(时间)有选择性地学习。

软件工程

软件开发和管理中的一些概念、原理、技术、方法、工具和经验。

知识

软件过程模型

敏捷开发

软件开发模型

需求建模

软件设计

统一建模语言

架构设计

设计模式

软件质量管理

审查

软件质量保证

软件测试

软件配置管理

软件项目管理

软件项目估算

项目进度

风险管理

软件过程改进

学习建议

是大学软件专业的必修课,理论性较强。 可以学到很多企业软件开发的方法,也提高了软件开发学生的综合能力。 如果有时间的话,可以去了解一下。 但对于想要快速找到工作的同学来说,就忽略它吧,面试时基本不会被问到。

资源

视频

大学课件

设计模式(21 天)

设计模式是软件开发中解决一类问题的通用方法。

使用设计模式可以让您编写更优雅且可维护的代码。 正因为如此,很多框架源码都使用了设计模式,如果不学的话很难理解。

知识

结构模式:将类或对象组合在一起形成更大的结构

行为模式:类和对象如何交互,以及职责和算法的划分

学习建议

首先理解概念,了解每种设计模式的特点和应用场景,然后多实践,应用到实际项目中。

经典面试题

单例模式有哪些实现方法? 有什么优点和缺点?请手写其中一项

您使用过哪些设计模式以及为什么?

资源

视频

文档

缓存(14 天)

缓存是高并发系统不可或缺的技术。 可以提高系统的性能和并发性。 因此,是后端开发必学的知识点,也是面试的重点。

知识

多级缓存

Redis分布式缓存

缓存(Redis)应用场景

缓存常见问题解答

相关技术:,

学习建议

简单地学习如何使用缓存并不难。 类似于数据库,无非就是调用API来增删改查数据。

因此,建议您先独立使用,了解缓存的应用场景; 然后学习如何用Java操作缓存中间件,并尝试将其与项目结合起来以提高系统性能。

只需按照视频教程练习一次即可。 你可以等到面试前再了​​解更多原理和高级功能。

经典面试题

为什么Redis 这么快?

Redis中常用的数据结构有哪些?

Redis RDB 和 AOF 持久化有什么区别? 如何选择?

如何解决缓存击穿、缓存穿透、雪崩问题?

如何使用Redis实现like功能以及Key/Value如何设计?

资源

文档

图书

工具

消息队列(14 天)

消息队列是用于传输和保存消息的容器。 也是大型分布式系统中常用的技术。 主要解决应用耦合、异步消息、流量削峰等问题。 后端开发是必学的,也是面试的重点。

知识

相关技术:Kafka,,,

学习建议

和缓存一样,学习如何使用消息队列并不难。 无非就是调用API来生产、转发、消费消息。

因此,建议您先独立使用,了解消息队列的应用场景; 然后学习如何用Java操作消息队列中间件,并尝试与项目结合来感受消息队列的好处。

这里我建议初学者先学一下,比Kafka更容易理解。 只需按照视频教程练习一次即可。 你可以等到面试前再了​​解更多原理和高级功能。

经典面试题

使用消息队列有哪些优点和缺点?

如何保证消息消费的幂等性?

消息队列的路由模型有哪些?

你用过消息队列吗?解决了什么问题?

资源

文档

图书

工具

Nginx(14 天)

Nginx是一个主流、开源、高性能的HTTP和反向代理Web服务器,可以用来挂载网站、请求转发、负载均衡、网关路由等,前端和后端开发人员都需要学习这一点,有时会在后端开发面试中进行测试。

知识学习建议

Nginx 的基本使用非常简单。 您甚至不需要观看任何视频。 您可以按照文章使用它来提供网站访问并实现反向代理。

然而在企业中,Nginx的使用往往没那么简单。 作为负载均衡和请求转发的重要组成部分,往往需要根据实际场景来编写一些具体的配置。 因此,建议大家如果有时间的话,练习一下Nginx的配置方法,了解Nginx的基本设计思想,这对以后设计自己的系统时也会有帮助。

经典面试题

Nginx 是做什么的?

Nginx为什么支持高并发?

Nginx 有哪些负载均衡策略?

什么是 Nginx 雷群问题以及如何解决它?

资源

文档

工具

Netty网络编程(21天)

一个开源的Java网络编程框架,用于开发高性能(事件驱动、异步和非阻塞)、高度可靠的网络服务器和客户端程序。

许多网络框架和服务器程序都使用Netty作为底层。 学好Netty不仅能让我们自己实现高性能服务器,还能更好地理解其他框架应用、阅读源码。

知识学习建议

与之前学习的SSM框架不同,Netty还是需要一定的学习成本的。 一方面,国内资源匮乏。 另一方面,很多重要的概念(比如NIO)仍然需要大量的动手代码调试才能理解。

还是建议先从视频入手,不建议在Netty上花太多时间。 在面试过程中,你通常会考察 Netty 背后的一些思想(比如 NIO),而不是框架本身的语法细节。

经典面试题

Netty有什么优点?

蔚来是什么?

介绍Netty的零拷贝机制

资源

文档

图书

微服务(60 天)

随着互联网的发展,项目变得越来越复杂,单机、庞大的单体项目已经不能满足开发、运维、并发、可靠性等需求。

因此,后端架构不断演进,巨大的项目可以拆分成职责明确、功能独立的小模块。 各模块可以部署在多台服务器上,相互配合,提供完整的系统能力。

也就是说,如果你要做大型项目,就必须认真学习这方面!

知识Dubbo微服务

界面管理学习建议

如果不着急的话,建议先从Dubbo入手,对分布式、RPC、微服务有一些基本的了解,然后再去云全家桶,会更香。 学习了云全家桶,再学习云就会变得非常简单。

在学习这部分内容时,原理和实践都很重要。 不要被各种高级词汇吓倒。 都是来自上层(应用层)的东西。 基本上没有什么算法。 其实按照视频教程来学习是非常好的。 明白了。

分散的知识很多,但这里没必要死记硬背。 首先,您可以通过视频教程使用一些微服务框架来获得对概念的基本了解。

面试大公司的时候,他们很少问云框架的细节,更多的是问微服务和各个组件的思路,比如网关、消息总线的好处。

经典面试题

什么是微服务以及它们的优点和缺点是什么?

什么是注册中心,它能解决哪些问题?

资源

文档

集装箱(7天)

对应用和环境进行封装,相互隔离,独立部署,方便移植,提高安全性,提高开发和维护效率。

促进微服务、持续集成和交付。

知识

K8S()

相关技术:Mesos、

学习建议

业务上云是一种趋势,但对于开发者来说,能够使用/K8S来部署项目和服务就足够了。 实际工作中,企业一般都有现成的平台可以直接使用,面试和考察的次数也不多,所以并不会花费太多的时间。

经典面试题

什么是容器?

使用它有什么好处?

如何快速启动多个节点?

资源

图书

文档

网站

镜像源

CI/CD(3 天)

持续集成/持续交付贯穿从研发到项目上线的整个流程,提高效率。

大公司一般都有自己的CI/CD平台。

知识学习建议

了解它是什么就足够了,并实际使用任何 CI/CD 平台来感受它与传统开发和运营有何不同。 其实很简单,也不需要花太多时间。

当你真的想自己构建时,只需遵循官方文档即可。

资源

文档

实用平台

练习项目

更多信息请参见本路线第五阶段:【项目源码(50套)】(###项目源码(50套))。

结尾

看到这里,相信你已经感叹:我这辈子都学不完编程语言了!

不过,不用担心。 通过学习这么多知识点,相信你已经积累了一定的知识,在不知不觉中培养了你的自主学习能力、资源检索能力、代码阅读能力、解决问题的能力。 你接下来的学习将会变得更加容易。

接下来,你可以尝试用学到的技术来解决实际问题,独立从头开始一些项目,保持编程感觉。

第五阶段:制定实际目标

从0到1学习的综合技能,开发和启动一个全面的、独特的个人项目,可以写在简历上。

学习建议

其实之前的框架学习视频中我应该做过几个项目,但是都比较不完整和系统。

有想法的学生可以做任何他们想做的项目。 建议参加一些工作竞赛,一石三鸟:实践、获奖、获得项目经验。

对于暂时没有想法的人,建议您先按照专门用于项目制作的视频教程,做1-2套完整的Java项目。 从0到1你必须手写!

有能力的朋友也可以尝试使用源码来学习~

建立一个完整的项目确实不容易。 建议您根据自己的时间和兴趣选择较新且有配套源码的教程,并保持耐心。

如何选择编程学习资源,可以阅读我的原创文章:

下面给大家推荐一些优质、较新的项目实用视频教程+50套项目源码。

用于测试其他 IDEA 插件的常用类库工具的视频教程

综合实用性、易用性、流行度、维护频率,选取了以下几个插件,简单归类为天地二档。

精选土地产品插件

简单易用,功能增强

键X

精选天品插件

提高开发效率和代码质量

人工智能代码

V2.0

-主意

爪哇

美化类

格雷普

主题界面

尼亚酒吧

-电源模式

电源模式II

图像加+

代码生成类

人工智能代码

通用唯一标识符

自动Java调用

nUID

简单的代码

简单的

V2.0

-代码

功能效率提升类源码阅读

跳转到行

代码规范

爪哇

-主意

格式处理

杰森

到 YAML

代码统计

代码检索

其他

文件

集成开发环境

键X

扩展增强类

日志

梅文

看法

主意

吉泰

Vue.js

斯卡拉

杰姆斯

大数据工具

CSV

托姆尔

.env 文件

常用软件开发相关效率项目源码(50集)电子商务闪购博客论坛管理系统开发平台其他阶段6:Java进阶目标

我们并不满足于自己能做的事情,但通过更深入、更广泛的学习,我们可以实现高质量的代码和更好的架构,并培养解决问题的能力。

既然已经到了这个阶段,建议大家除了看已经完成的教程之外,平时还可以自己搜索资料来学习,这样少加点,效果最好。 例如,如果遇到不懂的术语,可以上网搜索。 如果您有兴趣,可以继续下一步的学习。

并发编程(21天)

对于Java后端开发程序员来说,了解如何利用有限的系统资源来提高系统性能是非常重要的。 也是各大厂商采访的重点。 因此,并发编程(尤其是Java并发包的使用)非常重要。 知识很重要。

之所以放在高级,是因为在学习并发编程之前,需要有一定的编程经验,了解一定的操作系统知识。

知识学习建议

并发编程入门并不困难。 还是需要先学会使用基础的Java并发包,然后通过大量的实践和测试了解一些原理,才能真正掌握什么时候使用它以及如何更合理地使用并发编程。 不谈多线程,只谈并发高。

经典面试题

关键词的作用

使用线程池有什么好处?

如何设置线程池参数?

什么是线程安全问题以及如何解决它?

引入锁升级机制

适合什么场景?

资源

图书

项目

JVM(30 天)

如果想要深入理解Java,探索Java跨平台的秘密,就必须了解Java底层的虚拟机技术。

了解虚拟机,掌握虚拟机性能调优方法,将有助于你编写出性能更高、资源占用更小的高质量程序。

在学习JVM的过程中,你还可以学到很多精美的设计,拓展你的想法。

知识

垃圾收集

字节码

内存分配和释放

JVM 性能调优

Java探针

在线故障分析

学习建议

JVM的知识有点枯燥。 建议先观看视频。 如果有实际操作,一定要练啊! 自己多分析一下。

如果第一次不明白也没关系。 你可以看看书来巩固一下。 如果你想真正学好它,你必须阅读《深入理解Java虚拟机(第三版)》。

如果你只是想通过面试,可以直接看更简洁的视频,比如狂神的。

经典面试题

介绍一下JVM的内存模型?

为什么JVM内存需要分代?

介绍完整的GC流程

引入家长委派模式,为什么需要它?

资源

图书

项目

实战

工具

分布式架构设计

分布式缓存

共识算法

分布式交易

分布式id生成

分布式任务调度

分布式服务调用

分布式存储

分布式数据库

分布式文件系统

分布式协调

分布式监控

分布式消息队列

分布式日志采集

分布式搜索引擎

分布式链接跟踪

分布式配置中心

高可用、高并发

缓存

负载均衡

服务网格

服务网格用于描述组成应用程序的微服务网络以及它们之间的交互。 随着服务网格的规模和复杂性不断增长,理解和管理将变得越来越困难。 常见的需求包括服务发现、负载均衡、故障恢复、测量和监控等。

知识

Envoy(开源边缘和服务代理)

资源 DDD 领域驱动设计

将数据和业务流程抽象为易于理解的领域模型,并用代码实现领域模型,形成完整的业务系统。

知识

DDD实践

资源其他学习建议

学习架构设计没有终点。 多看文章,思考每种设计的优缺点和适用场景,有机会就在企业中实践一下。

还在上学或者刚接触这个领域的同学一定要记住,不要盲目背建筑设计八篇论文。 你可以背下来,但是这一块知识只有结合具体项目才有意义,所以你需要多做项目来练习设计的合理性,而不是试图把每一个设计都扔到系统里。 例如,当面试中被问及分布式事务时,最好根据自己在自己的项目中使用分布式事务解决问题的经验来回答问题。

其他技术第 7 阶段:Java 求职目标

找到一份好工作

建议

尽早制定计划。 您可以通过各大厂家官方招聘网站上的职位描述来了解职位要求。