雙非渣碩,三面成功拿下螞蟻金服offer:多執行緒+spring+jvm+分散式+MySQL

Java秦心發表於2020-12-04

銀十期間螞蟻面試機會(本人非985/211,螞蟻真的不是很在乎學歷!!!),有了一次社招機會,前後經歷三關,受益匪淺,在此與各位朋友分享經歷與心得。

螞蟻金服Java研發一面(電話面,30分鐘左右)

  1. 自我介紹,講下最有難度的專案
  2. 對執行緒安全的理解
  3. 比如有一個區域性變數i=1,兩個執行緒同時執行,是否執行緒安全
  4. 比如再有一個共享變數,如何保證執行緒安全
  5. 說說ThreadLocal,底層如何實現
  6. hashmap實現原理
  7. volatile關鍵字,解決了什麼問題
  8. 類載入機制
  9. JVM記憶體分佈/記憶體結構?棧和堆的區別?堆的結構?為什麼兩個survivor區?
  10. 物件在堆記憶體建立的生命週期
  11. Spring的原理?AOP的實現?
  12. 物件導向的設計原則?OCP?
  13. 分散式系統如何保證資料一致性
  14. 有一個方法接收一個訊息型別資料,通過if-else處理,如何優化
  15. 設計一個秒殺系統?考慮哪些問題?
  16. 有什麼問題想問

面試官沒有問得很深入,就是對於執行緒安全高併發比較看重是真的,整個面試過程還是聊得挺愉快,收穫很大,螞蟻的面試官還是很nice,很有耐心,引導性地提問。

螞蟻金服Java研發二面(現場面,30分鐘左右)

  1. 從http請求發出到響應的整個流程
  2. 追問如何http請求傳送過來之後如何攔截,怎樣配置攔截,具體怎樣攔截(只知道tomcat攔截,在web.xml中配置,感覺是在問tomcat底層)
  3. 說說類載入機制,可以自定義類載入器嗎,為什麼要自定義類載入器
  4. 瞭解什麼分散式資料一致性演算法,具體說說
  5. MySQL事務隔離級別以及MVCC機制
  6. Redis快取雪崩、快取穿透以及如何解決?
  7. 再次問了設計秒殺系統
  8. 說說同步和非同步,什麼時候用同步,什麼時候用非同步
  9. 在linux上面用過什麼調優工具,用過什麼監控工具,怎樣監控自己應用資源消耗情況
  10. 如果CPU佔用資源很高有可能是什麼問題,CPU佔用資源低但是系統響應速度很慢可能是什麼問題
  11. jvm怎樣調優,堆記憶體棧空間設定多少合適..

螞蟻金服Java研發三面(現場面,40分鐘左右)

  1. 如果讓你實現一個MQ,怎麼樣保證訊息不丟失?
  2. 硬碟io速度會變慢,有什麼解決辦法嗎?
  3. mysql的innodb索引資料結構為什麼是b+樹,用hash來實現可以嗎?
  4. 分散式事務的實現?
  5. 如何解決redis和mysql資料一致性?
  6. 常見的MySQL主從同步方案有哪些?優劣勢比較過?
  7. 這次問的是秒殺如何防止超賣?
  8. 最近有沒有學習過新技術?
  9. 有什麼想問我的?
  10. 三年到五年的職業規劃?

總結

  1. java的基礎知識點,主要圍繞在集合類和多執行緒等:ArrayList、LinkedList、HashSet、HashpMap的資料結果,以及如何擴容、以及ConcurrentHashMap相關的多執行緒安全等。
  2. JVM的記憶體分配、幾個常見的垃圾回收演算法以及原理、還有對應的JVM優化引數需要牢記。
  3. 網路:TCP的三次握手等網路都必問,重點掌握網路協議。
  4. Redis:作為分散式快取的主力,基本也是BAT每次必考,重點是Redis的資料結構、記憶體、演算法、持久化,以及與別的快取memcached的優劣勢。
  5. 多執行緒:狀態流轉、多執行緒的實現,以及與高併發的區別等。
  6. Spring框架問得是最多的,BAT非常喜歡問,重點掌握。
  7. 最後就是分散式架構設計
  8. 常用的分散式架構設計方案:單點登入、分散式快取、儲存、訊息的選型,還有就是資料庫端的優化方案(需要提前瞭解)。
  9. 最好能提前瞭解深入一個類似秒殺這樣的專案,如果面試官問到類似的專案,你能把設計思路講出來,這對你的面試結果是很大的加分項。

以上是Java面試1—到5年以上開發必問到的面試問點,也都是一線網際網路公司Java面試必備技能,下面是參照阿里年薪50W所需具備的技能圖,大家可以參考下!

同時針對這12個技能,我在這整理了一份Java架構進階面試專題PDF文件(含450題解析,包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分散式、高併發,設計模式,MySQL等知識點解析,內容豐富,圖文結合!)

這份專題文件是免費分享的,

需要獲取得話麻煩一鍵三連之後看下圖小助理的微信:(BJ070701)新增即可免費獲取到哦

 

同時還有一些關於Java面試的視訊解析和架構學習筆記圖分享

 

相關文章