1. 垃圾回收机制。。。(主要从下面几方面解答 GC原理、最好画图解释一下年轻代(Eden区和Survival区)、年老代、比例分配及为啥要这样分代回收)
    2. 对象分配问题,堆栈里的问题,详细的会问道方法区、堆、程序计数器、本地方法栈、虚拟机栈,问题入口从String a,new String(“”)开始
    3. 关键字,private protected public static final 组合着问
    4. Object类里面有哪几种方法,作用
    5. equals 和 hashCode方法,重写equals的原则()
    6. 向上转型
    7. Java引用类型(强引用,软引用,弱引用,虚引用)
    8. 线程相关的,主要是volitate,synchorized,wait(),notify(),notifyAll(),join()
    9. Exception和Error
    10. 反射的用途
    11. HashMap实现原理(数组+链表),查找数据的时间复杂度
    12. List有哪些子类,各有什么区别
    13. NIO相关,缓冲区、通道、selector。。。(不熟,面了这么多,挂在这里。其实主要是表现在同步阻塞和异步,传输方式不同。标准IO无法实现非阻塞模式、文件锁、读选择、分散聚集等)
    14. 内存泄露,举个例子
    15. OOM是怎么出现的,有哪几块JVM区域会产生OOM,如何解决(对于该问题,建议去《Java特种兵》的3.6章)
    16. Java里面的观察者模式实现
    17. 单例实现(我一般用enum写,不容易被挑毛病)
    18. 用Java模拟一个栈,并能够做到扩容,并且能有同步锁。(用数组实现)
    19. Java泛型机制,泛型机制的优点,以及类型变量