1. 程式人生 > 其它 >Redis靈魂14問,Java面試總結

Redis靈魂14問,Java面試總結

螞蟻金服(五面)

螞蟻金服:一面

一面就做了一道演算法題,要求兩小時內完成,給了長度為N的有重複元素的陣列,要求輸出第10大的數。典型的TopK問題,快排演算法搞定。

演算法題要注意的是合法性校驗、邊界條件以及異常的處理。另外,如果要寫測試用例,一定要保證測試覆蓋場景儘可能全。加上平時刷刷演算法題,這種考核應該沒問題的。

螞蟻金服:二面

  1. 自我介紹下唄
  2. 開源專案貢獻過程式碼麼?
  3. 目前該部門做什麼,業務簡單介紹下,內部有哪些系統,作用和互動過程說下
  4. Dubbo踩過哪些坑,分別是怎麼解決的?
  5. 開始進入正題,說下你對執行緒安全的理解
  6. 事務有哪些特性?
  7. 怎麼理解原子性?
  8. 樂觀鎖和悲觀鎖的區別?
  9. 這兩種鎖在Java和MySQL分別是怎麼實現的?
  10. HashMap為什麼不是執行緒安全的?
  11. 怎麼讓HashMap變得執行緒安全?
  12. Collections的synchronize兩者的區別是什麼?
  13. jdk1.8對ConcurrentHashMap做了哪些優化?
  14. redis主從機制瞭解麼?怎麼實現的?
  15. 有過GC調優的經歷麼?
  16. 有什麼想問的麼?

螞蟻金服:三面

  1. 簡單自我介紹下
  2. 監控系統怎麼做的,分為哪些模組,模組之間怎麼互動的?用的什麼資料庫?
  3. 使用什麼儲存引擎,為什麼使用InnnoDB?
  4. 訂單表有做拆分麼,怎麼拆的?
  5. 水平拆分後查詢過程描述下
  6. 如果落到某個分片的資料很大怎麼辦?
  7. 雜湊取模會有什麼問題麼?
  8. 分庫分表後怎麼解決讀寫壓力?
  9. 拆分後主鍵怎麼保證惟一?
  10. Snowflake生成的ID是全域性遞增唯一麼?
  11. 怎麼實現全域性遞增的唯一ID?
  12. Mysql的索引結構說下
  13. 主鍵索引和普通索引的區別?
  14. 你們系統目前的瓶頸在哪裡?
  15. 你打算怎麼優化?簡要說下你的優化思路
  16. 有什麼想問我麼?

螞蟻金服:四面

  1. 介紹下自己
  2. 為什麼要做逆向?
  3. 怎麼理解微服務?
  4. 服務治理怎麼實現的?
  5. 這個不是中介軟體做的事麼,為什麼你們部門做?
  6. 說說Spring的生命週期吧
  7. 說說GC的過程
  8. CMS GC有什麼問題?
  9. 怎麼避免產生浮動垃圾?
  10. 強制young gc會有什麼問題?
  11. 知道G1麼?
  12. 回收過程是怎麼樣的?
  13. 你提到的Remember Set底層是怎麼實現的?
  14. 有什麼想問的麼?

螞蟻金服:五面

五面是HRBP面的,和我提前預約了時間,主要聊了之前在螞蟻的實習經歷、部門在做的事情、職業發展、福利待遇等。阿里面試官確實是具有一票否決權的,很看重你的價值觀是否match,一般都比較喜歡皮實的候選人。HR面一定要誠實,不要說謊,只要你說謊HR都會去證實,直接cut了。

  1. 之前螞蟻實習三個月怎麼不留下來?
  2. 實習的時候主管是誰?
  3. 實習做了哪些事情?
  4. 你對技術怎麼看?平時使用什麼技術棧?
  5. 最近有在研究什麼東西麼
  6. 你對SRE怎麼看
  7. 對待遇有什麼預期麼

最後HR還對我說目前穩定性保障部挺缺人的,希望我儘快回覆。

螞蟻金服面試小結

螞蟻面試比較重視基礎,所以Java那些基本功一定要紮實。螞蟻的工作環境還是挺讚的,因為我面的是穩定性保障部門,還有許多單獨的小組,什麼三年1班,很有青春的感覺。面試官基本水平都比較高,基本都P7以上,除了基礎還問了不少架構設計方面的問題,收穫還是挺大的。

總結

機會是留給有準備的人,大家在求職之前應該要明確自己的態度,熟悉求職流程,做好充分的準備,把一些可預見的事情做好。

對於應屆畢業生來說,校招更適合你們,因為絕大部分都不會有工作經驗,企業也不會有工作經驗的需求。同時,你也不需要偽造高大上的實戰經驗,以此讓自己的簡歷能夠脫穎而出,反倒會讓面試官有所懷疑。

你在大學時期應該明確自己的發展方向,如果你在大一就確定你以後想成為Java工程師,那就不要花太多的時間去學習其他的技術語言,高數之類的,不如好好想著如何夯實Java基礎。下圖涵蓋了應屆生乃至轉行過來的小白要學習的Java內容:

請轉發本文支援一下

本文已被CODING開源專案:【一線大廠Java面試題解析+核心總結學習筆記+最新講解視訊+實戰專案原始碼】收錄