开始的碎碎念
本文大多是各大企业的topN题目,针对java中高级开发,本文会持续收集更新内容,如果大家有优质的Java面试题,也欢迎大家来投稿。希望大家顺顺利利找到自己心仪的工作,加油!!!
Java基础系列面试题
Java基础
-
JDK 和 JRE 有什么区别?
-
== 和 equals 的区别是什么
-
两个对象的 hashCode() 相同,则 equals() 也一定为 true,对吗?
-
final 在 Java 中有什么作用?
-
Java 中的 Math. round(-1. 5) 等于多少?
-
String 属于基础的数据类型吗?
-
Java 中操作字符串都有哪些类?它们之间有什么区别?
-
String str="i"与 String str=new String(“i”)一样吗?
-
如何将字符串反转?
-
String 类的常用方法都有那些?
-
抽象类必须要有抽象方法吗?
-
普通类和抽象类有哪些区别?
-
抽象类能使用 final 修饰吗?
-
接口和抽象类有什么区别?
-
Java 中 IO 流分为几种?
-
BIO、NIO、AIO 有什么区别?
-
Files的常用方法都有哪些?
容器
-
Java 容器都有哪些?
-
Collection 和 Collections 有什么区别?
-
List、Set、Map 之间的区别是什么?
-
HashMap 和 Hashtable 有什么区别?
-
如何决定使用 HashMap 还是 TreeMap?
-
说一下 HashMap 的实现原理?
-
说一下 HashSet 的实现原理?
-
ArrayList 和 LinkedList 的区别是什么?
-
如何实现数组和 List 之间的转换?
-
ArrayList 和 Vector 的区别是什么?
-
Array 和 ArrayList 有何区别?
-
在 Queue 中 poll()和 remove()有什么区别?
-
哪些集合类是线程安全的?
-
迭代器 Iterator 是什么?
-
Iterator 怎么使用?有什么特点?
-
Iterator 和 ListIterator 有什么区别?
-
怎么确保一个集合不能被修改?
多线程
-
并行和并发有什么区别?
-
线程和进程的区别?
-
守护线程是什么?
-
创建线程有哪几种方式?
-
说一下 runnable 和 callable 有什么区别?
-
线程有哪些状态?
-
sleep() 和 wait() 有什么区别?
-
notify()和 notifyAll()有什么区别?
-
线程的 run() 和 start() 有什么区别?
-
创建线程池有哪几种方式?
-
线程池都有哪些状态?
-
线程池中 submit() 和 execute() 方法有什么区别?
-
在 Java 程序中怎么保证多线程的运行安全?
-
多线程中 synchronized 锁升级的原理是什么?
-
什么是死锁?
-
怎么防止死锁?
-
ThreadLocal 是什么?有哪些使用场景?
-
说一下 synchronized 底层实现原理?
-
synchronized 和 volatile 的区别是什么?
-
synchronized 和 Lock 有什么区别?
-
synchronized 和 ReentrantLock 区别是什么?
-
说一下 atomic 的原理?
反射
-
什么是反射?
-
什么是 Java 序列化?什么情况下需要序列化?
-
动态代理是什么?有哪些应用?
-
怎么实现动态代理?
对象拷贝
-
为什么要使用克隆?
-
如何实现对象克隆?
-
深拷贝和浅拷贝区别是什么?
Java Web
-
JSP 和 servlet 有什么区别?
-
JSP 有哪些内置对象?作用分别是什么?
-
说一下 JSP 的 4 种作用域?
-
session 和 cookie 有什么区别?
-
说一下 session 的工作原理?
-
如果客户端禁止 cookie 能实现 session 还能用吗?
-
spring mvc 和 struts 的区别是什么?
-
如何避免 SQL 注入?
-
什么是 XSS 攻击,如何避免?
-
什么是 CSRF 攻击,如何避免?
异常
-
throw 和 throws 的区别?
-
final、finally、finalize 有什么区别?
-
try-catch-finally 中哪个部分可以省略?
-
try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?
-
常见的异常类有哪些?
网络
-
http 响应码 301 和 302 代表的是什么?有什么区别?
-
forward 和 redirect 的区别?
-
简述 tcp 和 udp的区别?
-
tcp 为什么要三次握手,两次不行吗?为什么?
-
说一下 tcp 粘包是怎么产生的?
-
OSI 的七层模型都有哪些?
-
get 和 post 请求有哪些区别?
-
如何实现跨域?
-
说一下 JSONP 实现原理?
设计模式
-
说一下你熟悉的设计模式?
-
简单工厂和抽象工厂有什么区别?