一、基础篇
1.1、Java基础答案链接
1.1、Java基础
面向对象的特征:继承、封装和多态
final, finally, finalize 的区别
Exception、Error、运行时异常与一般异常有何异同
请写出5种常见到的runtime exception
int 和 Integer 有什么区别,Integer的值缓存范围
包装类,装箱和拆箱
String、StringBuilder、StringBuffer
重载和重写的区别
抽象类和接口有什么区别
说说反射的用途及实现
说说自定义注解的场景及实现
HTTP请求的GET与POST方式的区别
Session与Cookie区别
列出自己常用的JDK包
MVC设计思想
equals与==的区别
hashCode和equals方法的区别与联系
什么是Java序列化和反序列化,如何实现Java序列化?或者请解释Serializable 接口的作用
Object类中常见的方法,为什么wait notify会放在Object里边?
Java的平台无关性如何体现出来的
JDK和JRE的区别
Java 8有哪些新特性
1.2、Java常见集合
List 和 Set 区别
Set和hashCode以及equals方法的联系
List 和 Map 区别
Arraylist 与 LinkedList 区别
ArrayList 与 Vector 区别
HashMap 和 Hashtable 的区别
HashSet 和 HashMap 区别
HashMap 和 ConcurrentHashMap 的区别
HashMap 的工作原理及代码实现,什么时候用到红黑树
多线程情况下HashMap死循环的问题
HashMap出现Hash DOS攻击的问题
ConcurrentHashMap 的工作原理及代码实现,如何统计所有的元素个数
手写简单的HashMap
看过那些Java集合类的源码
1.3、进程和线程
线程和进程的概念、并行和并发的概念
创建线程的方式及实现
进程间通信的方式
说说 CountDownLatch、CyclicBarrier 原理和区别
说说 Semaphore 原理
说说 Exchanger 原理
ThreadLocal 原理分析,ThreadLocal为什么会出现OOM,出现的深层次原理
讲讲线程池的实现原理
线程池的几种实现方式
线程的生命周期,状态是如何转移的
可参考:《Java多线程编程核心技术》