Java学习计划
2023-04-25 16:45:49 0 举报
AI智能生成
Java学习计划
作者其他创作
大纲/内容
架构理论基础
分布式理论
CAP原则
BASE理论
分布式事务
2PC、3PC、TCC等过程
一致性算法(大概知道就好)
Paxos算法
Raft算法
设计原则
SOLID原则
GRASP设计原则
架构分层设计
MVC 三层架构
DDD领域驱动设计
高并发,高可用相关
限流熔断
Sentinel 和 Hystrix的特点对比
限流熔断实现算法了解
分布式ID生成:雪花算法
微服务框架Dubbo
HTTP vs RPC 对比
RPC组成,可能会问实现原理
例如:如何自己手写一个RPC框架
Dubbo基础知识
Dubbo的SPI机制
Dubbo常见题
Zookeeper原理
ZooKeeper系列(一)
重点关注ZAB协议如何Leader选举的过程
应用场景等
适当了解下其他注册中心,对比一下
中间件
RabbitMQ、Kafka、RocketMQ、ActiveMQ、Redis、MongoDB
ElasticSearch
ShardingSphere
Nginx
SpringSecurity
Docker、Jenkins、Git、Maven
VUE
组件
全局组件
私有组件
组件中的数据和方法
组件切换
组件间的数据传递
slot插槽
自定义指令
全局指令
私有指令
过滤器
vue-router
路由传参
命令视图
路由嵌套
声明式导航
编程式导航
vue-cli
vuex
state
Mutation
Actions
getters
modules
vue实例
data
props
methods
watch
computed
MVVM
model视图
view视图
vuemodel
指令
插入数据
属性绑定
事件绑定
v-model数据的双向绑定
条件渲染
循环渲染
事件修饰符
按键修饰符
动画
生命周期
创建
运行
销毁
消息中间件
具体中间件对别:RocketMQ VS Kafka 最好了解一下
消息队列使用场景
计算机网络
网络基础
连接过程
三次握手
四次挥手
相关算法
TCP流量控制-滑动窗口
超时重传机制
TCP拥塞控制
Http各个版本的特点的大致对比
Http0.9、1.0、1.1、2、3
Http和Https的区别
Https原理
加密算法
对称加密
非对称加密
数字签名
公钥证书
要大概知道整个过程,最好熟悉再看一次
Http长连接和短连接等
OSI的七层协议
应用层
表示层
会话层
运输层
网络层
数据链路层
物理层
五层协议的体系结构
应用层
运输层
网络层
数据链路层
物理层
TCP/IP的四层协议
应用层(各种应用层协议)
运输层(TCP/UDP)
网络层IP
网络接口层
协议
语法
数据与控制信息的结构或格式
语义
需要发出何种控制信息,完成何种动作
同步
事件实现顺序的详细说明
性能指标
速率
带宽
吞吐量
时延
发送时延
传播时延
处理时延
排队时延
时延带宽机
往返时间RTT
利用率
无线网络和移动网络
网络安全
JavaSE
Java成名史
JDK与JRE
Java的五大特性
对象间的四种关系
依赖
关联
聚合
组合
Java的流程控制
if-else
switch
while
do-while
for
Java常用类
Object
String
Math
Date
八种基本数据类型
byte
short
int
long
float
double
char
boolean
异常
什么是异常
异常捕获与处理的基本语法
throw和throws
自定义异常
集合
Collection
List
ArrayList
LinkedList
Vector
Set
HashSet
TreeSet
Map
HashMap
TreeMap
Hashtable
IO流
字符流
Reader
BufferReader
InputStreamReader
FileReader
Writer
BufferWriter
OutputStreamWriter
FileWriter
字节流
InputStream
FileInputStream
FileterInputStream
BufferedInputStream
OutputStream
FileOutputStream
FilterOutputStream
BufferedOutputStream
多线程
五种状态
新建状态New
就绪状态Runnable
运行状态Running
阻塞状态Blocked
等待阻塞
同步阻塞
其他阻塞
死亡状态Dead
多线程的创建和启动
继承Thread类
实现Runnable接口
线程的同步
synchronized
死锁
多线程通信
线程的同步机制
等待与唤醒
线程控制基本方法
线程休眠
中断线程
线程插队
线程让步
线程的优先权
守护线程
线程终止
反射
泛型
枚举
注解
动态代理
Java8新特性
lambda表达式
函数式接口
方法引用
stream
新时间日期API
optional
Supplier
Java9新特性
Java10新特性
JavaWeb
Tomcat
安装与启动
tomcat体系结构
tomcat的配置
部署
JSP/Servlet
servlet声明周期
servlet常用接口和类
配置servlet
JSP的动作指令
JSP的九大内置对象
EL和JSTL
自定义标签
监听器
过滤器
JSP分页
JSP上传文件
Ajax
了解ajax的概念
JSON
JSON语法格式
JavaScript中的JSON
Java对象转为JSON
XMLHttpRequest对象
使用JQuery实现ajax
ajax获取JSON数据
JVM
JVM基本概念
类加载子系统
运行时数据区描述
程序计数器(PC寄存器)
虚拟机栈
堆
本地方法栈
本地方法接口
方法区
直接内存
执行引擎
垃圾回收
JVM性能调优
JVM类加载
大致过程要了解
4种类加载器的特点
了解双亲委派模型
JVM内存模型
线程共享
堆
方法区
线程隔离
虚拟机栈
本地方法栈
程序计数器
对比JMM内存模型的实现
垃圾收集机制
垃圾收集算法
标记清除
标记整理
复制算法
分代收集
判断对象存活
引用计数法
可达性分析
垃圾回收器分类
串行收集器
并行收集器
CMS
G1
准备一个JVM线上调优实战案例,项目中可以讲
JVM调优工具大致了解
jps、jstat、jmap、jstack、jvisualvm、jprofiler、mat
数据库
关系型数据库
Mysql
基础语法
DDL
DML
DCL
存储引擎
MylSAM
面向数据应用
InnoDB
面向在线事务处理
锁
行锁
一致性非锁定读
速度快
可靠性高
事务
索引和算法
MVCC
JDBC
JDBC核心接口和类
JDBC连接数据库基本步骤
处理结果集
批处理
防止SQL注入
MySQL性能调优
存储引擎
InnoDB
MyISAM
事务
基本特性(ACID)
Atomicity(原子性)
Consistency(一致性)
Isolation(隔离性)
Durablity(持久性)
事务隔离级别
未提交读
已提交读
可重复读
串行化
锁机制
间隙锁(Gap Locks)
行锁实现
MVCC实现原理
日志:undo log、redo log、bin log 了解
索引原理
聚簇索引、非聚簇索引
结构:hash、B+树原理
SQL调优细节准备一下具体案例
读写分离实现方案
Spring动态数据源
MySQL官方驱动的replication协议
分库分表组件大概了解
shardingsphere中的sharding-jdbc
mycat
Oracle
非关系型数据库
缓存:Redis
Redis为什么这么快?
深入剖析Redis系列
缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题怎么解决?
高可用架构
持久化
RDB
AOF
主从复制
哨兵
集群
基础数据结构
string
hash
list
set
zset
关于跳表数据结构的实现要熟悉
分布式锁的实现原理要了解
Redis实现分布式锁
Zookeeper实现分布式锁
Mongodb
其他
SSM
Spring
IOC(控制反转)
实现:DI(依赖注入)
AOP(面向切面)
基于cglib动态代理实现
Bean的生命周期
自动装配
集合注入
声明式事务处理
Spring注解
Spring如何解决循环依赖问题?
SpringMVC
HandlerMapping
RequestMapping
SpringMVC参数传递
适配器
拦截器
视图和模型
上传文件
请求方式
PUT、POST、GET、DELETE
Mybatis
概念
为什么要用ORM
为什么使用Mybatis
Mybatis快速入门
进阶
Mybatis的配置
映射器的配置
动态SQL
整合Spring
缓存
关联查询
多对多查询
代码生成器
高级
源码分析
插件开发
分页插件使用与源码分析
SpringBoot
SpringBoot简介
SpringBoot特性
SpringBoot开发环境
SpringBoot快速入门
核心配置文件
自定义配置
SpringBoot中的SpringMVC
集成JSP
集成Servlet
集成Mybatis
SpringBoot事务
SpringBoot实现RESTFull
热部署
集成Redis
集成Dubbo
SpringBoot使用拦截器
过滤器
war包部署
jar包部署
整合Actuator
数据结构与算法
基本思想
分治法
动态规划法
贪心算法
回溯法
分支界限法
线性结构
线性表
数组
链表
字符串
朴素算法
KMP算法
栈
队列
hash表
位图bitmap
树型结构
三叉树
平衡查找树
多路查找树
堆(大、小顶堆)
字典树
并查集
图形结构
遍历
最短路径
最小生成树
拓扑排序
遍历
深度优先
广度优先
排序
插入排序
直接插入排序
希尔排序
选择排序
简单选择排序
堆排序
交换排序
冒泡排序
快速排序
归并排序
基数排序
桶排序
查找
顺序表查找
有序表查找
二分查找
插眼查找
斐波那契数列查找
线性索引查找
精密索引
分块索引
倒排索引
树表查找
二叉查找树
平衡查找树
平衡二叉树AVL
红黑树
多路查找树
B树
B+树
散列表查找
散列函数
冲突处理
Linux
Linux初级
Linux系统安装
Linux图形界面
Linux常用命令
用户和文件系统管理
软件安装配置
网络管理
Linux高级
Linux服务器领域
数据库
防火墙
DNS服务器
LAMP服务器
VPN服务器
Web服务器
FTP服务器
Linux程序开发
Shell高级编程
Linux C/C++程序开发
Linux内核基础
嵌入式开发
Linux驱动开发
资料
Java八股文:advanced-java
Java八股文:advanced-java
刷题:LeetCodeTop
5W字的后端面经
通用场景题
自我介绍准备一下
建议简单过一下个人情况:学历,经验。然后大概重点介绍所在公司的贡献
这里适当引申一些面试官熟悉的知识点,自己再项目中有做好的,比如分布式锁、缓存一致性、JVM调优、性能优化场景
有意识地引导面试官问你熟悉的问题。
挑一个自己做的最好的项目?
项目中遇到的难点,怎么解决的?
考察解决问题能力,最好能深究根因,举一反三解决相关系统隐患。
有没有关注最近技术动向,学习渠道大概是怎么样的?
考察学习驱动力,能自主学习,个人持续发展的潜力
一些场景设计题?
短链服务的设计?
16位分布式uuid的设计?
自己动手实现一个rpc框架?
SpringCloud
微服务基础概念
服务注册与发现
Eureka
Zookeeper
Consul
CAP理论
服务调用
Ribbon
OpenFeign
服务降级
Hystrix
Sentinel
服务网关
Zuul
Gateway
服务配置
Config
Nacos
消息总线
Bus
Spring Cloud Stream消息驱动
Spring Cloud Sleith分布式链路跟踪
Spring Cloud Alibaba
Nacos服务注册和配置中心
SEntinel熔断和限流
Seata处理分布式事务
分布式雪花算法(分布式ID)
0 条评论
下一页