基础篇

基本功

  面向对象的特征

  final,finally,finalize 的区别

  int 和 Integer有什么区别

  重载和重写的区别

  抽象类和接口有什么区别

  说说反射的用途及实现

  说说自定义注解的场景及实现

  HTTP 请求的 GET 与 POST 方式的区别

  session 与 cookie 区别

  session 分布式处理

  JDBC 流程

  MVC设计思想

  equals 与 == 的区别

集合

  List  和 Set 区别

  List 和 Map 区别

  ArrayList 与 LinkedList 区别

  ArrayList 与 Vector 区别

  HashMap 和 Hashtable 的区别

  HashMap 和 HashSet 的区别

  HashMap 和 ConcurrentHashMap 的区别

  HashMap 的工作原理及代码实现

  ConcurrentHashMap 的工作原理及代码实现

线程

  创建线程的方式及实现

  sleep()、join()、yield() 有什么区别

  说说CountDownLatch 原理

  说说CyclicBarrier 原理

  说说Semaphore 原理

  说说Exchanger 原理

  说说 CountDownLatch 与 CyclicBarrier  区别

  ThreadLocal 原理分析

  讲讲线程池的实现原理

  线程池的几种方式

  线程的生命周期

锁机制

  说说线程安全问题

  volatile 实现原理

  synchronize 实现原理

  synchronized 与 lock 的区别

  CAS 乐观锁

  ABA 问题

  乐观锁的业务场景及实现方式