阿里面試,拿到 P7 offer
談一談我 2020 年年初面試阿里 Java 開發(fā)的面試的經歷吧,先說一下結果——最終拿到阿里 P7 的offer,薪資 32k * 14 + 80 萬期權。
背景
我是 C/C++ 出身,2017 年去攜程旅行網后開始接觸 Java 開發(fā),2018 年年底與朋友一起合伙創(chuàng)業(yè)做金融交易系統(tǒng),交易系統(tǒng)除了行情服務使用的是 C++,其他都是 Java 服務,我是核心技術人員之一。
這里需要說明一下,我這里并不是從 C++ 轉行至 Java 開發(fā),實際上我是 C++ 和 Java 都比較熟悉,選擇哪門語言是根據業(yè)務和開發(fā)需要,也就是說是業(yè)務選擇了語言,而不是因為語言選擇了業(yè)務。
看過《倚天屠龍記》的讀者應該知道九陽神功,C++ 對于我的技術修煉來說,就像九陽神功對于張無忌一樣。
我們創(chuàng)業(yè)的小團隊產品于 2019 年 7 月份正式上線,7 月~12 月初做了一版大的重構,到了 12 月份公司比較清閑,所以我就更新下簡歷,看看外面的機會。這是背景。
眾所周知,阿里主要以 Java 為主,因此我投遞的職位是 Java 高級/資深開發(fā),我當時是在 Boss 直聘 App 上看到的職位。
一、如何選擇招聘平臺
這里簡單聊一下我對 IT 人員求職常見的幾個求職平臺的看法,常見的面向 IT 求職人員的平臺有拉勾網、獵聘網、Boss 直聘、100offer 等,我一般只在拉勾網、獵聘網、Boss 直聘這三個平臺尋找意向職位和投遞簡歷,早些年還有大街網和內推網,但是這些年這兩個平臺因為自身的原因都沒落了。所有,我之前都是優(yōu)先在拉勾網上求職,并且對拉勾網的體驗也很滿意,而對獵聘網和 Boss 直聘滿意度一般。
獵聘網上有許多獵頭看你更新了簡歷會主動聯系你,幫你推薦職位。但是這種模式有好的地方也有不好的地方,好的地方是,由于是獵頭內推的,所以招聘和面試進度和效率一般比自己直接投遞某家公司要高,而且有些公司一些內部不公開的職位,你也可以通過獵頭的內推獲得面試、入職機會。但是,獵頭推薦也會存在一些不好的地方,如果你入職成功了,獵頭能從公司拿到一筆不菲的推薦費。因此一些獵頭為了促成求職者成功入職,會編造一些謊話,對求職者或者公司隱瞞一些真實情況,等面試者面試時或者入職后才發(fā)現一些坑。另外,還有一些素質非常低下的獵頭,這大大降低了求職者的面試體驗。
再來說說 Boss 直聘平臺吧。Boss 直聘最初的宣傳的特點是老板親自招人,但我個人覺得這種做法基本行不通,小公司還好一點,大公司基本上不可能有多少老板或者 XX 總親自招人,都是交給人事部門,因此最初 Boss 直聘給我的感覺就是,這個平臺上要么都是一些小公司尤其是一些創(chuàng)業(yè)公司,要么就是一些不靠譜的公司,我并不是要黑這個平臺,我前幾年通過這個平臺求職時,面試了幾家后發(fā)現都是一些連辦公室都不固定的"不靠譜”的招聘團隊。
拉勾網相對來說,我的印象就比較好了,因為我的前幾份工作都是通過拉勾網找到的。但是,這次拉勾讓我的體驗就不太好了,因為投遞的大多數職位都沒有任何回應,投遞的大多數職位永遠是處于對方公司已經接收的狀態(tài),再也沒有下文了,當然,這不是拉勾網的問題,可能是招聘方公司本身的問題。但是有一點我不明白的,為啥差不多的職位,在 Boss 直聘上投遞后無論成與不成,很快就有對方公司的回應呢?這樣也節(jié)約了求職之大量期待和等待的時間。
所以,早些年我覺得拉勾網靠譜一些,Boss 直聘不靠譜,現在的印象恰恰反過來了。這里說一點自己對這三個招聘平臺的使用感受,一家之言也不一定對,僅作讀者朋友在投遞簡歷選平臺時一個參考吧。
回到面試阿里這個職位的主線上來。我面試的是阿里巴巴的某支付業(yè)務團隊,我人在上海,阿里巴巴的支付寶國際支付業(yè)務。
二、面試過程中注意策略
我求職的阿里的 Java 技術崗位一共有三輪技術面試和一輪 HR 面試,實際上 HR 面試了兩次,下文會詳細的講。
因為這段時間面試了很多大廠,有一些拿到了 offer,有一些因為一些原因沒有拿到,因此我個人覺得對于像求職 BATM 這樣的大廠或者字節(jié)跳動、拼多多這樣的獨角獸公司,最后能否拿到 offer 一部分取決于你的個人技術水平和工作經驗,另外一部分取決于你的運氣,還有一部分取決于你面試時的策略和技巧,策略和技巧下文我會舉一個具體的例子。個人的技術水平和工作經驗這一塊不必多說,來說說為啥有一定的運氣成分呢?
舉兩個例子吧。
第一個例子:我面試騰訊時,前面三輪技術面試已經過了,第三面是主管面試,但是招聘方卻要把第四輪高管面試安排在幾個星期之后,對于大多數人來說,其實是沒有這個時間成本來等待的,尤其是你手上已經有了幾個 offer,它們可能在催你入職的情況下。所以,騰訊的面試,你不能接受等待這么長時間,或者即使你能接受,但是不能保證最終一定能拿到 offer,就不得不選擇放棄。其實之前也聽一位已經在騰訊入職的朋友說,大廠的社招面試周期可能真的有點長,有可能需要反復來回跑,因此要求職者自己權衡成本。
第二個例子,是我面試阿里。其實在我這次求職阿里之前的一個多星期前投遞了阿里的另外一個職位,然后沒過多久的一個晚上,大約七點左右進行了一次電話面試。阿里通常第一輪面試是電話面試,這次電話面試只能用"啞巴吃黃蓮有苦難言"來形容。那天晚上,按照約定好的時間,我們開始了電話面試。聊了一個多小時,快結束了,我就問面試官,既然是 Java 職位的面試,為啥你不問一點 Java 相關的基礎知識呢?面試官說,這些東西都是可以提前在網上尋找面經準備甚至背誦下來的,所以他面試的一貫做法是從來不問 Java 相關的基礎知識,只和面試者聊之前做過的項目。好吧,我竟然無言以對。末了,面試官問我,你還有啥想問我的?我就直接說,那我這次面試到底是過了還是沒過?面試官就直接說:你和我聊的并不是我想要的,我從你說的項目中也看不到任何符合我們要求的經驗,所以面試當然沒過。其實我當時心里其實是很不滿的,為什么呢?因為我項目的工作所對應的業(yè)務,面試官并不了解,我就給面試官解釋,尤其是涉及到一些結構圖和流程圖時,由于是電話面試,電話里面根本說不清楚。也就是說,第一面試官不了解你的業(yè)務,但是他覺得他通過你的描述懂了,第二一些特定的內容電話里面描述不清楚,再加上面試官不問相關的 Java 技術,因此最終給面試官留下的印象是你"一無是處",沒有任何可取之處,因此失敗了。但是大多數求職者應該和我的開始的心態(tài)是一樣的,面試大廠不自信導致底氣不足,不會去反駁或者回擊面試官的一些不合理的要求。
我舉這個例子想說的就是面試大廠中的運氣成分,很多時候,并不是你不行,而是面試過程中,面試官的個人特質和喜好或者溝通中信息不對稱,最終讓你沒有通過面試的機會。因此,對于這種情況,我們需要做好兩點:
自信一點,調整心態(tài),雖然我們可能很想進眼前這個大廠,但是不是非要進這個大廠不可,對于不合理的對待要直接反擊,據理力爭;講究溝通策略。因此在后面的阿里其他部門的面試時,面試開始前,我就委婉的和面試官說了自己的一些建議:既然是電話面試,那么面試官提問時就不要提一些電話中不太方便或者不容易描述的問題,例如描述項目結構或者流程;如果面試官之前沒做過應聘者的項目的業(yè)務,就不要深問這些業(yè)務細節(jié),因為可能三言兩語說不清楚;如果面試官實在想知道,咱們可以約著現場聊,當面溝通很多事情就容易說清楚了。
三、第一輪技術面試
有了這個共識后,我和面試官開始了第一輪電話面試。第一輪面試的時間是某天上午九點,電話面試,面試官簡單的了解了一下我之前做的業(yè)務,接下來就問了我一些 Java 的基礎知識,我面試后做了一下總結和記錄,貼出來給大家看下:
Java 的 Object 類有哪些常用的方法?
哪些場景下,子類需要重寫 equals 方法和 hashCode 方法?
描述下 HashMap get 方法的主要執(zhí)行邏輯和流程;
Java 異常,什么是 checked Exception 和 unchecked Exception,舉幾個具體的例子;是否研究過 Spring Boot 中的異常;
ConcurrentHashMap 的特性和實現原理;
什么是分庫分表,以及分庫分表的具體方法和使用場景;
數據庫事務的 ACID;
什么是分布式鎖以及其實現原理和使用場景;
冪等性問題。
這里需要說一下,上面的面試題其實都很基礎,尤其是涉及到 Java 本身的如果你是從事 Java 開發(fā)的,但是只局限于應付公司的業(yè)務代碼,從來沒有主動去研讀一下 jdk 的一些常用類庫,無論從應付面試來說,還是就你的 Java 技術棧的提高乃至技術職業(yè)生涯都是不好的,希望從事 Java 開發(fā)的讀者要意識到這一點。
網絡上有很多類似于 Java 面試高頻知識點總結的帖子和課程,我個人覺得這些課程你可以用它作為大綱,但是千萬不能只達到這些大綱要求的深度,作為 Java 開發(fā)者,jdk 的源碼,尤其是常用的 Java 類的源碼還是建議認真閱讀一下。
第一輪技術面試結束后,我就問面試官是否通過了。面試官告訴我通過了,然后我問他下一輪的的面試會安排在什么時候。我當時告訴他希望他們盡快安排,已經有其他的公司在催我入職了(期間我已經拿到了字節(jié)的 offer)。面試官說去溝通一下。
于是當天下午大概一兩點左右,一面面試官問我晚上是否有時間,給我安排第二輪技術面試,于是約了當天晚上七點。
四、第二輪技術面試
第二輪技術面試是主管面試。原來約了晚上七點,我到了之后一面的面試官接待了我,并告知我他們主管臨時有點急事,能不能把時間改到九點,或者再約。我當時想既然都來了那就等等吧,就不單獨再約時間了。于是在這之前和一面的面試官又聊了一下,一面的面試官人很 nice,我們聊了很多東西。他和我說了一下后面面試的一些注意事項,告訴我二面面試官的一些情況,建議我在和他談之前的項目時說清楚業(yè)務特點和技術重難點,并給出合理的解決方案,否則很可能被 pass 掉。最后又和我講了一下阿里的薪酬結構和期權的一些事情,以及 HR 面試和其他公司的 HR 面試不太一樣,要我認證嚴肅對待阿里的 HR 面試。
大約到了晚上九點,二面面試官終于來了。先和我介紹了一下他們所做的東西,最后給我出了一個場景題,讓我根據他提出的場景設計一套系統(tǒng),要交代清楚一共有幾個子系統(tǒng),如何保證高性能和高可用。在和面試官討論中我給出了自己的設計方案,當然開始的答案并不完美,后來面試官不斷給我提出新的問題,以考察我的設計能力。正常的面試結束后,面試官就我之前的項目聊了一下自己的看法。
聊了大概一個多小時后,結束了面試,我離開時,發(fā)現外面的沙發(fā)上還有一個人等待面試,汗,競爭壓力真大。
第二天早上,我通過一面面試官幫我打聽二面面試結果,大概中午的時候,二面面試官加我微信說面試通過了,但是三面面試官,也就是他們大部門的 leader 在深圳出差,問我是否方便視頻面試,我說可以,于是就約定了第二天晚上七點的視頻面試。
五、 第三輪技術面試
前一天三面的面試官給我打了個電話,然后加了我微信。第二天晚上七點,面試官準時微信視頻我,打開后發(fā)現是一個胡子沒刮的中年大叔,"大叔”在陽臺上坐在筆記本電腦前面,然后面試就正式開始了。先讓我做個自我介紹,然后就和我聊起之前的項目,在我介紹項目的過程中,時而問一些 Java 細節(jié)的東西,如多線程同步用了哪些對象,如何編碼的,時而問一下框架或者架構方面的,例如如何做熱備、是否使用了分布式服務,分布式服務中多個服務之間數據如何保持一致,系統(tǒng)的支持的最大 QPS,緩存問題、數據庫的壓力問題等等。
三面的技術面試并不容易,一般來說,不同公司因為業(yè)務形態(tài),采用的技術方案不盡相同,但是不少面試官并不認同面試者公司所采用的技術方案,所以需要面試者詳細的、認真的給出合理的解釋,如果你對你負責的系統(tǒng)背后的技術方案從沒進行認真的思考和反思,很容易被面試官幾次連續(xù)追問弄的措手不及,或者落入面試官設置的技術圈套中。
這類面試我給讀者的建議是,無論你是公司某個項目的負責人,還是你只是參與某個項目只負責其中一部分,不僅要想辦法了解整個系統(tǒng)的結構設計,多反思你現在的結構設計,還要對關鍵的細節(jié)核心也要非常熟悉,把你所在的項目的一些關鍵細節(jié)搞清楚,千萬不要只局限于自己的"一畝三分地"。
六、第四輪 HR 面試
第二天早上,一面的面試官告訴我第三輪技術面試已經通過了,接下來就是 HR 面試了,但是阿里的 HR 面試與一般的人事面試不太一樣,HR 在阿里有點像軍團的"政委",同時告訴我,阿里的薪資待遇現金部分不會給太多,更多的是期權,而且這些期權公司內部是明碼標價的,在離職時公司會以制定的價格去回購。
當天,一個自稱阿里的 HR 主管的女性給我打電話,與我約了下一輪的人事面試,具體日期記不得了,是后面幾天的某個上午 10 點。
那天的 10 點,對方如約打來電話。在我以往的經歷中,我覺得既然前面技術面試過了,到了 HR 面試時應該是簡單的了解一下面試者的情況,然后就開始談薪資了。然而事實并不是這樣,這個 HR 先讓我做了一下自我介紹,然后讓我描述一下每段工作經歷分別做了什么、每段工作經歷時長和離職原因,還問了我諸如我工作中最受挫的事情以及最大的挑戰(zhàn)的事情是什么,以及我的一些思想觀念和價值觀念。唉,感覺真的就像"政審"。聊了快一個多小時,我的心一直是繃著的,額頭都出汗了。那天我的媳婦也在旁邊旁聽,我面試了一個多小時,她跟著緊張了一個多小時。
面試最后,同樣的慣例,這個 HR 問我有什么想問的,我當時腦子一發(fā)熱,問了一句套話:您覺得在 IT 公司,HR 應該扮演什么樣的角色?唉,就是這個問題差點,讓我"萬劫不復”了。這個 HR 顯然很老道,并沒有直接回答我的問題,而是反問我怎么看待 HR 工作職責的,我當時說,人力資源部門應該為職能部門做好后勤工作。面試官聽我這么說,立刻表示反對,開始給我說阿里的 HR 如何如何,作用如何如何,接著我就腦袋嗡嗡的又聽了她說了一會兒。最終我們結束了這次的面試。
面試過程中,其實我一直以為會和我談薪資待遇,然后從開始到結束并沒有談到,因為不確定我是否過了這個面試, 也沒有去問。
七、 第五輪 HR 面試
第二天早上,我再次接到這個 HR 的電話,告知我所有的面試都通過了,接下來和我談下薪資待遇。經過他們的綜合考察和評定,給我的職級是 P7(技術專家),給我價值 80 W的期權,分三年拿完,第一年給 25%,第二年再給 25%,第三年給 50%,但是現金部分最多只能給到 32k(月薪),保底薪資是 14 薪。于是我問她,我少要點期權,月薪能否加一點,她說做不到;然后我又問她每股期權如果離職公司的回收價格是明確的嗎?她也說不明確。于是,我又和她說,我說你這個薪資水平和我上上家的待遇差不多。她也不接我我的話茬,說這是公司的規(guī)定,況且你來阿里也不是為了錢。我竟然無言以對。后來,我就說我拿了某獨角獸公司的 offer,人家年薪都給到了七十多萬,你這比人家低的太多了,她又說,這家公司給的薪水本來就比市場平均水平要高很多。
談到這里,我其實已經沒多少耐心繼續(xù)談下去了。我朝思暮想,誠惶誠恐想進的阿里,給出的待遇竟然如此。唉。大家出來工作,不是為了錢,為了啥?而且整個面試的過程也是比較磨人的,最終給出的薪資水平毫無誠意。此時,我實在不想繼續(xù)談下去了,于是我對她說,要不這樣吧,我考慮一天,明天這個時候給你打電話告訴你結果,她說可以,并說第二天會打給我。
八、最終結果
綜合考慮下來,最終我還是決定放棄阿里的 offer。第二天當那個 HR 打來電話時,我直接開門見山的說,我選擇放棄這個 offer,她聽了之后說了一句尊重我的選擇,然后簡單的寒暄了幾句就掛了電話。
九、總結
我這個人,非科班出身,我深知有一份大廠工作經驗的重要性。所以自畢業(yè)以來,一直想著有一天能去 BAT 其中之一工作,然而造化弄人,總因為這樣那樣的原因,一直未能得償所愿。在 2019 年整整一年,創(chuàng)業(yè)付出大量時間和心血之后,決心還是告別小公司,再去大廠歷練一下。于是經過認真的準備,先后面試了騰訊、餓了么、阿里螞蟻金服、字節(jié)跳動等大廠,其中尤為親睞阿里的工作機會,當然由于早些年面試大廠受挫,心里存在一點的恐懼心理,但這次之后再也不存在任何恐懼之心了,說白了,也不過如此而已。
當然,我這里并不是說阿里不好,阿里是一家偉大的公司,給我們的生活帶來了很多的益處。但是有些事情,如同兩個人的結合一樣,勉強不來的。一家企業(yè)在發(fā)展的過程中總會存在很多問題,如果你能忍受這些問題,你可以選擇她,如果你容忍不了,你可以不選擇她。感謝幫助我那么多的阿里一面面試官。
我把這段經歷寫出來分享給大家,并不是想說明我有多強,是希望給想面試阿里的同學一點啟發(fā)和幫助。入職大廠不僅需要技術實力,還需要一點點運氣和策略。
寫在最后 其實除了阿里的 Java 面試,我在這期間也參加過哈嘍單車、餓了么等公司的 Java 面試,哈嘍單車因為薪資沒談攏,餓了么拿到了 offer,回頭有機會也可以給大家分享出來。
關于我的故事,如果你想了解更多,可以加我微信 easy_coder 一起交流。
— 【 THE END 】— 本公眾號全部博文已整理成一個目錄,請在公眾號里回復「m」獲取! 3T技術資源大放送!包括但不限于:Java、C/C++,Linux,Python,大數據,人工智能等等。在公眾號內回復「1024」,即可免費獲取!!
