前言
我分享的这份春招 Java 后端开发面试总结包含了 JavaOOP、Java 集合容器、Java 异常、并发编程、Java 反射、Java 序列化、JVM、Redis、Spring MVC、MyBatis、MySQL 数据库、消息中间件 MQ、Dubbo、Linux、ZooKeeper、 分布式 &数据结构与算法等 25 个专题技术点,都是小编在各个大厂总结出来的面试真题,已经有很多粉丝靠这份 PDF 拿下众多大厂的 offer,今天在这里总结分享给到大家!
我这篇分享篇幅可能有点长,观看的朋友可以先了解一下目录
JavaOOP 面试题
Java 集合/泛型面试题
Java 异常面试题
Java 中的 IO 与 NIO 面试题
Java 反射面试题
Java 序列化面试题
Java 注解面试题
多线程 &并发面试题
JVM 面试题
Mysql 面试题
Redis 面试题
Memcached 面试题
MongoDB 面试题
String 面试题
Spring Cloud 面试题
RabbitMQ 面试题
Dubbo 面试题
MyBatis 面试题
ZooKeeper 面试题
数据结构面试题
算法面试题
Elasticsearch 面试题
Kafka 面试题
微服务 面试题
Linux 面试题
由于篇幅有限,每个专题面试题只有部分的面试题,下面是整理的合集,以及一些我认识的HR发我的招聘信息,如果有需要,我可以给你们内推
一、JavaOOP 面试题
1、short s1 = 1; s1 = s1 + 1;有错吗? short s1 = 1; s1 += 1; 有错吗?
2、重载和重写的区别
3、数组实例化有几种方式?
4、Java 中各种数据默认值
5、Object 类常用方法有那些?
6、java 中是值传递引用传递?
7、形参与实参区别
8、构造方法能不能重写?能不能重载?
9、内部类与静态内部类的区别?
10、Static 关键字有什么作用?
11、final 在 java 中的作用,有哪些用法?
12、String str=”aaa”,与 String str=new String(“aaa”)一样吗?
13、讲下 java 中的 math 类有那些常用方法?
14、Char 类型能不能转成 int 类型?能不能转化成 string 类型,能不能转成 double 类型
15、什么是拆装箱?
16、Java 中的包装类都是那些?
17、一个 java 类中包含那些内容?
18、那针对浮点型数据运算出现的误差的问题,你怎么解决?
19、面向对象的特征有哪些方面?
20、访问修饰符 public,private,protected,以及不写(默认) 时的区别?
21、接口有什么特点?
22、抽象类和接口的区别?
23、Hashcode 的作用
24、普通类与抽象类有什么区别?
25、什么是接口?为什么需要接口?
26、接口有什么特点?
27、拷贝和浅拷贝的区别是什么?
28、JDBC 操作的步骤
29、什么时候用 assert
30、数组有没有 length()这个方法? String 有没有 length()这个方法
31、用最有效率的方法算出 2 乘以 8 等于几?
32、String 和 StringBuilder、StringBuffer 的区别?
33、接口是否可继承(extends)接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concreteclass)?
34、一个”.java”源文件中是否可以包含多个类(不是内部类)?有什么限制?
35、Java 中的 final 关键字有哪些用法?
二、Java 集合/泛型面试题
1、ArrayList 和 linkedList 的区别
2、HashMap 排序题
3、Collection 包结构,与 Collections 的区别
4、带集合参数的构造器
5、说说 List,Set,Map 三者的区别
6、并发集合和普通集合如何区别?
7、Map 有什么特点
8、集合类存放于 Java.util 包中, 主要有几 种接口
9、什么是 list 接口
10、说说 ArrayList(数组)
11、Vector( 数组实现、 线程同步)
12、说说 LinkList(链表)
13、什么 Set 集合
14、HashSet( Hash 表)
15、什么是 TreeSet(二叉树)
16、List 和 Map、Set 的区别?
17、数组和链表分别比较适合用于什么场景,为什么?
18、说说 ConcurrentHashMap
19、Java 中 ArrayList 和 LinkedList 区别?
20、TreeMap(可排序)
21、请用两个队列模拟堆栈结构?
22、Map 中的 key 和 value 可以为 null?
23、数据结构基础之双向链表
24、HashMap 的底层实现
25、ConcurrentHashMap 和 Hashtable 的区别
26、说出 ArrayList,Vector,LinkedList 的存储性能和特性
27、你所知道的集合类都有哪些?主要方法?
28、HashMap 原理,java8 做了什么改变
29、poll()方法和 remove()方法的区别?
30、写一段代码在遍历 ArrayList 时移除一个元素
三、Java 异常面试题
1、Java 中异常分为哪两种?
编译时异常
运行时异常
2、异常的处理机制有几种?
异常捕捉:try…catch…finally,异常抛出:throws。 public class Box { private T t; public void add(T t) { this.t = t; }public T get() { return t; } }
3、如何自定义一个异常
继承一个异常类,通常是 RumtimeException 或者 Exception
4、try catch fifinally,try 里有 return,finally 还执行么?
执行,并且 finally 的执行早于 try 里面的 return
结论:
1、不管有木有出现异常,finally 块中代码都会执行;
2、当 try 和 catch 中有 return 时,finally 仍然会执行;
3、finally 是在 return 后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管 finally 中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在 finally 执行前确定的;
4、finally 中最好不要包含 return,否则程序会提前退出,返回值不是 try 或 catch 中保存的返回值。
5、 Excption 与 Error 包结构
6、Thow 与 thorws 区别
7、Error 与 Exception 区别?
8、error 和 exception 有什么区别
9、final、finally、finalize 的区别?
10、Java 异常处理机制的理解?
11、说出最常见的 5 个 RuntimeException?
12、throw 和 throws 的区别?
13、JAVA 中 Exception 和 Error 面试问题
14、在 Java 异常处理的过程中,你遵循的那些最好的实践是什么?
15、throw 和 throws 这两个关键字在 java 中有什么不同?
16、你曾经自定义实现过异常吗?怎么写的?
17、你遇到过 OutOfMemoryError 错误嘛?你是怎么搞定的?
18、Java 中的异常处理机制的简单原理和应用。
19、最常见到的 5 个 runtime exception。
20、JAVA 语言如何进行异常处理,关键字:throws,throw,try,catch,finally 分别代表什么意义?在 try 块中可以抛出异常吗?
四、Java 中的 IO 与 NIO 面试题
1、Java 中 IO 流?
2、字节流如何转为字符流?
3、常用 io 类有那些
4、如何将一个 java 对象序列化到文件里?
5、阻塞 IO 模型
6、字节流和字符流的区别?
7、多路复用 IO 模型
8、如何实现对象克隆?
9、异步 IO 模型
10、什么是 java 序列化,如何实现 java 序列化?
11、NIO 的缓冲区
12、面向 Stream 和面向 Buffer
13、Channel
14、NIO 和 IO 对应用的设计有何影响
15、Selector
16、Java IO 与 NIO 的区别
17、字节流与字符流的区别
18、非阻塞 IO 模型
19、信号驱动 IO 模型
20、NIO 的非阻塞
21、Buffer
22、JAVA NIO
五、Java 反射面试题
1、什么是反射?
2、Java 反射创建对象效率高还是通过 new 创建对象的效率高?
3、什么叫对象序列化,什么是反序列化,实现对象序列化需要做哪些工作?
4、哪里会用到反射机制?
5、反射机制的优缺点?
6、实现 Java 反射的类:
7、动态代理是什么?有哪些应用?
8、Java 反射 API
9、如何使用 Java 的反射?
10、获取 Class 对象有几种方法
11、除了使用 new 创建对象之外,还可以用什么方法创建对象?
12、java 反射的作用
13、反射的实现方式:
14、反射使用步骤(获取 Class 对象、调用对象方法)
六、Java 序列化面试题
1、什么是 java 序列化?
2、保存(持久化)对象及其状态到内存或者磁盘
3、序列化对象以字节数组保持-静态成员不保存
4、Serializable 实现序列化
5、序列化 ID
6、序列化用户远程对象传输
7、writeObject 和 readObject 自定义序列化策略
8、序列化并不保存静态变量
9、序列化(深 clone 一中实现)
10、Transient 关键字阻止该变量被序列化到文件中
11、如何实现 java 序列化?
12、Transient 关键字阻止该变量被序列化到文件中
13、静态变量的序列化?
七、Java 注解面试题 1、4 种标准元注解是哪四种?
2、什么是注释?他们的典型用例是什么?
3、从标准库中描述一些有用的注释。
4、注解是什么?
5、可以从注释方法声明返回哪些对象类型?
6、哪些程序元素可以注释?
7、有没有办法限制可以应用注释的元素?
8、什么是元注释?
9、什么是重复注释?
10、你怎么能检索注释?这与保留政策有何关系?
11、Q11,是否可以扩展注释?
需要的可以--点击此处 即可