前言
我分享的这份 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