收藏夹
知乎收藏夹: https://www.zhihu.com/collection/991923727 小红书收藏夹: https://www.xiaohongshu.com/board/690a2ff300000000130224b3?source=web_profile_page
内容大纲
Java
synchronized
Java 锁升级(Lock Escalation)的过程:
- 无锁 -> 偏向锁 (Biased Locking) -> 轻量级锁 (Lightweight Locking) -> 重量级锁 (Heavyweight Locking)。
synchronized 和 java.util.concurrent.locks.ReentrantLock 有什么本质区别?(例如:性能、是否可中断、是否公平锁、是否需要手动释放)
- https://baijiahao.baidu.com/s?id=1638104862611986445&wfr=spider&for=pc
- https://javaguide.cn/java/concurrent/java-concurrent-questions-02.html#%E2%AD%90%EF%B8%8Fsynchronized-%E5%92%8C-reentrantlock-%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB
类加载
什么是类加载器?双亲委派模型是什么?为什么需要它?如何打破双亲委派模型?
- https://www.jianshu.com/p/51b2c50c58eb (双亲委派模式, Tomcat类加载机制)
GC
- JVM 内存模型和各个区域的作用。
- 如何判断一个对象是否可以被回收(可达性分析算法)。 - https://www.jianshu.com/p/108ddab3ad3f
- G1 收集器, 工作原理和特点
- ZGC收集器, 工作原理和特点
设计模式
常用设计模式
- 单例模式(懒汉、饿汉、内部类等写法及线程安全)
- 工厂模式 (大概知道就行, 不用全看) - https://www.cnblogs.com/yssjun/p/11102162.html
- 代理模式, 装饰器模式
- 策略模式
- 说白了就是把if/else的条件放到map的key里
- https://www.infoq.cn/article/6gczx3kg3gfj5yfx08mm
- 模板方法模式
JDK 或 Spring 源码中使用了哪些设计模式?
- JDK: https://blog.csdn.net/ZixiangLi/article/details/85237318
- Spring: https://www.jianshu.com/p/c4f367107182
Spring
- Spring Bean 的作用域(Scope)有哪些?
- Spring Boot的自动配置原理
- 依赖注入的几种方式
@Autowired是按照类型匹配的, 多个bean的时候通过Qualifier指定名称@Resource默认按照名称匹配, 如果找不到会回退根据类型匹配)
@Transactional注解在什么情况下会失效 (简单看看就行)- Spring 事务的事务传播行为(大概知道是什么意思即可)。
Redis
- 为什么选择 Redis 而不是其他缓存(如 Guava/Map)?
- Redis 的常见数据结构及应用场景(String, List, Set, Hash, ZSet)。
- Redis 的持久化机制:RDB 和 AOF 的原理与优缺点。
- Redis 的内存淘汰机制(LRU, LFU 等)。
- 缓存雪崩、缓存穿透、缓存击穿的区别和解决方案。
- 如何保证数据库和缓存之间的数据一致性(例如:双写策略)。
- 分布式锁的实现方式(SET NX)。
MySQL
- 事务的 ACID 特性及其实现原理。
- 数据库的四种隔离级别,以及它们分别解决了什么问题(脏读、不可重复读、幻读)。
- MyISAM 和 InnoDB 存储引擎的主要区别。
- 索引的底层数据结构(B+ 树)及为什么选择 B+ 树。
- 联合索引的“最左匹配原则”如何生效?
- SQL 调优:如何使用
EXPLAIN分析 SQL 性能?
Kafka
- 为什么要使用消息队列?它解决了哪些问题?
- Kafka 的核心特性:高吞吐、高可用、低延迟是如何实现的?
- 消息的存储机制(分区、副本、日志段)。
- Consumer Group 的 Rebalance 机制。
- 如何保证消息的顺序性、不丢失、不重复(幂等性)?
- 消息队列可能带来的问题(如数据一致性、重复消费)及解决方案。
系统设计
- 高可用:限流(令牌桶、漏桶)、降级、熔断机制。
- 负载均衡:常见的负载均衡算法(轮询、加权、最少连接)及一致性哈希原理。
- 架构模式:分层架构、微服务架构的优缺点。
- 分布式事务:CAP 原则、BASE 理论,以及常见的分布式事务解决方案(2PC、TCC、SAGA)。
- 设计实践:如何设计一个高并发的秒杀系统?如何设计一个短链接系统?