Reborn's Blog

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