计算机网络
- 分层结构
- TCP/UDP(区别,三次握手,四次挥手)
- HTTP/HTTPS(区别,无状态,长连接,短链接)
- 状态码
- Cookie和Session
- URI和URL
操作系统
- 线程和进程(区别,状态,同步,死锁)
数据结构预算法
数据结构
- 数组
- 链表
- 栈
- 队列
- 树
- 堆
算法
设计模式
会实现
- 单例
- 工厂
- 代理
能看懂
- 适配器
- 观察者
- 模板
实操工具
- Git/SVN
- Maven/Gradle
- Linux基本操作
- Nginx
- ELK
- postman
Java基础
语言基础
HELLOWORLD
Java的基本知识,环境JDK,JRE,开发环境配置
基础语法
语法,关键字,数据类型,逻辑语句控制
面向对象
- 面向对象思想(理解,对象之间的关系:依赖,关联,聚合,组合)
- 原则(封装,继承,多态)
- 四个常用关键字(static,final,this,super)
- 初始化
- 属性和方法(构造方法,方法的重载和重写)
- 向上转型,向下转型
- 内部类
集合(重要)
8. https://www.runoob.com/java/java-collections/html
9. 各种List
10. 各种Set
11. 各种Map
以上的原理,特点,异同,线程安全,常用操作以及复杂度
注解
反射
泛型
IO
枚举
异常
多线程(重要)
- 线程池
- 并发容器
- 原子类
- 线程与进程
- 死锁
- 生命周期和状态
- 两个常见关键字(synchronized,volatile)
JVM
内存模型
垃圾回收
类加载机制
调优
数据库(MySQL)
https://www.runoob.com/sql/sql-tutorial.html
事务
索引
锁
连接池
分库分表(为什么分?如何分:水平,垂直;用什么:Mycat)
主从
读写分离
JavaWeb
了解,会用
- html
- css
- js(选学)
- ajax
学会,掌握
- vue
- Servlet
中间件
缓存·redis
数据类型
https://www.runoob.com/redis/redis-tutorial.html
- string
- hash
- list
- set
- zset
常见问题
- 数据类型
- 持久化
- 集群
- 通道
- 事务
- Redis分布式锁
- 缓存穿透
- 缓存雪崩
- 缓存击穿
缓存穿透,缓存穿透,缓存击穿是什么?原因?如何避免
消息队列
一般业务来说rabbitMQ已经足够,深入学会一个
- rabbitMQ
- rocketMQ
- kafka
搜索引擎
- elasticsearch(学会这个即可)
- solr
框架
Spring
- AOP
- IoC
- BeanFactory
- bean作用域、生命周期
- 事务隔离级别
SpringMVC
- 工作流程图
- DispatcherServlet
- WebApplicationContext
MyBatis
SpringBoot
- 启动过程
- 自动装配原理
微服务/分布式
直接找一个SpringCloud全家桶教程从头到尾弄懂
把每个组件弄清楚,先会用。
服务发现/注册认真学
理论
- CAP
- BASE
服务发现/注册
相同作用,会一个就行,其他名字要记一下,最好知道他们的区别和优缺点,被问后知道怎么用
快速定位同类组件的自己会的,下同
- Eureka(学这个就行)
- zookeeper
- etcd
- Nacos
- Consul
网关
- Zuul
- Gateway
负载均衡
- Ribbon
服务调用
- Feign
熔断等级
- Hystrix
统一配置
- Config
- Nacos
链路追踪
- Sleuth
- zipkin
- skywalking
认证、鉴权、单点登录
- Shiro
- Spring Security
- OAuth2
- SSO
消费总线
- Bus