阿里Java研發第2面,你覺得必問技術會是什麼?(P6+崗)

分享一個好消息,最近一個經常與我交流技術的粉絲朋友成功入職阿里!暫且叫他阿布吧。

絕大多數技術人都有個阿里夢,阿布也不例外。在準備跳槽的日子,阿布也到其它的大廠面試過,最終他選擇了阿里。阿布在10月份入職阿里菜鳥物流研發部,主要負責物流網絡系統研發,級別是P6+。

對很多人來說,每年的雙11都是個大挑戰。但是在阿里內部,其實阿布他們挺閒的,只需要通宵值班盯著系統的運行狀況,出了問題就忙,不出問題還是正常的。(一般都不會出問題【手動滑稽】)

阿里Java研發第2面,你覺得必問技術會是什麼?(P6+崗)

阿布去阿里面試一共4面,都是技術面,7年的工作經驗,加上前期的充分準備,勉強不那麼費力。

  • 第1面主要問算法,像sort排序方法,還有HASHMAP線程安全,還有spring的IOC和AOP及bean生命週期等;
  • 第2面問了很多JVM;
  • 然後第3面好像問了kafka,還有網絡安全https,死鎖等問題;
  • 第4面讓他畫了個架構圖,根據架構圖展開了提問,答上來之後就只用等著確定入職時間了。

今天主要跟大家分享下阿里第2面關於jvm的面試內容。阿里菜鳥P6除了基礎之外,源碼是必不可少的,大廠面試的內容其實都是類似的。以下是面試官提出的問題(阿布面試結束後整理的,大體沒差):

1、jvm類加載機制,每一步分別做了什麼?

2、JVM運行時數據區包括哪些部分,垃圾收集有哪些算法,各自的特點?如何確定被清除的對象?

JVM運行時數據區包括哪些部分?

垃圾收集有哪些算法,各自的特點?

如何確定被清除的對象?

3、JVM中的垃圾回收器有哪些?區別是什麼?

4、Mysql索引類型和區別?聚簇索引和非聚簇索引的區別?

5、事務的隔離級別

6、SpringBean創建過程中的用到了哪些設計模式?

7、談談IOC和AOP

8、概述下spring中bean的生命週期

9、從源碼的角度,描述一下SpringMvc的整個訪問或者調用流程。

10、談談線程池的參數列表和拒絕策略

11、請概述AQS

第2面的時候,阿布感覺面試官想用JVM來攆壓他,像運行時數據區,垃圾收集算法等,還有事務及Springmvc整個流程,AQS等,問的很多。

面試官:“簡單談談IOC和AOP。”

阿布當時的回答確實也比較簡單,源碼這塊他讀了好幾遍,IOC是控制反轉,主要是對Bean的管理,然後還有對象依賴注入,阿布講了它的多種注入方式,然後還講了bean的生命週期,面試官就沒往下問了。

關於AOP阿布重點講了動態代理模式,還有AOP的源碼實現,面試官點了頭也沒問了。

面試官:“關於從源碼的角度,描述一下SpringMvc的整個訪問或者調用流程。”

SpringMVC大家一定用過,但是源碼才是你和別人不一樣的地方。Springmvc的核心是一個servlet,DispatcherServlet,用戶從瀏覽器提交到DispatcherServlet,由這個類進行分發,然後由這個類找到具體處理方法,然後再遞交到Handler並執行這個Handler,執行完後返回給ModelAndView,最後就是進行視圖解析,響應結果到瀏覽器。面試官當時說了思路正確,也就沒多問了。

阿里Java研發第2面,你覺得必問技術會是什麼?(P6+崗)

springmvc調用的核心流程圖

一般大廠面試基本上所有的問題都是結合具體場景來問你問題,不僅要會使用這些技術,還要知道為什麼要用這個技術,以及如何做到高可用等等。對於社招,我感覺是技術問的相對來說更加深入,所以對有些源碼還是要了解點,比如併發相關的原理,是經常被問到的。JVM就更不用說了,幾乎是必問到的。

我們所有的程序都運行在Java虛擬機上,只有對Java虛擬機底層原理進行深入的學習,不管是JVM內存區域、堆的分代與垃圾回收算法、JVM性能調優。在全面理解JVM的運行機制後,我們就能成為更優秀的Javaer。

同時很多的Java開發朋友在面試時面對JVM總會有答而不全,答非所問的情況,對學習Java虛擬機這一塊今天在這筆者特地免費分享一份精心整理的JVM與性能調優核心實戰知識點筆記及JVM面試題解析(基礎,進階,實戰)給大家!

由於文章篇幅過長,小編整理成一套PDF文檔的格式把JVM以及性能優化解析整理完成,文檔獲取方式:轉發此文,私信回覆【JVM】諮詢如何免費獲取學習資料!

記得幫忙轉發分享此文後私信我喲!

目錄展示

從五個方面全面解析了JVM、性能優化及述寫了面試常問解析

1.JVM內存區域劃分

阿里Java研發第2面,你覺得必問技術會是什麼?(P6+崗)

2.JVM執行子系統

阿里Java研發第2面,你覺得必問技術會是什麼?(P6+崗)

3.垃圾回收器和內存分配策略

阿里Java研發第2面,你覺得必問技術會是什麼?(P6+崗)

4.編寫高效優雅Java程序

阿里Java研發第2面,你覺得必問技術會是什麼?(P6+崗)

5.性能優化

阿里Java研發第2面,你覺得必問技術會是什麼?(P6+崗)

JVM高頻常問面試題解析

阿里Java研發第2面,你覺得必問技術會是什麼?(P6+崗)

內容展示

JVM 內存區域劃分內容

  1. 程序計數器(線程私有)
  2. Java棧(線程私有)
  3. 本地方法棧(線程私有)
  4. 堆(線程共享)
  5. 方法區(線程共享)
  6. 直接內存(線程共享)
阿里Java研發第2面,你覺得必問技術會是什麼?(P6+崗)

二、JVM執行子系統內容

  1. Class類文件結構
  2. 字節碼指令
  3. 類加載機制
  4. 類加載器
  5. Tomcat類加載機制
  6. 方法調用詳解
阿里Java研發第2面,你覺得必問技術會是什麼?(P6+崗)

三、垃圾回收器和內存分配策略內容

  1. Java中是值傳遞還是引用傳遞?
  2. 引用類型
  3. 基本垃圾回收算法
  4. 分代處理垃圾
  5. JAVA中垃圾回收GC的類型
阿里Java研發第2面,你覺得必問技術會是什麼?(P6+崗)

四、編寫高效優雅Java程序

  1. 面向對象
  2. 方法
  3. 通用程序設計
阿里Java研發第2面,你覺得必問技術會是什麼?(P6+崗)

五、性能優化

  1. 常用的性能評價/測試指標
  2. 常用的性能優化手段
  3. 應用服務性能優化
阿里Java研發第2面,你覺得必問技術會是什麼?(P6+崗)

JVM高頻常問面試題解析

阿里Java研發第2面,你覺得必問技術會是什麼?(P6+崗)

由於文章篇幅過長,小編整理成一套PDF文檔的格式把JVM以及性能優化解析整理完成,文檔獲取方式:轉發此文,私信回覆【JVM】諮詢如何免費獲取學習資料!

記得幫忙轉發分享此文後私信我喲!


分享到:


相關文章: