Java 面試題,持續更新

基礎:

JDK 和 JRE 的區別

== 和 equals 的區別

基本類型和包裝類對象使用 == 和 equals進行比較的結果?

什麼是裝箱?什麼是拆箱?裝箱和拆箱的執行過程?常見問題?

hashCode()相同,equals() 也一定爲 true嗎?

final 在 java 中的作用

final finally finalize()區別

finally語句塊一定執行嗎?

final 與 static 的區別

return 與 finally 的執行順序對返回值的影響

String對象中的replace和replaceAll的區別?

Math.round(-1.5) 等於多少?

String 屬於基礎的數據類型嗎?

java 中操作字符串都有哪些類?它們之間有什麼區別?

如何將字符串反轉?

String 類的常用方法

普通類和抽象類有哪些區別?

抽象類必須要有抽象方法嗎?

抽象類能使用 final 修飾嗎?

接口和抽象類有什麼區別?

Java4種訪問修飾符權限的區別?

Java中的 << << >>> 是什麼?

javap 指令

throw 和 throws 的區別?

try-catch-finally 中哪個部分可以省略?

常見的異常類有哪些?

 

IO:

java 中 IO 流有哪些?

BIO、NIO、AIO 有什麼區別?

什麼是JAVA內部類?

nio中的Files類常用方法

 

集合:

java 有哪些常用容器(集合)?

Collection 和 Collections 有什麼區別?

List、Set、Map 之間的區別是什麼?

HashMap 和 Hashtable 有什麼區別?

使用 HashMap 還是 TreeMap?

HashMap 的實現原理

HashSet 的實現原理

ArrayList 和 LinkedList 的區別

如何實現數組和 List 之間的轉換?

ArrayList 和 Vector 的區別是什麼?

Array 和 ArrayList 有何區別?

在 Queue 中 add() 和 offer()有什麼區別?

Queue 中 remove() 和 poll()有什麼區別?

在 Queue 中 element() 和 peek()有什麼區別?

哪些集合類是線程安全的?

迭代器 Iterator 是什麼?

Iterator 怎麼使用?有什麼特點?

Iterator 和 ListIterator 有什麼區別

怎麼確保一個集合不能被修改?

 

併發:

並行和併發有什麼區別?

線程和進程的區別?

守護線程是什麼?

創建線程有哪些方式?

sleep() 和 wait() 有什麼區別?

Runnable 和 Callable 有什麼區別?

線程有哪些狀態?

notify() 和 notifyAll() 有什麼區別?

JDK1.8 創建線程池有哪幾種方式?

線程池有哪些狀態?

線程池中 submit() 和 execute()方法有什麼區別?

java 程序中怎麼保證多線程的運行安全?

多線程鎖的升級原理是什麼?

什麼是死鎖?

怎麼防止死鎖?

ThreadLocal 是什麼?有哪些使用場景?

synchronized 底層實現原理?

synchronized 和 volatile 的區別是什麼?

synchronized 和 Lock 有什麼區別?

synchronized 和 ReentrantLock 區別是什麼?

ReadWriteLock 如何使用?

JDK 中 Atomic 開頭的類實現原子性的原理是什麼?

介紹一下 ForkJoinPool

LongAdder 與AtomicLong有什麼區別?

 

反射:

什麼是反射?

動態代理是什麼?應用場景?

怎麼實現動態代理?

 

序列化:

什麼是 java 序列化?什麼情況下需要序列化?

 

克隆:

什麼場景要對象克隆?

如何實現對象克隆?

深拷貝和淺拷貝區別是什麼?

 

web:

jsp 和 servlet 有什麼區別?

jsp 有哪些內置對象?作用分別是什麼?

jsp 的 4 種作用域?

session 和 cookie 有什麼區別?

session 的工作原理?

客戶端禁止 cookie,session 還能用嗎?

http 響應碼 301 和 302 代表的是什麼?有什麼區別?

forward 和 redirect 的區別?

tcp 和 udp 的區別?

tcp 爲什麼要三次握手,兩次不行嗎?爲什麼?

tcp 粘包是怎麼產生的?

OSI 的七層模型有哪些?

get 和 post 請求有哪些區別?

如何實現跨域?

JSONP 實現原理?

 

安全:

如何避免 sql 注入?

什麼是 XSS 攻擊,如何避免?

什麼是 CSRF 攻擊,如何避免?

 


設計模式:

常用的設計模式?

簡單工廠和抽象工廠有什麼區別?

 

Spring框架:

爲什麼要使用 spring 框架?

什麼是 aop?

什麼是 ioc?

spring 有哪些主要模塊?

spring 常用的注入方式有哪些?

spring 中的 bean 是線程安全的嗎?

spring 支持幾種 bean 的作用域?

spring 自動裝配 bean 有哪些方式?

spring 事務實現方式有哪些?

介紹一下 spring mvc

spring mvc 運行流程?

spring mvc 有哪些組件?

@RequestMapping 的作用是什麼?

@Autowired 的作用是什麼?

什麼是 spring boot?

爲什麼要用 spring boot?

spring boot 核心配置文件是什麼?

spring boot 有哪些方式可以實現熱部署?

什麼是 spring cloud?

spring cloud 斷路器的作用是什麼?

spring cloud 的核心組件有哪些?

 

ORM 框架

什麼是 ORM 框架?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章