一、Java基础知识面试题
1、Java概述
2、基础语法
①. 数据类型
②. 编码
③. 注释
④. 访问修饰符
⑤. 运算符
⑥. 关键字
⑦. 流程控制语句
3、面向对象
①. 面向对象概述
②. 面向对象三大特性
③. 类与接口
④. 变量与方法
⑤. 内部类
⑥. 重写与重载
⑦. 对象相等判断
⑧. 值传递
⑨. Java包
4、IO流
5、反射
6、网络编程
7、常用API
①. String相关
②. Date相关
③. 包装类相关
8、常用工具类库
9、单元测试
10、日志
二、Java异常面试题
1、Error 和 Exception 区别是什么?
2、运行时异常和一般异常(受检异常)区别是什么?
3、JVM 是如何处理异常的?
4、throw 和 throws 的区别是什么?
5、final、finally、finalize 有什么区别?
6、NoClassDefFoundError 和 ClassNotFoundException 区别?
7、try-catch-finally 中哪个部分可以省略?
8、try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?
9、类 ExampleA 继承 Exception,类 ExampleB 继承ExampleA?
10、常见的 RuntimeException 有哪些?
11、Java常见异常有哪些?
三、JVM面试题
1、Java内存区域
2、HotSpot虚拟机对象探秘
3、内存溢出异常
4、垃圾收集器
5、内存分配策略
①. 简述java内存分配与回收策率以及Minor GC和Major GC
6、虚拟机类加载机制
7、JVM调优