长期更新
Java基础语法部分
- 类的初始化过程
- 值传递和引用传递
- 静态变量和成员变量的差异
- 子类初始化的流程
- this和Super的差距
- 什么是父类对象的隐藏
Java反射部分
- 什么是反射
- 反射的应用场景
Java线程
- 线程的生命周期
- 线程的实现方式
- Java线程和物理机线程的关系
- 如何启动线程
- ThreadLocal
Java线程池
- 4种线程池
- 线程池的参数和含义
- 线程次的初始化流程
Java集合部分
锁
JVM虚拟机部分
- JVM内存模型
- 方法区里都有什么东西
- 堆和栈里都有什么东西
- 新生代,老年代和永久代?
- MinorGC的过程
- 如何确定垃圾[引用计数法/可达性分析算法]
- 可以作为GCroot的有那些?
- 确定的垃圾什么时候会被回收?[不可达对象经过2次标记后依然是可回收对象才会进行回收原因]
- 如何清除垃圾?[分代收集]
- 4种引用类型
- 双亲委派模型
- 类加载过程
原则定理
- 数据库三范式
- 数据库反三范式
- 分布式CAP定理
- 面向对象常见设计原则
- RPC是什么
- ACID是什么
协议
- 了解过哪些协议[TCP/UDP]
- TCP/UDP的差异
- HTTPS和HTTP的差异
- HTTP1.1和2.0的差异
- 网络通信三要素是哪些?
- 简单讲下三次握手和四次挥手
数据库
- 数据库的隔离级别
- 简单讲下ACID
- 数据库三范式
- 数据库的反三范式
- 什么是回表
- 常见索引
- 索引的三星系统
- Mysql索引是那种数据结构
- 索引为什么不用B树
- 如何对SQL进行优化
- 数据库优化的步骤
- 什么情况下索引会失效
项目部分
Spring & SSM
- AOP的2种实现方式以及区别
- 什么是IOC/DI
- Servlet的生命周期
- Servlet和cgi的区别
- Servlet 和JSP的区别
- cookie和Seesion的区别
- SpringMVC的请求流程
Spring Boot
- 什么是Spring Boot
Spring Cloud
- Eureka/Ribbon/Feign/Hystrix/zuul 简单讲下
- 简单讲下隔离熔断和降级
- Hystrix如何实现容错
- 简单讲下Eureka的原理
- Spring Cloud和Dobbo的区别
- Eureka和ZK的异同
- Ribbon和Feign的差别
- 什么是微服务?
实际项目
- 简单讲下JWT
- 你们项目中的redis如何保证一致性的
- 项目中用到的线程池和选用理由