前言
時間飛逝,轉眼間畢業兩年多,從事 Java 開發三年了。我在想,也是時候將自己的 Java 整理成一套體系。 這一次的知識體系面試題涉及到 Java 知識部分、性能優化、微服務、併發編程、開源框架、分佈式等多個方面的知識點。
寫這一套 Java 面試必備系列文章的初衷。
- 整理自己學過的知識,總結,讓其成爲一套體系,方便日後查閱。
- 現在不少 Java 開發者還比較迷茫,沒有形成自己的一套知識體系。希望這一系列的文章能夠幫助他們。
由於頭條的字數限制,小編只展示了部分的目錄和內容,有需要獲取面試體系文檔的朋友可以點贊文章並關注作者,然後點擊這裏即可獲得以上所有面試PDF文檔資料的領取方式!
Java面試高級手冊
一、性能優化面試專欄
(1)tomcat性能優化整理
- 你怎樣給tomcat調優
- 如何加大comcat連接數
- 怎樣加大tomcat的內存
- tomcat中如何禁止列目錄下的文件
- Tomcat有幾種部署方式
- Tomcat的優化經驗
(2)JVM性能優化專題
- Java類加載過程
- java內存分配
- 描述一下JVM加載Class文件的原理機制?
- GC是什麼?爲什麼要有GC?
- 簡述Java垃圾回收機制。
- 如何判斷一個對象是否存活?(或者GC對象的判定方法)
- 垃圾回收的優點和原理。並考慮2種回收機制。
- 垃圾回收器的基本原理是什麼?垃圾回收器可以馬上回收內存嗎?有什麼辦法主動通知虛擬機進行垃圾回收?
- Java中會存在內存泄漏嗎,請簡單描述。
- 深拷貝和淺拷貝。
- System.gc0和Runtime.gc0會做什麼事情?
- finalize0 方法什麼時候被調用?析構函數(finalization)的目的是什麼?
- 如果對象的引用被置爲null,垃圾收集器是否會立即釋放對象佔用的內存?
- 什麼是分佈式垃圾回收(DGC)?它是如何工作的?
- 串行(serial)收集器和吞吐量(throughput)收集器的區別是什麼?
- 在Java中,對象什麼時候可以被垃圾回收?
- 簡述Java內存分配與回收策率以及Minor GC和Major GC。
- JVM的永久代中會發生垃圾回收麼?
- Java中垃圾收集的方法有哪些?
- 什麼是類加載器,類加載器有哪些?
- 類加載器雙親委派模型機制?
(3)Mysql性能優化整理
二、微服務架構面試專欄
(1)SpringCloud面試整理
- 什麼是Spring Cloud?
- 使用Spring Cloud有什麼優勢?
- 服務註冊和發現是什麼意思?Spring Cloud如何實現?
- 負載平衡的意義什麼?
- 什麼是Hystrix?它如何實現容錯?
- 什麼是Hystrix斷路器?我們需要它嗎?
- 什麼是Netflix Feign?它的優點是什麼?
- 什麼是Spring Cloud Bus?我們需要它嗎?
(2)SpringBoot面試整理
- 什麼是Spring Boot?
- Spring Boot有哪些優點?
- 什麼是JavaConfig?
- 如何重新加載Spring Boot.上的更改,而無需重新啓動服務器?
- Spring Boot中的監視器是什麼?
- 如何在Spring Boot中禁用Actuator端點安全性?
- 如何在自定義端口上運行Spring Boot應用程序?
- 什麼是YAML?
- 如何實現Spring Boot應用程序的安全性?
- 如何集成Spring Boot和ActiveMQ?
- 如何使用Spring Boot實現分頁和排序?
- 什麼是Swagger?你用Spring Boot實現了它嗎?
- 什麼是Spring Profiles?
- 什麼是Spring Batch?
- 什麼是FreeMarker模板?
- 如何使用Spring Boot實現異常處理?
- 您使用了哪些starter maven依賴項?
- 什麼是CSRF攻擊?
- 什麼是WebSockets?
(3)Dubbo面試整理
- Dubbo 中zookeeper做註冊中心,如果註冊中心集羣都掛掉,發佈者和訂閱者之間還能通信麼?
- dubbo服務負載均衡策略?
- Dubbo在安全機制方面是如何解決的
- dubbo連接註冊中心和直連的區別
三、併發編程高級面試專欄
- Synchronized用過嗎,其原理是什麼?
- 你剛纔提到獲取對象的鎖,這個“鎖”到底是什麼?如何確定對象的鎖
- 什麼是可重入性,爲什麼說Synchronized是可重入鎖?
- JVM對Java的原生鎖做了哪些優化?
- 爲什麼說Synchronized是非公平鎖?
- 什麼是鎖消除和鎖粗化?
- 爲什麼說Synchronized是一個悲觀鎖?樂觀鎖的實現原理又是什麼?
- 樂觀鎖-定就是好的嗎?
- 跟Synchronized相比,可重入鎖ReentrantLock其實現原理有什麼不同?
- 那麼請談談AQS框架是怎麼回事兒?
- 請儘可能詳盡地對比下Synchronized和ReentrantLock的異同。
- ReentrantLock是如何實現可重入性的?
- 除了ReetrantL ock,你還接觸過JUC中的哪些併發工具?
資料領取方式:點擊這裏即可獲取資料免費領取方式!
四、開源框架面試題專欄
(1)Spring面試整理
- 什麼是Spring框架?Spring框架有哪些主要模塊?
- 使用Spring框架能帶來哪些好處?
- 什麼是控制反轉(10C)?什麼是依賴注入?
- 請解釋下Spring框架中的loC?
- BeanFactory和ApplicationContext有什麼區別?
- Spring有幾種配置方式?
- 如何用基於XML配置的方式配置Spring?
- 如何用基於Java配置的方式配置Spring?
- Spring Bean的作用域之間有什麼區別?
- Spring框架中的單例Beans是線程安全的麼?
- 如何開啓基於註解的自動裝配?
- 構造方法注入和設值注入有什麼區別?請注意以下明顯的區別:
- Spring框架中有哪些不同類型的事件?
(2)SpringMVC面試整理
- SpingMvc中的控制器的註解一般用那個,有沒有別的註解可以替代?
- @RequestMapping註解用在類.上面有什麼作用?
- 怎麼樣把某個請求映射到特定的方法上面?
- 如果在攔截請求中,我想攔截get方式提交的方法,怎麼配置?
- 怎麼樣在方法裏面得到Request,或者Session?
- 我想在攔截的方法裏面得到從前臺傳入的參數,怎麼得到?
- SpringMvc中函數的返回值是什麼?
- SpringMVC怎麼樣設定重定向和轉發的?
- SpringMvc中有個類把視圖和數據都合併的一起的,叫什麼?
- 怎麼樣把ModelMap裏面的數據放入Session裏面?
(3)MyBatis面試整理
- #0和$O的區別是什麼?
- 7、爲什麼說Mybatis是半自動ORM映射工具?它與全自動的區別在哪裏?
- 簡述Mybatis的Xml映射文件和Mybatis內部數據結構之間的映射關係?
- 什麼是MyBatis的接口綁定,有什麼好處?
- Xml映射文件中,除了常見的selectlinsertlupdaeldelete標籤之外,還有哪些標籤?
- Mybatis 能執行-對一、- 對多的關聯查詢嗎?都有哪些實現方式,以及它們之間的區別?
- MyBatis裏面的動態Sql是怎麼設定的?用什麼語法?
- 當實體類中的屬性名和表中的字段名不- -樣,如果將查詢的結果封裝到指定pojo?
- Mybatis 映射文件中,如果A標籤通過include引用了B標籤的內請問,B標籤能否定義在A標籤的後面,還是說必須定義在A標籤的前面?
- Mybatis 的Xml映射文件中,不同的Xml映射文件,id 是否可以重複?
- Mybatis中如何執行批處理?
- 使用MyBatis的mapper接口調用時有哪些要求?
- IBatis和MyBatis在細節上的不同有哪些?
五、分佈式面試專欄
部分目錄展示:
資料領取方式:點贊後,點擊這裏即可獲取資料免費領取方式!
有需要獲取面試體系文檔的朋友可以轉發文章並關注作者,然後私信回覆“面試”即可獲得以上所有面試PDF文檔資料的領取方式!以前沒獲取到的粉絲或者小夥伴們都可以獲取參考哦