Redis靈魂14問,Java面試總結
阿新 • • 發佈:2021-10-02
螞蟻金服(五面)
螞蟻金服:一面
一面就做了一道演算法題,要求兩小時內完成,給了長度為N的有重複元素的陣列,要求輸出第10大的數。典型的TopK問題,快排演算法搞定。
演算法題要注意的是合法性校驗、邊界條件以及異常的處理。另外,如果要寫測試用例,一定要保證測試覆蓋場景儘可能全。加上平時刷刷演算法題,這種考核應該沒問題的。
螞蟻金服:二面
- 自我介紹下唄
- 開源專案貢獻過程式碼麼?
- 目前該部門做什麼,業務簡單介紹下,內部有哪些系統,作用和互動過程說下
- Dubbo踩過哪些坑,分別是怎麼解決的?
- 開始進入正題,說下你對執行緒安全的理解
- 事務有哪些特性?
- 怎麼理解原子性?
- 樂觀鎖和悲觀鎖的區別?
- 這兩種鎖在Java和MySQL分別是怎麼實現的?
- HashMap為什麼不是執行緒安全的?
- 怎麼讓HashMap變得執行緒安全?
- Collections的synchronize兩者的區別是什麼?
- jdk1.8對ConcurrentHashMap做了哪些優化?
- redis主從機制瞭解麼?怎麼實現的?
- 有過GC調優的經歷麼?
- 有什麼想問的麼?
螞蟻金服:三面
- 簡單自我介紹下
- 監控系統怎麼做的,分為哪些模組,模組之間怎麼互動的?用的什麼資料庫?
- 使用什麼儲存引擎,為什麼使用InnnoDB?
- 訂單表有做拆分麼,怎麼拆的?
- 水平拆分後查詢過程描述下
- 如果落到某個分片的資料很大怎麼辦?
- 雜湊取模會有什麼問題麼?
- 分庫分表後怎麼解決讀寫壓力?
- 拆分後主鍵怎麼保證惟一?
- Snowflake生成的ID是全域性遞增唯一麼?
- 怎麼實現全域性遞增的唯一ID?
- Mysql的索引結構說下
- 主鍵索引和普通索引的區別?
- 你們系統目前的瓶頸在哪裡?
- 你打算怎麼優化?簡要說下你的優化思路
- 有什麼想問我麼?
螞蟻金服:四面
- 介紹下自己
- 為什麼要做逆向?
- 怎麼理解微服務?
- 服務治理怎麼實現的?
- 這個不是中介軟體做的事麼,為什麼你們部門做?
- 說說Spring的生命週期吧
- 說說GC的過程
- CMS GC有什麼問題?
- 怎麼避免產生浮動垃圾?
- 強制young gc會有什麼問題?
- 知道G1麼?
- 回收過程是怎麼樣的?
- 你提到的Remember Set底層是怎麼實現的?
- 有什麼想問的麼?
螞蟻金服:五面
五面是HRBP面的,和我提前預約了時間,主要聊了之前在螞蟻的實習經歷、部門在做的事情、職業發展、福利待遇等。阿里面試官確實是具有一票否決權的,很看重你的價值觀是否match,一般都比較喜歡皮實的候選人。HR面一定要誠實,不要說謊,只要你說謊HR都會去證實,直接cut了。
- 之前螞蟻實習三個月怎麼不留下來?
- 實習的時候主管是誰?
- 實習做了哪些事情?
- 你對技術怎麼看?平時使用什麼技術棧?
- 最近有在研究什麼東西麼
- 你對SRE怎麼看
- 對待遇有什麼預期麼
最後HR還對我說目前穩定性保障部挺缺人的,希望我儘快回覆。
螞蟻金服面試小結
螞蟻面試比較重視基礎,所以Java那些基本功一定要紮實。螞蟻的工作環境還是挺讚的,因為我面的是穩定性保障部門,還有許多單獨的小組,什麼三年1班,很有青春的感覺。面試官基本水平都比較高,基本都P7以上,除了基礎還問了不少架構設計方面的問題,收穫還是挺大的。
總結
機會是留給有準備的人,大家在求職之前應該要明確自己的態度,熟悉求職流程,做好充分的準備,把一些可預見的事情做好。
對於應屆畢業生來說,校招更適合你們,因為絕大部分都不會有工作經驗,企業也不會有工作經驗的需求。同時,你也不需要偽造高大上的實戰經驗,以此讓自己的簡歷能夠脫穎而出,反倒會讓面試官有所懷疑。
你在大學時期應該明確自己的發展方向,如果你在大一就確定你以後想成為Java工程師,那就不要花太多的時間去學習其他的技術語言,高數之類的,不如好好想著如何夯實Java基礎。下圖涵蓋了應屆生乃至轉行過來的小白要學習的Java內容:
請轉發本文支援一下