前言
金三银四已经来了,有好多小伙伴都在问有没有整理一些去年的一些面试题,最近抽时间整理了一份Java面试题。或许这份面试题还不足以囊括所有 Java 问题,但有了它,我相信足以应对目前市面上绝大部分的 Java 面试了,因为这篇文章不论是从深度还是广度上来讲,都已经囊括了非常多的知识点了。
这份面试题的包含的模块分为19个模块,分别是: Java 基础、容器、多线程、反射、对象拷贝、Java Web 、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、MyBatis、RabbitMQ、Kafka、Zookeeper、MySQL、Redis、JVM 。如下图所示
本文主要就是为读者朋友们整理一份比较实用的面试清单,下面一起进入主题吧。
面试题总结
一、Java基础系列面试题
1. JDK 和 JRE 有什么区别?
2. == 和 equals 的区别是什么
3. 两个对象的 hashCode() 相同,则 equals() 也一定为 true,对吗?
4. final 在 Java 中有什么作用?
5. Java 中的 Math. round(-1. 5) 等于多少?
6. String 属于基础的数据类型吗?
7. Java 中操作字符串都有哪些类?它们之间有什么区别?
8. String str="i"与 String str=new String(“i”)一样吗?
9. 如何将字符串反转?
10. String 类的常用方法都有那些?
11. 抽象类必须要有抽象方法吗?
12. 普通类和抽象类有哪些区别?
13. 抽象类能使用 final 修饰吗?
14. 接口和抽象类有什么区别?
15. Java 中 IO 流分为几种?
16. BIO、NIO、AIO 有什么区别?
17. Files的常用方法都有哪些?
二、容器系列面试题
18. Java 容器都有哪些?
19. Collection 和 Collections 有什么区别?
20. List、Set、Map 之间的区别是什么?
21. HashMap 和 Hashtable 有什么区别?
22. 如何决定使用 HashMap 还是 TreeMap?
23. 说一下 HashMap 的实现原理?
24. 说一下 HashSet 的实现原理?
25. ArrayList 和 LinkedList 的区别是什么?
26. 如何实现数组和 List 之间的转换?
27. ArrayList 和 Vector 的区别是什么?
28. Array 和 ArrayList 有何区别?
29. 在 Queue 中 poll()和 remove()有什么区别?
30. 哪些集合类是线程安全的?
31. 迭代器 Iterator 是什么?
32. Iterator