2021Java高級螞蟻金服三面,終進大廠了! 螞蟻金服一面: 螞蟻金服二面 螞蟻金服三面

螞蟻金服一面:

下午杭州的電話,問有沒有空,果斷有空,雖然感覺略顯緊張,有點懵逼。

面試的題目:

  1. HashMap和Hashtable的區別
  2. 實現一個保證迭代順序的HashMap
  3. 說一說排序算法,穩定性,複雜度
  4. 說一說GC
  5. 可以保證的實習時長
  6. 職業規劃

整體來說,一面的基礎性問題比較多,所以博主基本都答出來了,準備過還是有些用處的。所以一面完了感覺還不錯,接着第二天下午就二面了。

螞蟻金服二面

二面是我最慌的面試,因爲二面是最關鍵的,是最大的主管面試,所以非常關鍵,整體來說,二面的節奏非常快,和一面完全不同,面試官很希望我言簡意賅的說完答案,所以面的不算很好,當時完了又以爲GG了,好在最後還是幸運的過了,面試問題如下:

  1. 自我介紹。
  2. JVM如何加載一個類的過程,雙親委派模型中有哪些方法?
  3. HashMap如何實現的?
  4. HashMap和Concurrent HashMap區別, Concurrent HashMap 線程安全嗎, Concurrent HashMap如何保證 線程安全?
  5. HashMap和HashTable 區別,HashTable線程安全嗎?
  6. 進程間通信有哪幾種方式?
  7. JVM分爲哪些區,每一個區幹嗎的?
  8. JVM如何GC,新生代,老年代,持久代,都存儲哪些東西?
  9. GC用的引用可達性分析算法中,哪些對象可作爲GC Roots對象?
  10. 快速排序,過程,複雜度?
  11. 什麼是二叉平衡樹,如何插入節點,刪除節點,說出關鍵步驟。
  12. TCP如何保證可靠傳輸?三次握手過程?
  13. TCP和UDP區別?
  14. 滑動窗口算法?
  15. Linux下如何進行進程調度的?
  16. Linux下你常用的命令有哪些?
  17. 操作系統什麼情況下會死鎖?
  18. 常用的hash算法有哪些?
  19. 什麼是一致性哈希?
  20. 如何理解分佈式鎖?
  21. 數據庫中的範式有哪些?
  22. 數據庫中的索引的結構?什麼情況下適合建索引?
  23. Java中的NIO,BIO,AIO分別是什麼?
  24. 用什麼工具調試程序?JConsole,用過嗎?
  25. 現在JVM中有一個線程掛起了,如何用工具查出原因?
  26. 線程同步與阻塞的關係?同步一定阻塞嗎?阻塞一定同步嗎?
  27. 同步和異步有什麼區別?
  28. 線程池用過嗎?
  29. 如何創建單例模式?說了雙重檢查,他說不是線程安全的。如何高效的創建一個線程安全的單例?
  30. concurrent包下面,都用過什麼?
  31. 常用的數據庫有哪些?redis用過嗎?
  32. 瞭解hadoop嗎?說說hadoop的組件有哪些?hdfs,hive,hbase,zookeeper。說下mapreduce編程模型。
  33. 你知道的開源協議有哪些?
  34. 你知道的開源軟件有哪些?
  35. 你最近在看的書有哪些?
  36. 你有什麼問題要問我嗎?
  37. 瞭解哪些設計模式?說說都用過哪些設計模式
  38. 如何判斷一個單鏈表是否有環?
  39. 操作系統如何進行分頁調度?
  40. 匿名內部類是什麼?如何訪問在其外面定義的變量?

二面面試官問的很急,我答的也快,所以有兩個問題答的不好,但是面試官讓我覺得有一種肅然起敬的感覺,因爲他說話比較快,但是都能說到點子上,最關鍵的說的話非常讓人容易接受。

二面過了,當天晚上我就接到了三面的電話(阿里的效率真的讓我瞠目結舌)

螞蟻金服三面

三面已經是交叉面試了,基本都圍繞我的項目展開,我經過前面幾次的面試之後,這個時候已經擁有了很高的面試經驗值了,所以三面的時候我一點不慌了,回答問題非常穩重,三面的問題如下:

  1. 自我介紹,做過什麼項目。
  2. java虛擬機的區域如何劃分,每一個區的動能,這一塊自由發揮。
  3. 雙親委派模型中,從頂層到底層,都是哪些類加載器,分別加載哪些類?
  4. 有沒有可能父類加載器和子類加載器,加載同一個類?如果加載同一個類,該使用哪一個類?
  5. HashMap的結構,get(),put()是如何實現的?HashMap有哪些問題?
  6. ConcurrentHashMap的get(),put(),又是如何實現的?ConcurrentHashMap有哪些問題? ConcurrentHashMap的鎖是讀鎖還是寫鎖?
  7. HashMap與HashTable的區別
  8. sleep()和wait()分別是哪個類的方法,有什麼區別?synchronized底層如何實現的?用在代碼塊和方法上有什麼區別?
  9. 什麼是線程池?如果讓你設計一個動態大小的線程池,如何設計,應該有哪些方法?
  10. 什麼是死鎖?JVM線程死鎖,你該如何判斷是因爲什麼?如果用VisualVM,dump線程信息出來,會有哪些信息?這一塊問的很多…問的我懵了. 因爲並沒有實際操作過 = =
  11. 查看jvm虛擬機裏面堆、線程的信息,你用過什麼命令?我只用過圖形界面VisualVM。。。
  12. 垃圾回收算法有哪些?CMS知道嗎?如何工作的?
  13. 數據庫中什麼是事務?事務的隔離級別?事務的四個特性?什麼是髒讀,幻讀,不可重複讀?
  14. 數據庫索引的結構有哪些?我說B樹和B+樹,他說只有這兩個嗎。我又說全文倒排索引。然後介紹B+樹的結構。
  15. 數據庫中的分頁查詢語句怎麼寫?
  16. 什麼是一致性哈希?用來解決什麼問題?
  17. Redis的存儲結構,或者說如何工作的,與mysql的區別?有哪些數據類型?
  18. 項目中用到redis,爲什麼選用redis,瞭解其他NoSQL數據庫嗎?在你的項目中是如何運用redis的?key是什麼,value是什麼?
  19. 歸併排序的過程?時間複雜度?空間複雜度?
  20. 你平常用什麼排序?快速排序。說說在那些場景下適用,哪些場景下不適用。
  21. 你在項目中做什麼?因爲我用到Solr,他就問我Solr是如何工作的?

最後

我還爲大家準備了一套體系化的架構師學習資料包以及BAT面試資料,供大家參考及學習,戳這裏免費領取

已經將知識體系整理好(源碼,筆記,PPT,學習視頻)免費領取。







get方式:

【編程電子書,持更中...】

更多資源白嫖網站:

全網免費Java資源下載SpringBoot、Spring、Mybatis、Redis、RabbitMQ、SpringCloud、高併發(持續更新)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章