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