基础语法:抽象类和接口的区别、Java 中的泛型是怎么实现的、怎样判断两个 Java 对象是相等的等等类似的问题 容器相关的面试:List、Set、Map三者的区别、ArrayList和LinkedList 之间的区别、ArrayList的扩容机制、HashMap是线程安全的吗?为什么呢?、HashTable是线程安全的吗?它是怎样实现线程安全的?、JDK1.8之前和之后,HashMap的底层实现发生了哪些变化呢?、我需要一个线程安全的Map,你会选择使用什么?为什么?你是从哪些方面考虑的呢? 并发编程相关的面试:谈一谈Java中的锁机制、你用过哪些并发容器,说一说它们的特性、Java提供了一些原子类,它们都是以Atomic开头,你知道它们是怎么实现的吗?、线程池的参数以及每个参数的含义,它们对线程池产生怎样的影响、JDK中提供了哪几类线程池,它们各自有什么样的适用场合? JVM相关的面试:谈一谈JVM中内存区域是怎样划分的,每一块内存区域中存储的是什么、JVM垃圾回收有几种方式,谈一谈你是怎样理解的、类加载器和类加载过程
面试官问的面试题: 容器相关的面试:List、Set、Map三者的区别、ArrayList和LinkedList 之间的区别、ArrayList的扩容机制、HashMap是线程安全的吗?为什么呢?、HashTable是线程安全的吗?它是怎样实现线程安全的?、JDK1.8之前和之后,HashMap的底层实现发生了哪些变化呢?、我需要一个线程安全的Map,你会选择使用什么?为什么?你是从哪些方面考虑的呢?
并发编程相关的面试:谈一谈Java中的锁机制、你用过哪些并发容器,说一说它们的特性、Java提供了一些原子类,它们都是以Atomic开头,你知道它们是怎么实现的吗?、线程池的参数以及每个参数的含义,它们对线程池产生怎样的影响、JDK中提供了哪几类线程池,它们各自有什么样的适用场合?
JVM相关的面试:谈一谈JVM中内存区域是怎样划分的,每一块内存区域中存储的是什么、JVM垃圾回收有几种方式,谈一谈你是怎样理解的、类加载器和类加载过程