本文選自《軟體技術職業選擇之道》, 點選下載下傳所有内容
4000 字面試心經,教你如何打動支付寶面試官
看過了前面的技術方向介紹,大家是否從中找到自己的道路呢?可能有人要問了,找到又怎麼樣?又沒法通過面試。
現在,我們給大家準備了面試心經,由校招進入螞蟻的前輩精心奉上,請大家收好 ~
即将或正在飽受校招面試折磨的學弟學妹們好,我是來自螞蟻 CTO 線研發效能部的開發工程師李煜超。從惴惴不安準備春招至今也已過去兩年,現在的我也想作為過來人為你們的春招盡一份力。
先不提我平淡的經曆和不足下酒的心路曆程,這裡我先為你們 🙌 奉上你們最關心的面經寶典。由于我并沒有作為面試官的經驗,是以特地采訪了頗有面試經驗的師兄,結合自身感受整理如下幾條。
履歷
相信在校招季開始之前,優秀的你們已經網羅各種履歷模闆,并整理出了 n 稿漂亮的履歷。其實,履歷的要求是盡量做到簡潔、清晰,那麼一份隻能容納寥寥數字的履歷,該如何包含你們橫溢的才華呢?
首先要知道,履歷的主體是項目經曆。作為在校大學生,面試官并不會要求你們有多龐大或多輝煌的項目經驗(當然有更好!),他們關心的是,經過項目塑造起來的你們是否是部門所需要的——即所羅列的項目與部門工作是否相關,以及你們在這些項目中所展現出來的自我學習能力。
這也就說明你們在篩選項目經曆時也應當有所選擇,側重于展現你擁有部門想要的技能,側重于你在項目實踐過程中使用的技術手段以及這種手段帶來的效果,如果你在學校要求之外開發了一定規模的項目,或是項目存在一定影響力,那是最吼滴。
同時,在編寫履歷時請務必做到實事求是。阿裡是一家十分注重價值觀的公司, 而誠信一直是涵蓋在價值觀中的重要内容。履歷上最明顯的展現便是對自己技能精通程度用詞的描述上,請謹慎使用過于強烈的用詞(如精通)。
簡單來說,履歷是遞給面試官的個人門面,是面試官對你們所提問題的指引,也是你們進行面試準備時的導航。
準備
通常春招的時候,大多數同學已經提前搜集一些或是前人留下,或是勤奮的同學整理的面經資料和面試題集錦。那麼面試經驗尚不多的同學可能會問,背這些有用嗎?
就我個人感覺來說,是有用的。五六年的大學課程,難免會有遺漏,面經作為對學習内容的提煉是很好的助記手段。但也不可過于依賴,這裡以 Java 後端開發為例分幾種情況介紹。
1. 基礎的知識如 JVM、資料結構、資料庫等
這是你們手上每份資料中大部分都會涵蓋的内容,也是你們在校招過程中會被提問無數次的知識,僅靠背誦面經是不足以對付面試的。在準備過程中你們需要時刻問自己是否真的熟悉,做到知其然,知其是以然。有不确定的地方提出來,看看以前上課的 ppt,或是查資料進行系統複習。如果準備時間較為充分,推薦将相關權威書籍再好好閱讀一遍。
值得一提的是,螞蟻的 SOFA/SOFABoot 是基于 Spring 架構自研的金融級分布式中間件。是以,若項目經曆中有涉及 Spring 使用的,也務必要作為重點進行準備,除了是面試的常問問題,他也有助于你們順利通過面試後,能夠盡早投入實際工作中。
2. 履歷中涉及的項目相關知識
很多同學在進行面試資料整理的時候,會把自己面試過程中被提過的問題也歸納進去——通常是項目相關的技術,或者再抽象出一系列複習點。這對他 / 她來說是很有好處的,但在其他人手上可能就成了“幹擾項”。
在你們複習面經資料的過程中,如果碰到類似這種問題,應該進行合理安排,沒必要投入過多精力——指疲于準備面試的情況下,若時間富裕,則多學無害。你們也可以請教整理的同學,這些問題是面試官在什麼場景下提出來的,或者說是怎麼引導出這個問題的,如此有利于你們學會揣度面試官的心思,并根據自己項目中提到的技術進行發散思考。
上一趴提到,履歷是面試準備時的導航。其項目中涉及的技術更是重中之重,對于這些技術,在做到知其是以然之後,最好連其祖宗是以然都知道。準備期間也可以借助腦圖進行整理,梳理相關知識進行學習。
比如項目中涉及了 Spring 技術棧,那麼對于 IOC 和 AOP 的原理勢必要掌握的。既然提到 IOC,那麼說一下 IOC 的好處是什麼,你還需要知道有哪些相關的軟體設計原則,Spring 中的幾種注入方式,和 Spring 的注解作用等等,那麼順便的,注解中的 @Autowired 和 @Resource 你可以說說有什麼差別嗎?提到 AOP,幾個基本概念,幾種通知方法,可以用于開發什麼功能等都可以進行複習。
3. 工具相關知識
如 git、mvn 使用、指令行使用,甚至 idea/eclipse 快捷鍵使用,在專業知識和項目準備充分之餘也可以進行複習。
除了知識的總結學習,算法題和項目回顧也是面試的重點。
對于項目本身需要把脈絡理清,對于整個項目、以及項目的每個子產品,做到用精簡的語言讓面試官能夠明白。回顧項目時,理清楚項目的難點和成果。面對多種方案時是如何考慮的,碰到難題時是怎麼解決的。
算法題就是多刷多做多歸納。
面試
螞蟻的面試通常是有 3-4 輪技術面,還有一輪 HR 面,各輪面試的問題視面試官風格而定,但有以下幾種能力或者說是特質,是面試官希望能夠在你們身上看到的。
一個是基礎能力。面試官對于在校生通常不會有太高的技術水準要求,但會很希望看到你們有紮實的功底。萬丈高樓平地起,隻要發現你們是有潛力的原石,螞蟻就有信心把你們雕塑出龍章鳳姿。
一個是自我學習能力。面試官會樂于看到你們勇于發現問題,全力解決問題,用新方法、新思路來創造變化,帶來突破性的結果。
最為重要的,是需要再一次強調的誠信。對于自己沒做過的,不知道的,沒有必要隐瞞或僞裝。如果想憑經驗進行臨場發揮,也請先勇敢承認。面試不是畢業答辯,沒有必要唯唯諾諾或含糊其辭,面試官其實也是在找自己往後工作中的戰友。可以有不同的見解,面試官不會喜歡弄虛作假的夥伴,但會欣賞一個承認短闆,能夠靈活應變找到答案的人。綜合素質和非專業水準的亮點也是面試官考量的因素。
在進入螞蟻後你會發現,這些其實都是成為一個阿裡人的潛質,是阿裡尋找同路人的方向。
以我自身的面試經曆來看,我的整個面試流程經曆了三輪技術面和一輪 HR 面。
第一輪面試的主要内容是基礎知識和線上算法題。事後與同學交流發現算法題難度不盡相同。作為過來人回頭看,除了最終結果,面試官還會看中你們的解題思路和程式設計習慣(說人話:把代碼寫好看點,推薦看《重構》和《代碼整潔之道》)。
可能由于寫的項目經曆和部門業務較為相關,第二三輪技術面基本圍繞項目展開,依稀記得第三輪面試的時候,我就和面試官就我做過的項目方向有不同意見,産生了讨論,當時一度覺得自己可能與螞蟻無緣了 。
最後的 HR 面其實更像一個互相了解的過程,HR 會問你關于工作的看法(包括base 地、方向等)或是考量你價值觀的小問題(并不确定是不是),當然你也可以提出你對工作或部門的疑問。
個人經曆
說完幹貨,接下來便是“水貨”。
我本碩就讀于南京某 500 本大學——南哪大學的軟體學院。學校不是真的 500本,但我的成績大概差不多是 500 本的水準,是以在學習經驗上并不能給你們很好的建議。
我們學院的部分課程工程氛圍頗為濃厚(至少大學是),頭幾年常常會被數不盡的文檔淹沒,其中大作業 ddl 是比期末考更令人疲憊和在意的事。是以我的大學生活也及其簡單,沒事就泡球館,大作業賣力做,考試要求不挂科(排名分先後),就這樣,波瀾不驚地來到了研究所學生階段和春招季,開始了和螞蟻的邂逅。記得當時同一實驗室的師兄已經在螞蟻實習,恰好我們正在做的課題與部門工作有一定聯系,便推薦我内推。作為一個剛出新手村的菜鳥,為了抓住擺在眼前進入心怡大廠的機會,我特地問他,能不能晚些進行面試,讓我先多刷刷怪漲漲經驗。師兄善解人意,通情達理,我接的第二個面試電話就是螞蟻的。
好在最後還是有驚驚驚驚驚無險地拿到了 offer,你們看,我的經曆就是這麼樸實無華且枯燥。
回過頭來看過去幾年,如果可以,還是想給年輕的自己幾點建議,也希望能給或是還處在美好的大學生活中,或是在焦急準備面試,或是剛剛拿到 offer 的你們一點幫助:
1. 所有的專業課程,都好好上
并不是說非專業課程就能荒廢,隻是對于專業課程有更深的體會。在入職後,當事人表示非常後悔。
曾經有諸多課程擺在我面前,我沒有珍惜,老師在台上聲情并茂的介紹,我在台下不屑地想着:“這東西我以後工作能用到?能用到我把這課本吃下去。”。現在追悔莫及,作為研發效能部的開發工程師,我一次一次地切身體會到學校課程安排誠不欺我,隻能在空閑時間重新撿起來,為年輕的自己買單。
2. 課餘時間多了解一些專業前沿知識
入職後,你會有機會與同屆畢業生接觸、合作,會發現總是有那麼些閃閃發光的人,永遠有自己的想法,永遠走在前方。多了解一些前沿知識,能幫助你們培養專業素養,保持前瞻意識。
3. 認真取花名!
對我來說,這個可能是最重要的建議了!對于順利拿到阿裡 offer 的同學,首先恭喜你們,其次作為阿裡的一個文化,希望你在取花名前能認真考慮,不要重蹈我的覆轍!我的花名是黎荍(qiáo),取花名時誤以為花名一定要古風,一通瞎琢磨後取了這麼個我查詞典前都不認識字的花名。
4. 認真思考就業方向
除了 hc,在投履歷的時候你們需要好好問問自己,自己夢想什麼崗位,是算法還是開發,是做業務還是做平台,對于所投部門與自己的研究方向是否比對,還在躊躇的小朋友,也可以借着實習的機會切身感受一下實際工作與想象是否一緻。