Java面试题:最常见的200道面试题,面试必备面试题模块介绍 这份面试题包含的内容了十九了模块:Java基础、容器、多线程、反射、对象拷贝、Java Web模块、异常、网络、设计模式、Spring/Spring MVC、SpringBoot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM。
可能对于初学者不需要后面的框架和JVM模块的知识,读者朋友们可根据自己的情况,选择对应的模块进行阅读。
适宜阅读人群
需要面试的初/中/高级java程序员 想要查漏补缺的人
想要不断完善和扩充自己java技术栈的人 java面试官 具体面试题
下面一起来看208道面试题,具体的内容。 一、Java基础
1、JDK和JRE有什么区别? 2、==和equals的区别是什么?
3、两个对象的hashCode()相同,则equals()也一定为true,对吗? 4、final在java中有什么作用?
5、java中的Math、round(-1、5)等于多少? 6、String属于基础的数据类型吗?
7、java中操作字符串都有哪些类?它们之间有什么区别?
1 / 12
8、String str=\与String str=new String(“i”)一样吗? 9、如何将字符串反转?
10、String类的常用方法都有那些? 11、抽象类必须要有抽象方法吗? 12、普通类和抽象类有哪些区别? 13、抽象类能使用final修饰吗? 14、接口和抽象类有什么区别? 15、javaxxIO流分为几种? 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的区别是什么?
2 / 12
28、Array和ArrayList有何区别?
29、在Queue中poll()和remove()有什么区别? 30、哪些集合类是线程安全的? 31、迭代器Iterator是什么? 32、Iterator怎么使用?有什么特点? 33、Iterator和ListIterator有什么区别? 34、怎么确保一个集合不能被修改? 三、多线程
35、并行和并发有什么区别? 36、线程和进程的区别? 37、守护线程是什么? 38、创建线程有哪几种方式?
39、说一下runnable和callable有什么区别? 40、线程有哪些状态?
41、sleep()和wait()有什么区别? 42、notify()和notifyAll()有什么区别? 43、线程的run()和start()有什么区别? 44、创建线程xx有哪几种方式? 45、线程池都有哪些状态?
46、线程池中submit()和execute()方法有什么区别? 47、在java程序中怎么保证多线程的运行安全?
3 / 12
48、多线程锁的升级原理是什么? 49、什么是死锁? 50、怎么防止死锁?
51、ThreadLocal是什么?有哪些使用场景? 52、说一下synchronized底层实现原理? 53、synchronized和volatile的区别是什么? 54、synchronized和Lock有什么区别?
55、synchronized和ReentrantLock区别是什么? 56、说一下atomic的原理? 四、反射
57、什么是反射?
58、什么是java序列化?什么情况下需要序列化? 59、动态代理是什么?有哪些应用? 60、怎么实现动态代理? 五、对象拷贝
61、为什么要使用xx? 62、如何实现对象xx?
63、深拷贝和浅拷贝区别是什么? 六、Java Web
64、jsp和servlet有什么区别?
65、jsp有哪些内置对象?作用分别是什么?
4 / 12
66、说一下jsp的4种作用域? 67、session和cookie有什么区别? 68、说一下session的工作原理?
69、如果客户端禁止cookie能实现session还能用吗? 70、spring mvc和struts的区别是什么? 71、如何避免sql注入?
72、什么是XSS攻击,如何避免? 73、什么是CSRF攻击,如何避免? 七、异常
74、throw和throws的区别?
75、final、finally、finalize有什么区别? 76、try-catch-finally中哪个部分可以省略?
77、try-catch-finally中,如果catch中return了,finally还会执行吗?78、常见的异常类有哪些?
八、网络
79、http响应码301和302代表的是什么?有什么区别? 80、forward和redirect的区别? 81、简述tcp和udp的区别?
82、tcp为什么要三次握手,两次不行吗?为什么? 83、说一下tcp粘包是怎么产生的? 84、OSI的七层模型都有哪些?
5 / 12