架构
- 面向对象,推荐《UML和模式应用》
- 软件方法
- 整洁架构之道
高可用保障
负载均衡
- 负载均衡策略
- 中间件:f5/openresty/nginx/ribbon
- https://mp.weixin.qq.com/s/NUFRX51D9Yf9yzRQnPeWlg
降级:
- 降级时机
- 降级组件:hystrix/resilence
限流:
- 漏桶
- 令牌桶
- 滑动窗口 https://zhuanlan.zhihu.com/p/150436514
隔离:
- 租户隔离
- 线程隔离:hystrix/resilence
其他
- 监控:可用性/性能/容量/业务
- 回滚
- 压测与预案
高性能
- 批量、异步
- 分库分表
- 各级别缓存:浏览器缓存、静态化;nginx
JAVA
- hashmap/concurrenthashmap
- 动态代理
- 类加载
- 重入锁与synchronized
- AQS
- 对象头、锁优化、volatile
- 阻塞队列
线程:
- 线程通信
- 线程池
- threadlocal
- jvm线程状态
jvm:
- 参数、命令
- 垃圾回收、GC root
- 查看线程数占用 top -Hp pid;转16进制;jstack pid|grep XX
- 线程数过多:jca
- oom
- 死锁排查
- jmm、MESI
- happen before
分布式系统
- 分布式系统整体介绍
- 分布式事务:
- 分布式锁
- 注册发现:zk/etcd/consul/eureka: https://blog.csdn.net/xinyuan_java/article/details/102608442
- 负载均衡:https://mp.weixin.qq.com/s/NUFRX51D9Yf9yzRQnPeWlg
- 一致性哈希
- 一致性:raft/强一致性/弱一致性/base
- 失败处理策略:failover/failfast/failback
- id生成器:https://tech.meituan.com/2017/04/21/mt-leaf.html
- uuid
- snowflake:ntp时钟
- 号段 https://mp.weixin.qq.com/s/TgPsHnB6ukh_n9K56PVNfA
- rpc协议:
- thrift/grpc/pb/
- 序列化反序列化
数据库
- 存储引擎及优缺点
- 隔离级别 https://tech.meituan.com/2014/08/20/innodb-lock.html
事务特性及实现
- undo log
- redo log undo log:事务回滚及MVCC;
- redo log:持久化;配合check point 机制做恢复。 2021.01.18 2021.01.22 DONE
锁:
- 表锁/行锁/间隙锁/next-key
- 加锁方式
- mvcc
- 死锁排查 行锁防止别的事务修改或删除,GAP锁防止别的事务新增,行锁和GAP锁结合形成的的Next-Key锁共同解决了RR级别在写数据时的幻读问题。
索引结构:
- 左序匹配原则
- 索引选择原则
- 一级索引、二级索引
- 读写分离
缓存
- redis:数据备份
- 缓存数据结构
- 缓存应用
消息队列
- 各mq优缺点
- 如何保障幂等https://mp.weixin.qq.com/s/8oX7u8XcLL80_nNdN-UkvQ
- 如何保障顺序
- 延迟队列 http://km.oa.com/group/25584/articles/show/440190?kmref=search&from_page=1&no=4
- 如何实现事务型消息
安全
- 防重复提交
- STRIDE
- 加密算法
- 对称加密/非对称加密
- 哈希算法
- 彩虹表
- https:https://mp.weixin.qq.com/s/lNfsJv1zOI9wRO-1aiw2cg
数据结构
优先级队列:
- 栈
- 队列
- 堆
符号表:
- BST
- 红黑树
- 哈希表
分治:
- 快速排序
- 归并排序
图:
- DAG
- UAG
- 拓扑
- 最小生成树
- 最短路径
大数据处理:
- 堆排序
- 布隆过滤
- bitmap
- 搜索树
- 并查集
- trie树
计算机网络
- https://mp.weixin.qq.com/s/5PhLWZ4Z9kagZSBlhzcLAg 七层模型
- TCP/UDP区别
- TCP如何保障可靠传输 https://mp.weixin.qq.com/s/h89R86KhWiQKsBvfZpyF5Q
- 粘包、拆包处理
- HTTP/2、QUIC、HTTPS
操作系统
- CPU调度
- 内存管理
- 进程通信方式