Java面试常见问题
2019-09-02·Java, Interview, Spring, JVM, Concurrency
Spring
- SpringMVC 工作原理
- IOC、AOP 的理解
- Spring 中用到的设计模式
- Spring Bean 的作用域和生命周期
- Spring 事务隔离级别
- Spring 事务传播行为
集合
- String 为什么是不可变的
- ArrayList vs LinkedList
- HashMap 底层实现
- HashMap 长度为什么是 2 的幂次方
- ConcurrentHashMap vs Hashtable
多线程
- 悲观锁 vs 乐观锁
- synchronized vs ReentrantLock
- volatile vs synchronized
- 可重入锁 vs 非可重入锁
- 线程池原理与使用
- AQS 原理(Semaphore、CountDownLatch、CyclicBarrier、ReadWriteLock)
JVM
- Java 内存区域
- GC 算法与收集器
- JVM 内存管理
- JVM 调优
Redis
- 为什么用 Redis
- 常见数据结构与使用场景
- 过期时间与内存淘汰机制
- 持久化机制
- 缓存雪崩与缓存穿透
- 并发竞争 Key 问题
- 缓存与数据库双写一致性
#Java#Interview#Spring#JVM#Concurrency