1)JVM
-
Java 内存结构
-
堆
-
栈
-
垃圾回收
-
JVM 参数调优
-
Java 对象模型
-
HotSpot
-
编译和反编译
-
反编译工具
-
JIT
-
虚拟机性能监控和故障处理工具(jps、jstack、jmap、jstat、jconsole、javap)
2)性能优化
-
使用单例
-
使用线程池
-
减少上下文切换
-
减小锁粒度
-
数据压缩
-
Stream 并行流
-
GC 调优
-
JVM 内存分配调优
-
btrace
3)设计模式
-
设计模式的六大原则
-
创建型设计模式(单例、抽象工厂、建造者、工厂、原型)
-
结构型设计模式(适配器、桥接、装饰、组合、外观、享元、代理)
-
行为型设计模式(模板方法、命令、迭代器、观察者、中介者、备忘录、解释器、状态、策略、责任链、访问者)
-
单例的七种写法
4)数据结构和算法
-
简单的数据结构(栈、队列、链表、数组、哈希表)
-
树(二叉树、字典树、平衡树、排序树、B 树、B+ 树、R 树、红黑树、多路树)
-
堆
-
图(拓扑、有向图、无向图)
-
稳定的排序算法(冒泡排序、插入排序、鸡尾酒排序、桶排序、计数排序、归并排序、原地归并排序、二叉排序树排序、鸽巢排序、基数排序、侏儒排序、图书馆排序、块排序)
-
不稳定的排序算法(选择排序、希尔排序、梳排序、堆排序、平滑排序、快速排序、内省排序、耐心排序、Clover 排序)
-
时间复杂度
-
空间复杂度
-
贪心算法
-
KMP 算法
5)操作系统
-
Linux 常用命令(find、top、tar、move、grep、tail、netstat、curl、wget、ping、ssh)
-
服务器性能指标(qps、CPU 利用率)
-
进程同步
-
分段和分页
-
虚拟内存和主存
6)网络安全
-
CSRF
-
XSS
-
SQL 注入
-
加密和解密(对称加密、非对称加密)
-
MD5、SHA1、DES、RSA
-
DDOS 攻击
-
HTTP 和 HTTPS
-
SSL
-
TLS
-
TCP 和 UDP
-
Cookie、Session
-
CDN
-
DNS
7)数据库
8)大数据
-
搜索(Elasticsearch](https://mp.weixin.qq.com/s/ZjsZxle7m_dfmVwVkq2ayg) 、Solr)
-
流式计算(Storm、Spark、Flink)
-
Hadoop
9)服务器
-
Tomcat
-
jetty
-
Nginx
10)框架
-
Spring
-
MyBatis
-
Spring MVC
-
Spring Boot
-
Spring Security
-
Spring Cloud
-
Netty
-
Dubbo
11)消息队列
-
Kafka
12)容器
-
Docker
-
K8s