标签题目
并发相关面试题
业务中为什么要使用分布式锁?
这题考察分布式互斥的业务动机、锁粒度、正确实现条件和替代方案,重点是说明锁只能保护有限临界区。
线程安全的单例模式怎么写?
这题考察 Java 单例在并发下的安全发布、延迟初始化、重排序风险,以及枚举、静态内部类、DCL 各自的边界。
协程解决什么问题,和线程性能怎么比较?
这题考并发模型和性能边界,回答要说明协程降低的是调度和内存成本,不是让 CPU 计算突破核心数。
多线程如何防止并发问题?
这题考并发安全的系统化处理,回答要先减少共享,再对必须共享的状态保证原子性、可见性和有序性。
HashMap 和 ConcurrentHashMap 的原理与区别是什么?
考察 Java 哈希表结构和并发容器实现,重点是桶结构、扩容、线程安全策略、弱一致迭代和 null 限制。
volatile 的原理是什么,能否替代锁?
考察 Java 内存模型,核心是 volatile 保证可见性和有序性,但不保证复合操作原子性,不能替代锁保护临界区。