求職阿里Java 技術崗位的經歷,三輪技術面+HR面,面試也不過如此

我在 2019 年年末到 2020 年年初去阿里求職了(文章在這裡),然後有粉絲給我發私信詢問面試細節和 offer 情況,問的人比較多,既然不少讀者感興趣,那麼就在這裡和大家分享一下這段經歷吧,希望對面試阿里的朋友有一點啟發和幫助。

眾所周知,阿里主要以 Java 為主,因此我投遞的職位是 Java 高階/資深開發。我當時是在 Boss 直聘 App 上看到的職位,下圖是當時的職位招聘資訊。

面試過程中注意策略

我求職的阿里的 Java 技術崗位一共有三輪技術面試和一輪 HR 面試,下文會詳細的講。

因為這段時間面試了很多大廠,有一些拿到了 offer,有一些因為一些原因沒有拿到,因此我個人覺得對於像求職 BATM 這樣的大廠或者位元組跳動、拼多多這樣的獨角獸公司,最後能否拿到 offer 一部分取決於你的個人技術水平和工作經驗,另外一部分取決於你的運氣,還有一部分取決於你面試時的策略和技巧,個人的技術水平和工作經驗這一塊不必多說

第一輪技術面試

Java 的 Object 類有哪些常用的方法?

Java容器有哪些?哪些是同步容器,哪些是併發容器?

ArrayList和LinkedList的插入和訪問的時間複雜度?

java反射原理, 註解原理?

新生代分為幾個區?使用什麼演算法進行垃圾回收?為什麼使用這個演算法?

HashMap在什麼情況下會擴容,或者有哪些操作會導致擴容?

HashMap檢測到hash衝突後,將元素插入在連結串列的末尾還是開頭?

1。8還採用了紅黑樹,講講紅黑樹的特性,為什麼大家一定要用紅黑樹而不是AVL、B樹之類的?

哪些場景下,子類需要重寫 equals 方法和 hashCode 方法?

Java 異常,什麼是 checked Exception 和 unchecked Exception,舉幾個具體的例子;是否研究過 Spring Boot 中的異常;

ConcurrentHashMap 的特性和實現原理;

什麼是分庫分表,以及分庫分表的具體方法和使用場景;

資料庫事務的 ACID;

什麼是分散式鎖以及其實現原理和使用場景;

冪等性問題。

這裡需要說一下,上面的面試題其實都很基礎,尤其是涉及到 Java 本身的如果你是從事 Java 開發的,但是隻侷限於應付公司的業務程式碼,從來沒有主動去研讀一下 jdk 的一些常用類庫,無論從應付面試來說,還是就你的 Java 技術棧的提高乃至技術職業生涯都是不好的,希望從事 Java 開發的讀者要意識到這一點。

網路上有很多類似於 Java 面試高頻知識點總結的帖子和課程,我個人覺得這些課程你可以用它作為大綱,但是千萬不能只達到這些大綱要求的深度,作為 Java 開發者,jdk 的原始碼,尤其是常用的 java 類的原始碼還是建議認真閱讀一下。

第一輪技術面試結束後,我就問面試官是否通過了。面試官告訴我通過了,然後我問他下一輪的的面試會安排在什麼時候。我當時告訴他希望他們儘快安排,已經有其他的公司在催我入職了。面試官說去溝通一下。

於是當天下午大概一兩點左右,一面面試官問我晚上是否有時間,給我安排第二輪技術面試,於是約了當天晚上七點。

第二輪技術面試

查詢中哪些情況不會使用索引?

資料庫索引,底層是怎樣實現的,為什麼要用B樹索引?

Mysql主從同步的實現原理?

MySQL是怎麼用B+樹?

談談資料庫樂觀鎖與悲觀鎖?

有使用過哪些NoSQL資料庫?MongoDB和Redis適用哪些場景?

描述分散式事務之TCC服務設計?

Redis和memcache有什麼區別?Redis為什麼比memcache有優勢?

Redis 的資料結構

海量資料過濾,黑名單過濾一個 url。

講一講AtomicInteger,為什麼要用CAS而不是synchronized?

第二輪技術面試是主管面試。原來約了晚上七點,我到了之後一面的面試官接待了我,並告知我他們主管臨時有點急事,能不能把時間改到九點,或者再約。我當時想來了就來了,就不單獨約時間了。於是在這之前和一面的面試官又聊了一下,一面的面試官人很 nice,我們聊了很多東西

聊了大概一個多小時後,結束了面試,我離開時,發現外面的沙發上還有一個人等待面試,汗,競爭壓力真大。

第二天早上,我透過一面面試官幫我打聽二面面試結果,大概中午的時候,二面面試官加我微信說面試通過了,但是三面面試官,也就是他們大部門的 leader 在深圳出差,問我是否方便影片面試,我說可以,於是就約定了第二天晚上七點的影片面試。

第三輪技術面試

考慮redis的時候,有沒有考慮容量?大概資料量會有多少?

Redis 的 list zset 的底層實現

叢集監控的時候,重點需要關注哪些技術指標?這些指標如何最佳化?

從千萬的資料到億級的資料,會面臨哪些技術挑戰?你的技術解決思路?

資料庫分庫分表需要怎樣來實現?

排序演算法的複雜度,快速排序非遞迴實現。

訊息中介軟體有哪些?他們之間的優劣勢?

分散式架構設計哪方面比較熟悉

介紹你實踐的效能最佳化案例,以及你的最佳化思路

介紹專案

這類面試我給讀者的建議是,無論你是公司某個專案的負責人,還是你只是參與某個專案只負責其中一部分,不僅要想辦法瞭解整個系統的結構設計,多反思你現在的結構設計,還要對關鍵的細節核心也要非常熟悉,把你所在的專案的一些關鍵細節搞清楚,千萬不要只侷限於自己的“一畝三分地”。

第四輪 HR 面試

第二天早上,一面的面試官告訴我第三輪技術面試已經通過了,接下來就是 HR 面試了,但是阿里的 HR 面試與一般的人事面試不太一樣,HR 在阿里有點像軍團的“政委”,同時告訴我,阿里的薪資待遇現金部分不會給太多,更多的是期權,而且這些期權公司內部是明碼標價的,在離職時公司會以制定的價格去回購。

當天,一個自稱阿里的 HR 主管的女性給我打電話,與我約了下一輪的人事面試,具體日期記不得了,是後面幾天的某個上午 10 點。

1。工作中遇到的最大挑戰是什麼,你如何克服的?

2。你最大的優點和最大的缺點,各自說一個?

3。未來的職業發展,短期和長期的規劃是什麼?

最後,你懂的,主要就是HR走流程了,主要問了未來的職業規劃。

我的感悟

我這個人,非科班出身,我深知有一份大廠工作經驗的重要性。所以自畢業以來,一直想著有一天能去 BAT 其中之一工作,然而造化弄人,總因為這樣那樣的原因,一直未能得償所願。在 2019 年整整一年,創業付出大量時間和心血之後,決心還是告別小公司,再去大廠歷練一下。於是經過認真的準備,先後面試了騰訊、餓了麼、阿里螞蟻金服、位元組跳動等大廠,其中尤為親睞阿里的工作機會,當然由於早些年面試大廠受挫,心裡存在一點的恐懼心理,但這次之後再也不存在任何恐懼之心了,說白了,也不過如此而已。

我把這段經歷寫出來分享給大家,並不是想說明我有多強,是希望給想面試阿里的同學一點啟發和幫助。入職大廠不僅需要技術實力,還需要一點點運氣和策略。

以上就是螞蟻金服高階java面試題,

以下最全阿里高階Java必考題範圍和答案。

一鍵三連+關注,然後私信回覆 “666”即可免費領取《Java面試突擊版》第四版完整版PDF

相關文章