關於疫情:
進入主題之前,開篇先閒談幾句,這次的面試來得意外,主要也是因為疫情的緣故,所以心裡上是沒有準備的,這次肺炎對我們的學習、工作和生活都造成了非常大的影響,很多學校延期開學,企業也延期返工,實際上在閉關的這段時間裡,我們正好可以好好利用這段時間,為自己之後想要做得事情充分做好準備,也希望肺炎趕快過去,我們的生活恢復正常。
以下主要分享面經和個人學習方法,會包括很多PDF檔案,如面試題庫(含答案+解析)、學習筆記、實戰檔案和腦圖等等,均可以免費分享,私信我【成長】即可領取~
由於疫情緣故,與阿里的HR溝通過後,採取的是視訊面的方式,總共4輪均是通過視訊的方式。視訊面相比於現場面給人的感覺還是要稍微輕鬆一些的,過程沒有那麼緊張,交流方式也比較自然,沒有太大的壓迫感,只要技術ok,基本上是沒什麼問題,以致於這次面試順利通過。
餘額寶一面
- 自我介紹
- 專案介紹(專案中最大的技術挑戰和技術難點)
- JVM 記憶體分哪幾個區,每個區的作用是什麼?JVM有哪些回收演演算法,對應的收集器有哪些?
- GC 的兩種判定方法 ?CMS 收集器與 G1 收集器的特點。
- Java容器有哪些?哪些是同步容器,哪些是並行容器?
- ArrayList和LinkedList的插入和存取的時間複雜度?
- HashMap檢測到hash衝突後,將元素插入在連結串列的末尾還是開頭?
- 新生代分為幾個區?使用什麼演演算法進行垃圾回收?為什麼使用這個演演算法?
- 1.8還採用了紅黑樹,講講紅黑樹的特性,為什麼大家一定要用紅黑樹而不是AVL、B樹之類的?
- 新生代分為幾個區?使用什麼演演算法進行垃圾回收?為什麼使用這個演演算法?
- 執行緒池的工作原理,幾個重要引數,然後給了具體幾個引數分析執行緒池會怎麼做,最後問阻塞佇列的作用是什麼?
- https和http區別,有沒有用過其他安全傳輸手段?
- 專案用 Spring 比較多,有沒有了解 Spring 的原理?AOP 和 IOC 的原理
- 程式碼編寫:兩個執行緒,一個執行緒列印奇數,一個列印偶數,控制交替列印奇偶數。(有多種方法實現,最好能比較優劣)
餘額寶二面
- 查詢中哪些情況不會使用索引?
- 資料庫索引,底層是怎樣實現的,為什麼要用B樹索引?
- Mysql主從同步的實現原理?
- MySQL是怎麼用B+樹?
- 談談資料庫樂觀鎖與悲觀鎖?
- 有使用過哪些NoSQL資料庫?MongoDB和Redis適用哪些場景?
- 描述分散式事務之TCC服務設計?
- Redis和memcache有什麼區別?Redis為什麼比memcache有優勢?
- Redis 的資料結構
- 海量資料過濾,黑名單過濾一個 url。
- 講一講AtomicInteger,為什麼要用CAS而不是synchronized?
餘額寶三面
- 考慮redis的時候,有沒有考慮容量?大概資料量會有多少?
- Redis 的 list zset 的底層實現
- solr和mongodb的區別,存資料為什麼不用solr?
- 分散式 session 的共用方案有哪些,有什麼優劣勢
- 談談分散式鎖、以及分散式全域性唯一ID的實現比較?
- 叢集監控的時候,重點需要關注哪些技術指標?這些指標如何優化?
- 從千萬的資料到億級的資料,會面臨哪些技術挑戰?你的技術解決思路?
- 資料庫分庫分表需要怎樣來實現?
- 排序演演算法的複雜度,快速排序非遞迴實現。
- 訊息中介軟體有哪些?他們之間的優劣勢?
餘額寶四面
- 分散式架構設計哪方面比較熟悉
- 介紹你實踐的效能優化案例,以及你的優化思路
- 介紹專案
- 談一個你覺得你學到最多的專案,使用了什麼技術,挑戰在哪裡
- 各種聊專案,從專案的架構設計到部署流程。
- 最近有沒有學習過新技術?
- 有什麼想問我的?
- 最近兩年遇到的最大的挫折,從挫折中學到了什麼?
- 三年到五年的職業規劃?
HR面
- 自我介紹
- 專案介紹
- 如何學習新技術?
- 遇到的最大挑戰以及如何解決?
- 大學最大的收穫?
- 如何團隊合作的?
- 職業規劃
由於文章的篇幅有限,所以這次的阿里面試題答案整理在了PDF檔案裡
如何準備,才能拿到阿里Offer?
Step1:準備一份優秀的簡歷
想要拿到阿里Offer,那麼首先得要有面試阿里的機會,想要得到大廠面試機會並不是一件容易的事情,而簡歷,是撬開面試大門的鑰匙,鑰匙是否匹配,就要看簡歷是否優秀了。很多應屆生不知道怎麼製作自己的簡歷,隨便在網上下載一份,改改個人資訊。實際上,大廠面試的簡歷,看重的不是你的個人愛好,也不是在校參加過什麼社團學生會,更注重的還是你的個人實際能力。所以,一份優秀的簡歷,應該包括你個人掌握的技術點,是否有實習經歷,參加過什麼專案,解決過什麼專案難題等等。
Step2:提示自身的軟實力(知識和技術)
第二個關鍵就要自己的自身實力過硬了,無論是你應屆生,還是工作好幾年,無論是校招還是社招,企業招聘的永遠是自身實力過硬的,也就是你的知識儲備,你的技術水平要達到要求,而提升自身軟實力的唯一辦法就是:不斷學習。
以下我會分享一些我個人的學習檔案,有需要的朋友自行選擇獲取:
Java核心知識
Step3:刷題
既然是要面試,那麼就少不了刷題,實際上春節回家後,哪兒也去不了,我自己是刷了不少面試題的,所以在面試過程中才能夠做到心中有數,基本上會清楚面試過程中會問到哪些知識點,高頻題又有哪些,所以刷題是面試前期準備過程中非常重要的一點。
以下是我私藏的面試題庫:
寫在最後
很多人感嘆「學習無用」,實際上之所以產生無用論,是因為自己想要的與自己所學的匹配不上,這也就意味著自己學得遠遠不夠。無論是學習還是工作,都應該有主動性,所以如果擁有大廠夢,那麼就要自己努力去實現它。
以上學習資料均免費放送,最後祝願各位身體健康,順利拿到心儀的offer!