逆流而上,7月阿里最新出爐的三面面經,年薪50W,我行您也行
- 2020 年 8 月 22 日
- 筆記
從7月份開始,打算找工作,一個偶然的機會,拉勾上一個螞蟻金服的師兄找到我,說要內推,在此感謝姚師兄,然後就開始了螞蟻金服的面試之旅。把簡歷發過去之後,就收到了郵件通知,10個工作日聯繫我,請耐心等待。
沒過2天就接到一個杭州的座機,說要約我進行電話面試,效率還是挺高,然後當天晚上就進行了一面。下班後,吃了飯,專門找了一條人比較少的小路,到了7點,電話準時打過來了。
阿里一面
- 講一下 HashMap 中 put 方法過程?
- 對 Key求Hash 值,然後再計算 下標。
- 如果沒有碰撞,直接放入桶中,
- 如果碰撞了,以鏈表的方式鏈接到後面,
- 如果鏈表長度超過閥值(TREEIFY_THRESHOLD == 8),就把鏈錶轉成紅黑樹。
- GC 演算法,除了常見的複製演算法,標記整理,標記清除演算法,還有哪些?
- 增量演算法。主要思想是垃圾收集執行緒與用戶執行緒交替執行。也可以說一邊執行垃圾回收一邊執行用戶程式碼。但是這種方法會造成系統吞吐量下降。
- Spring 主要思想是什麼,回答 IOC 和AOP,怎麼自己實現 AOP ?
- 使用基於反射的動態代理
- SpringAOP 用的哪一種代理
阿里二面
- HashMap 怎樣解決衝突,講一下擴容過程,假如一個值在原數組中,現在移動了新數組,位置肯定改變了,那是什麼定位到在這個值新數組中的位置,
- 將新節點加到鏈表後,
- 容量擴充為原來的兩倍,然後對每個節點重新計算哈希值。
- 這個值只可能在兩個地方,一個是原下標的位置,另一種是在下標為 <原下標+原容量> 的位置。
- 拋開 HashMap,hash 衝突有哪些解決辦法?
- 10w行數據,每行一個單詞,統計出現次數出現最多的前100個。
- 一個文本文件,給你一個單詞,判斷單詞是否出現。
- Java 訪問修飾符許可權的區別;
- public 所有類都可訪問
- protected 只允許包內、子類訪問。
- 默認 只允許包內訪問
- private 只允許類內訪問
- String 是否可以繼承, 「+」 怎樣實現?
- String 是 final 類,不可繼承。
阿里三面
- 執行緒安全性
- HashMap、ConcurrentHashMap 區別。
- 索引計算消除了最高位的影響
- 默認容量: 16(若定義了初始容量(c),容量會定義為大於(c + (c >>> 1) +1) 的最小 2^n)
- 例如:初始容量為 13,則真正的容量是 32.
- 執行緒安全,並發性能較好
- 將M個平均長度為N的有序隊列組合成一個有序隊列
- 10億條簡訊,找出前一萬條重複率高的
- 對一萬條數據排序,你認為最好的方式是什麼
- 假如有100萬個玩家,需要對這100W個玩家的積分中前100名的積分,按照順序顯示在網站中,要求是實時更新的。積分可能由做的任務和獲得的金錢決定。問如何對著100萬個玩家前100名的積分進行實時更新?
- 1.1 支援斷點續傳。RANGE:bytes=XXX 表示要求伺服器從文件 XXX 位元組處開始傳送
- 還有一些其他的改進,有興趣可以自行查閱相關資料
- HTTP 和 HTTPS 的主要區別
- 安全。HTTP 直接與 TCP 通訊,而 HTTPS 是先與 SSL(加密) 通訊,然後再由 SSL 和 TCP 通訊
面試總結及建議
每一次Java面試,其實都是一次學習機會,是對自己技術知識棧的梳理、考核、復盤。我們應該抱著學習的態度,認真對待,找到自己比較薄弱的環節,儘快去查漏補缺學習鞏固。對於面試來說,其實也沒有太多的技巧可言,面試官主要看重的就是個人能力,無非就是兩個方面:
- 技術廣度
- 技術深度
小編在這裡分享些我自己平時的學習資料
由於篇幅限制小編,pdf文檔的詳解資料太全面,細節內容實在太多啦,所以只把部分知識點截圖出來粗略的介紹,每個小節點裡面都有更細化的內容!有需要的程式猿(媛)可以添加微信:msbjy2019即可獲取這份資料哦
程式設計師程式碼面試指南 IT名企演算法與數據結構題目最優解
這是」 本程式設計師面試寶典!書中對IT名企程式碼面試各類題目的最優解進行了總結,並提供了相關程式碼實現。針對當前程式設計師面試缺乏權威題目匯總這一-痛點, 本書選取將近200道真實出現過的經典程式碼面試題,幫助廣「大程式設計師的面試準備做到萬無一失。 「刷」完本書後,你就是「題王」!
《TCP-IP協議組(第4版)》
本書是介紹TCP/IP協議族的經典圖書的最新版本。本書自第1版出版以來,就廣受讀者歡迎。
本書最新版進行」護元,以體境電腦網路技不的最新發展,全書古有七大部分共30草和7個附錄:第一部分介紹一些基本概念和基礎底層技術:第二部分介紹網路層協議:第三部分介紹運輸層協議;第四部分介紹應用層協議:第五部分介紹下一代協議,即IPv6協議:第六部分介紹網路安全問題:第七部分給出了7個附錄。
Java開發手冊(嵩山版)
這個不用多說了,阿里的開發手冊,每次更新我都會看,這是8月初最新更新的(嵩山版)
MySQL 8從入門到精通
本書主要內容包括MySQL的安裝與配置、資料庫的創建、數據表的創建、數據類型和運算符、MySQL 函數、查詢數據、數據表的操作(插入、更新與刪除數據)、索引、存儲過程和函數、視圖、觸發器、用戶管理、數據備份與還原、MySQL 日誌、性能優化、MySQL Repl ication、MySQL Workbench、 MySQL Utilities、 MySQL Proxy、PHP操作MySQL資料庫和PDO資料庫抽象類庫等。最後通過3個綜合案例的資料庫設計,進步講述 MySQL在實際工作中的應用。
Spring5高級編程(第5版)
本書涵蓋Spring 5的所有內容,如果想要充分利用這一領先的企業級 Java應用程式開發框架的強大功能,本書是最全面的Spring參考和實用指南。
本書第5版涵蓋核心的Spring及其與其他領先的Java技術(比如Hibemate JPA 2.Tls、Thymeleaf和WebSocket)的集成。本書的重點是介紹如何使用Java配置類、lambda 表達式、Spring Boot以及反應式編程。同時,將與企業級應用程式開發人員分享一些見解和實際經驗,包括遠程處理、事務、Web 和表示層,等等。
JAVA核心知識點+1000道 互聯網Java工程師面試題
企業IT架構轉型之道 阿里巴巴中台戰略思想與架構實戰
本書講述了阿里巴巴的技術發展史,同時也是-部互聯網技 術架構的實踐與發展史。