說實話,不背肯定不行的,這些題目務必搞懂!
由于字數太多,所以只分類給出了面試題目,每道題的答案看文末
一、32 道 MySQL 面試題
1:MySQL 的邏輯架構了解嗎?
2:談一談 MySQL 的讀寫鎖
3:MySQL 的鎖策略有什么?
4:資料庫死鎖如何解決?
5:事務是什么?
6:事務有什么特性?
7:MySQL 的隔離級別有哪些?
8:MVCC 是什么?
9:談一談 InnoDB
10:談一談 MyISAM
11:談一談 Memory
12:查詢執行流程是什么?
13:VARCHAR 和 CHAR 的區別?
14:DATETIME 和 TIMESTAMP 的區別?
15:資料型別有哪些優化策略?
16:索引有什么作用?
17:談一談 MySQL 的 B-Tree 索引
18:了解 Hash 索引嗎?
19:什么是自適應哈希索引?
20 :什么是空間索引?
21:什么是全文索引?
22:什么是聚簇索引?
23:什么是覆寫索引?
24:你知道哪些索引使用原則?
25:索引失效的情況有哪些?
26:如何定位低效 SQL?
27:SHOW PROFILE 的作用?
28:trace 是干什么的?
29:EXPLAIN 的欄位有哪些,具有什么含義?
30:有哪些優化 SQL 的策略?
31:MySQL 主從復制的作用?
32:MySQL 主從復制的步驟?
二、15 道設計模式面試題
1:設計模式有哪些原則?
2:設計模式的分類,你知道哪些設計模式?
3:說一說簡單工廠模式
4:說一說工廠方法模式
5:抽象工廠模式了解嗎?
6:單例模式的特點是什么?
7:單例模式有哪些實作?
8:講一講代理模式
9:講一講裝飾器模式
10:裝飾器模式和動態代理的區別?
11:講一講配接器模式
12:配接器模式和和裝飾器模式以及代理模式的區別?
13:講一講策略模式
14:講一講模板模式
15:講一講觀察者模式
三、5 道 Mybatis 面試題
1:Mybatis 的優缺點?
2:Mybatis 的 XML 檔案有哪些標簽屬性?
3:Mybatis 的一級快取是什么?
4:Mybatis 的二級快取是什么?
5:Mybatis #{} 和 ${} 的區別?
四、4 道 Spring Data JPA 面試題
1:ORM 是什么?
2:JPA 如何使用?
3:JPA 物體類相關注解有哪些?
4:物件導航查詢是什么?
五、3 道 Spring MVC 面試題
1:Spring MVC 的處理流程?
2:Spring MVC 有哪些組件?
3:Spring MVC 的相關注解?
六、4 道 AOP 面試題
1:AOP 是什么?
2:AOP 的相關注解有哪些?
3:AOP 的相關術語有什么?
4:AOP 的程序?
七、11 道 Spring IoC 面試題
1:IoC 是什么?
2:IoC 容器初始化程序?
3:依賴注入的實作方法有哪些?
4:依賴注入的相關注解?
5:依賴注入的程序?
6:Bean 的生命周期?
7:Bean 的作用范圍?
8:如何通過 XML 方式創建 Bean?
9:如何通過注解創建 Bean?
10:如何通過注解組態檔?
11:BeanFactory、FactoryBean 和 ApplicationContext 的區別?
八、11 道 JUC 面試題
1:什么是 CAS?
2:CAS 有什么問題?
3:有哪些原子類?
4:AtomicIntger 實作原子更新的原理是什么?
5:CountDownLatch 是什么?
6: CyclicBarrier 是什么?
7:Semaphore 是什么?
8: Exchanger 是什么?
9:JDK7 的 ConcurrentHashMap 原理?
10:JDK8 的 ConcurrentHashMap 原理?
11:ArrayList 的執行緒安全集合是什么?
九、37 道并發面試題
1:JMM 的作用是什么?
2:as-if-serial 是什么?
3:happens-before 是什么?
4:as-if-serial 和 happens-before 有什么區別?
5:什么是指令重排序?
6:原子性、可見性、有序性分別是什么?
7:談一談 volatile
8:final 可以保證可見性嗎?
9:鎖優化有哪些策略?
10:自旋鎖是什么?
11:什么是自適應自旋?
12:鎖消除是什么?
13:鎖粗化是什么?
14:偏向鎖是什么?
15:輕量級鎖是什么?
16:偏向鎖、輕量級鎖和重量級鎖的區別?
17:Lock 和 synchronized 有什么區別?
18:ReentrantLock 的可重入是怎么實作的?
19:什么是讀寫鎖?
20:AQS 了解嗎?
21:AQS 有哪兩種模式?
22:AQS 獨占式獲取/釋放鎖的原理?
23:為什么只有前驅節點是頭節點時才能嘗試獲取同步狀態?
24:AQS 共享式式獲取/釋放鎖的原理?
25:執行緒的生命周期有哪些狀態?
26:執行緒的創建方式有哪些?
27:執行緒有哪些方法?
28:什么是守護執行緒?
29:執行緒通信的方式有哪些?
30:執行緒池有什么好處?
31:執行緒池處理任務的流程?
32:有哪些創建執行緒池的方法?
33:創建執行緒池有哪些引數?
34:如何關閉執行緒池?
35:執行緒池的選擇策略有什么?
36:阻塞佇列有哪些選擇?
37:談一談 ThreadLocal
十、32 道 JVM 面試題
1:運行時資料區是什么?
2:程式計數器是什么?
3:Java 虛擬機堆疊的作用?
4:本地方法堆疊的作用?
5:堆的作用是什么?
6:方法區的作用是什么?
7:運行時常量池的作用是什么?
8:直接記憶體是什么?
9:記憶體溢位和記憶體泄漏的區別?
10:堆溢位的原因?
11:堆疊溢位的原因?
12:運行時常量池溢位的原因?
13:方法區溢位的原因?
14:創建物件的程序是什么?
15:物件分配記憶體的方式有哪些?
16:物件分配記憶體是否執行緒安全?
17:物件的記憶體布局了解嗎?
18:物件的訪問方式有哪些?
19:如何判斷物件是否是垃圾?
20:Java 的參考有哪些型別?
21:有哪些 GC 演算法?
22:你知道哪些垃圾收集器?
23:ZGC 了解嗎?
24:你知道哪些記憶體分配與回收策略?
25:你知道哪些故障處理工具?
26:Java 程式是怎樣運行的?
27:類加載是什么?
28:類初始化的情況有哪些?
29:類加載的程序是什么?
30:有哪些類加載器?
31:雙親委派模型是什么?
32:如何判斷兩個類是否相等?
十一、6 道 IO 流面試題
1:同步/異步/阻塞/非阻塞 IO 的區別?
2:什么是 BIO?
3:什么是 NIO?
4:什么是 AIO?
5:java.io 包下有哪些流?
6:序列化和反序列化是什么?
十二、7 道集合面試題
1:說一說 ArrayList
2:說一說 LinkedList
3:Set 有什么特點,有哪些實作?
4:TreeMap 有什么特點?
5:HashMap 有什么特點?
6:HashMap 相關方法的原始碼?
7:HashMap 為什么執行緒不安全?
十三、10 道面向物件面試題
1:談一談你對面向物件的理解
2:面向物件的三大特性?
3:多載和重寫的區別?
4:類之間有哪些關系?
5:Object 類有哪些方法?
6:內部類的作用是什么,有哪些分類?
7:訪問權限控制符有哪些?
8:介面和抽象類的異同?
9:介面和抽象類應該怎么選擇?
10:子類初始化的順序
十四、12 道語言特性面試題
1:Java 語言的優點?
2:Java 如何實作平臺無關?
3:JDK 和 JRE 的區別?
4:Java 按值呼叫還是參考呼叫?
5:淺拷貝和深拷貝的區別?
6:什么是反射?
7:Class 類的作用?如何獲取一個 Class 物件?
8:什么是注解?什么是元注解?
9:什么是泛型,有什么作用?
10:泛型擦除是什么?
11:JDK8 新特性有哪些?
12:例外有哪些分類?
為了方便各位小伙伴能夠復習自己不懂的面試題,吳師兄把這些面試題的答案整理成了 PDF,免費送給大家,只求大家能夠一鍵三連,給大家看一下目錄,保證方便復習,

無論是為了復習,還是為了面試,這份面試題肯定可以助你一臂之力,大家可以在吳師兄的公眾號「五分鐘學演算法」后臺回復「Java面試題」,就可以免費獲取這份面試題的 PDF 版本,
另外,大家想看在線版的,也可以到吳師兄的個人網站來看,已經有十幾萬的小伙伴登錄學習了,點擊查看Java面試題
作者簡介
作者:大家好,我是程式員吳師兄,在 GitHub 上開源了一個專案 LeetCodeAnimation,目前有 60k star,通過影片的形式講解演算法,已經幫助成千上萬的程式員入門演算法了,歡迎關注公眾號「五分鐘學演算法」,和我們一起學習演算法,
轉載說明:未獲得授權,禁止轉載
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/286583.html
標籤:java
