个人整理后端面试体系
基础篇
1、Java语言基础
1.1 Java语言特性(继承 封装 多态 抽象)
1.2 基本数据类型以及线程安全问题(double、long)
1.3 接口、抽象类、普通类
1.4 重要关键字 static 和 final
1.5 异常和错误
1.6 泛型
1.7 异常
1.8 线程安全问题
1.9 Java中的集合类
2、数据结构与算法
2.1 了解基本的数据结构
2.2 了解常用的常考的算法及其模版
2.3 排序
2.4 二分法
2.5
3、计算机网络
3.1 TCP协议相关(报文头、三次握手,超市重传,滑动窗口、拥塞避免、四次挥手)
3.1 Http&Https相关
请求方式(GET、POST、PUT、DELETE、HEADER…)
常见状态码(2XX、3XX、4XX、5XX…)
Http各个版本的差异(1.0 、1.1、2.0)
证书颁发过程
对称加密和非对称加密
SSL/TLS协议
3.3 IP协议
3.4 ICMP协议
4、数据库MySQL
进阶篇
1、Redis
2、Kafka
3、Spring框架
4、Java虚拟机
5、设计模式
高级篇
1、分布式事务
2、分布式缓存
3、微服务
4、RPC
发散篇
1、设计一个秒杀系统
2、设计一个抢票系统 (保证高QPS和单库支撑)
用户看到剩余一张票,点击购买,提示没有票了,这个问题怎么解决?
3、设计一个订单系统,保证数据安全,怎么做
4、海量数据寻找最值问题
4.1 海量数据 (日志)找出访问最多的IP