JVM相關面試題
1.Java中你怎樣喚醒一個阻塞的線程?
2.在 Java中CycliBarriar和CountdownLatch有什麼區別?
3.為什麼我們調用start()方法時會執行 run()方法,為什麼我們不能直接調用 run()方法?
4.垃圾回收與算法、如何確定垃圾、標記清除算法、複製算法、標記整理算法、分代收集算法
5.GC分代收集算法VS分區收集算法、分代收集算法、分區收集算法
6.程序計數器(線程私有)、虛擬機棧(線程私有)
7.JVM類加載機制、驗證、加載、準備、直接引用、類構造器、符號引用......
8.描述一下JVM 加載class文件的原理機制
9.堆(Heap-線程共享) -運行時數據區
10.JVM運行時內存、新生代、老年代、永久代
11.描述一下JVM加載class文件的原理機制?
12.Java對象創建過程、簡述Java的對象結構、
13.如何判斷對象可以被回收?
14.JVM的永久代中會發生垃圾回收麼
15.垃圾收集算法、GC最基礎的算法有哪幾種?
Spring相關面試題
1.如何理解Spring Boot 中的 Starters?
2.什麼是spring Framework?
3.運行Spring Boot有哪幾種方式?
4.如何使用Spring Boot實現異常處理?
5.Spring Boot中的監視器是什麼?
6.列舉spring Framework 的優點
7.什麼是spring 配置文件?
8.SpringBoot實現熱部署有哪幾種方式
9.Spring Boot的核心配置文件有哪幾個?它們的區別是什麼?
10.服務註冊和發現是什麼意思?Spring Cloud 如何實現?
11.負載平衡的意義什麼?什麼是Hystrix?它如何實現容錯?
12.什麼是Spring Cloud Bus?我們需要它嗎?
13.SpringMvc的控制器是不是單例模式,如果是,有什麼問題,怎麼解決?
14.如果你也用過 struts2簡單介紹下 springMVC和struts2的區別有哪些?
15.SpringMVC怎麼樣設定重定向和轉發的?
16.SpringMvc裡面攔截器是怎麼寫的?
17.什麼是Spring IOC 容器?
18.什麼是依賴注入?可以通過多少種方式完成依賴注入?
19.區分BeanFactory和ApplicationContext
20.spring bean 容器的生命周期是什麼樣的?
21.什麼是spring的內部bean?什麼是spring裝配?
22.@Component, @Controller, @Repository, @Service 有何區別?
23.@Required註解有什麼用?@Autowired註解有什麼用?
24.@RequestMapping 註解有什麼用?@Qualifier 註解有什麼用?
25.spring支持哪些ORM 框架?
26.什麼是Aspect?什麼是切點(JoinPoint)?什麼是通知(Advice)?有哪些類型的通知(Advice)?
27.描述一下DispatcherServlet的工作流程
28.介紹一下WebApplicationContext
多線程並發相關面試題
1.Java線程實現/創建方式、Java並發知識庫
2.繼承Thread類、實現Runnable接口
3.volatile是什麼?可以保證有序性嗎?
4.Thread類中的start() 和 run() 方法有什麼區別?
5.為什麼wait和notify方法要在同步塊中調用?
6.為什麼wait, notify 和notifyAll這些方法不在thread類裡面?
7.線程生命周期(狀態)、終止線程的4種方式、使用退出標記退出線程、stop方法終止線程
8.線程喚醒(notify)、線程其他方法、進程、上下文。寄存器、程序計數器、PCB-「切換楨」
9.什麼是CAS(比較並交換-樂觀鎖機制-鎖自旋)、概念及特性、原子包、ABA問題
10.同步鎖、死鎖、線程池原理、線程復、線程池的組成
11.reentrantreadwritelock實現獨佔鎖和共享兩種方式
12.sleep與wait區別、start與run區別、Java後臺線程
13.死鎖與活鎖的區別,死鎖與飢餓的區別?
14.什麼是多線程中的上下文切換?
15.Java中用到的線程調度算法是什麼?
16.什麼是線程組,為什麼在 Java 中不推薦使用?
17.什麼是阻塞隊列?阻塞隊列的實現原理是什麼?如何使用阻塞隊列來實現生產者-消費者模型?
18.什麼是FutureTask?使用ExecutorService啟動任務
19.線程同步和互斥有幾種實現方法,都是什麼?
20.為什麼我們調用start()方法時會執行run()方法,為什麼我們不能直接調用run()方法?
21.解釋Java堆空間及 GC?
MyBatis相關面試題
1.Mybatis是什麼?
2.Mybaits的優點?MyBatis 框架的缺點?
3.MyBatis框架適用場合
4.MyBatis與Hibernate有哪些不同?
5.#{}和${}的區別是什麼?
6.模糊查詢like語句該怎麼寫?
7.Mybatis是如何進行分頁的?分頁插件的原理是什麼?
8.為什麼說Mybatis是半自動ORM映射工具?它與全自動的區別在哪裡?
9.MyBatis實現一對一有幾種方式?具體怎麼操作的?
10.MyBatis實現一對多有幾種方式,怎麼操作的?
11.Mybatis是否支持延遲加載?如果支持,它的實現原理是什麼?
12.Mybatis的一級、二級緩存
13.什麼是MyBatis的接口綁定?有哪些實現方式?
14.使用MyBatis的 mapper接口調用時有哪些要求?
15.Mapper編寫有哪幾種方式?
16.MyBatis實現一對一有幾種方式?具體怎麼操作的 ?
17.Mybatis是如何進行分頁的?分頁插件的原理是什麼?
18.一對一、一對多的關聯查詢 ?
19.簡述Mybatis 的插件運行原理,以及如何編寫一個插件。
20.為什麼說Mybatis 是半自動 ORM 映射工具?它與全自動的區別在哪裡?
微服務相關面試題
1.前後端分離是如何做的?微服務哪些框架?
2.說說 RPC的實現原理、說說Dubbo的實現原理
3.微服務架構有哪些優勢?微服務有哪些特點?
4.設計微服務的最佳實踐是什麼?
5.微服務架構如何運作?
6.微服務架構的優缺點是什麼?
7.單片,SOA和微服務架構有什麼區別?
8.SOA和微服務架構之間的主要區別是什麼?
9.API管理
10.服務熔(hystrix)、服務跟蹤(starter-sleuth)
11.什麼是有界上下文?什麼是雙因素身份驗證?什麼是客戶證書?
12.PACT在微服務架構中的用途是什麼?
13.什麼是OAuth?康威定律是什麼?什麼是端到端微服務測試?
14.您對微服務架構中的語義監控有何了解?該如何進行跨功能測試?
15.什麼是消費者驅動的合同(CDC)?
ZooKeeper 相關面試題
1.ZooKeeper是什麼?
2.ZooKeeper提供了什麼?
3.Zookeeper文件系統
4.四種類型的znode
5.Zookeeper通知機制
6.Zookeeper做了什麼?
7.客戶端註冊Watcher 實現、服務端處理Watcher 實現
8.客戶端回調Watcher
9.ACL權限控制機制
10.Chroot特性
11.會話管理、伺服器角色
12.Zookeeper分布式鎖(文件系統、通知機制)
13.獲取分布式鎖的流程
14.分布式集群中為什麼會有Master?
15.zookeeper負載均衡和nginx 負載均衡區別
16.Zookeeper有哪幾種幾種部署模式?
17.說幾個zookeeper常用的命令
18.ZAB和Paxos算法的聯繫與區別?
19.Zookeeper的典型應用場景
20.chubby是什麼,和zookeeper比你怎麼看?
21.Zookeeper的 java客戶端都有哪些?
22.Zookeeper有哪幾種幾種部署模式?
23.Zookeeper隊列管理(文件系統、通知機制)
24.zk的命名服務(文件系統)
25.zk的配置管理(文件系統、通知機制)**
26.Zookeeper集群管理(文件系統、通知機制)**
27.Zookeeper的典型應用場景
28.ZAB和Paxos算法的聯繫與區別?
資料庫相關面試題
1.索引、常見索引原理 、限制索引的數目
2.mylasm、memory、tokudb、B+樹、概念
3.排序二叉樹、前綴樹、紅黑樹、位圖
4.資料庫並發策略、樂觀鎖、悲觀鎖、時間戳
5.基於Redis分布式鎖、兩階段提交協議、準備階段、提交階段、缺點
Java 並發編程相關面試題
1.什麼是多線程中的上下文切換?
2.死鎖與活鎖的區別,死鎖與飢餓的區別?
3.Java中用到的線程調度算法是什麼?
4.什麼是線程組,為什麼在 Java 中不推薦使用?
5.為什麼使用Executor 框架?
6.什麼是阻塞隊列?阻塞隊列的實現原理是什麼?如何使用阻塞隊列來實現生產者-消費者模型?
7.什麼是Callable 和 Future?
8.什麼是FutureTask?使用 ExecutorService 啟動任務
9.什麼是並發容器的實現?
10.多線程同步和互斥有幾種實現方法,都是什麼?
11.Java中你怎樣喚醒一個阻塞的線程?
12.在Java中CycliBarriar和CountdownLatch有什麼區別?
13.什麼是線程組,為什麼在Java中不推薦使用?
14.LinkedBlockingDeque
15.什麼是Daemon線程?它有什麼意義?
16.notify()和 notifyAll()有什麼區別?
17.如何停止一個正在運行的線程?
最後
考慮篇幅,就著重挑了一些常見的重要的面試題展示出來了。