问渠哪得清如许?为有源头活水来
约 3226 字大约 11 分钟
项目相关
Java
基础
知识点/面试题总结 : (必看👍 ):
重要知识点详解 :
- 为什么 Java 中只有值传递?
- Java 序列化详解
- 泛型&通配符详解
- Java 反射机制详解
- Java 代理模式详解
- BigDecimal 详解
- Java 魔法类 Unsafe 详解
- Java SPI 机制详解
- Java 语法糖详解
集合
知识点/面试题总结 :
源码分析 :
IO
并发
知识点/面试题总结 : (必看 👍)
重要知识点详解 :
- JMM(Java 内存模型)详解
- 线程池 :Java 线程池详解、Java 线程池最佳实践
- ThreadLocal 详解
- Java 并发容器总结
- Atomic 原子类总结
- AQS 详解
- CompletableFuture入门
JVM (必看 👍)
JVM 这部分内容主要参考 JVM 虚拟机规范-Java8 和周志明老师的《深入理解Java虚拟机(第3版)》 (强烈建议阅读多遍!)。
新特性
- Java 8 :Java 8 新特性总结(翻译)、Java8常用新特性总结
- Java 9 新特性概览
- Java 10 新特性概览
- Java 11 新特性概览
- Java 12~13 新特性概览
- Java 14 新特性概览
- Java 15 新特性概览
- Java 16 新特性概览
- Java 17 新特性概览
- Java 18 新特性概览
- Java 19 新特性概览
计算机基础
操作系统
网络
知识点/面试题总结 :
重要知识点详解 :
- OSI 和 TCP/IP 网络分层模型详解(基础)
- 应用层常见协议总结(应用层)
- HTTP vs HTTPS(应用层)
- HTTP 1.0 vs HTTP 1.1(应用层)
- HTTP 常见状态码(应用层)
- TCP 三次握手和四次挥手(传输层)
- TCP 传输可靠性保障(传输层)
- ARP 协议详解(网络层)
- 网络攻击常见手段总结(安全)
数据结构
图解数据结构:
- 线性数据结构 :数组、链表、栈、队列
- 图
- 堆
- 树 :重点关注红黑树、B-,B+,B*树、LSM树
其他常用数据结构 :
算法
算法这部分内容非常重要,如果你不知道如何学习算法的话,可以看下我写的:
常见算法问题总结 :
另外,GeeksforGeeks 这个网站总结了常见的算法 ,比较全面系统。
数据库
基础
MySQL
知识点/面试题总结:
重要知识点:
- MySQL索引详解
- MySQL事务隔离级别图文详解)
- MySQL三大日志(binlog、redo log和undo log)详解
- InnoDB 存储引擎对 MVCC 的实现
- SQL 语句在 MySQL 中的执行过程
- MySQL执行计划分析
- MySQL自增主键一定是连续的吗
- MySQL 时间类型数据存储建议
- MySQL 隐式转换造成索引失效
Redis
知识点/面试题总结 : (必看👍 ):
重要知识点:
MongoDB
搜索引擎
开发工具
Maven
Gradle
Gradle 核心概念总结(可选,目前国内还是使用 Maven 普遍一些)
Docker
Git
系统设计
基础
常用框架
Spring/SpringBoot (必看 👍)
知识点/面试题总结 :
重要知识点详解 :
MyBatis
安全
认证授权
数据脱敏
数据脱敏说的就是我们根据特定的规则对敏感信息数据进行变形,比如我们把手机号、身份证号某些位数使用 * 来代替。
敏感词过滤
定时任务
Web 实时消息推送
分布式
理论&算法&协议
API 网关
分布式 ID
分布式锁
分布式事务
分布式配置中心
RPC
ZooKeeper
前两篇文章可能有内容重合部分,推荐都看一遍。
高性能
数据库读写分离&分库分表
负载均衡
SQL 优化
CDN
消息队列
消息队列在分布式系统中主要是为了解耦和削峰。相关阅读: 消息队列常见问题总结。
- RabbitMQ : RabbitMQ 基础知识总结、RabbitMQ 常见面试题
- RocketMQ : RocketMQ 基础知识总结、RocketMQ 常见面试题总结
- Kafka :Kafka 常见问题总结
高可用
冗余设计
限流
降级&熔断
超时&重试
集群
相同的服务部署多份,避免单点故障。
灾备设计和异地多活
灾备 = 容灾+备份。
- 备份 : 将系统所产生的的所有重要数据多备份几份。
- 容灾 : 在异地建立两个完全相同的系统。当某个地方的系统突然挂掉,整个应用系统可以切换到另一个,这样系统就可以正常提供服务了。
异地多活 描述的是将服务部署在异地并且服务同时对外提供服务。和传统的灾备设计的最主要区别在于“多活”,即所有站点都是同时在对外提供服务的。异地多活是为了应对突发状况比如火灾、地震等自然或者人为灾害。