一位90後少年面試支付寶後的“肺腑之言”

即將或正在飽受校招面試折磨的學弟學妹們好,我是來自螞蟻金服CTO線研發效能部的開發工程師李煜超。從惴惴不安準備春招至今也已過去兩年,現在的我也想作為過來人為你們的春招盡一份力。

先不提我平淡的經歷和不足下酒的心路歷程,這裡我先為你們奉上你們最關心的面經寶典。由於我並沒有作為面試官的經驗,因此特地採訪了頗有面試經驗的師兄,結合自身感受整理如下幾條。

一位90後少年面試支付寶後的“肺腑之言”

簡歷

相信在校招季開始之前,優秀的你們已經網羅各種簡歷模板,並整理出了n稿漂亮的簡歷。其實,簡歷的要求是儘量做到簡潔、清晰,那麼一份只能容納寥寥數字的簡歷,該如何包含你們橫溢的才華呢?

首先要知道,簡歷的主體是項目經歷。作為在校大學生,面試官並不會要求你們有多龐大或多輝煌的項目經驗(當然有更好!),他們關心的是,經過項目塑造起來的你們是否是部門所需要的——即所羅列的項目與部門工作是否相關,以及你們在這些項目中所展現出來的自我學習能力。

這也就說明你們在篩選項目經歷時也應當有所選擇,側重於展現你擁有部門想要的技能,側重於你在項目實踐過程中使用的技術手段以及這種手段帶來的效果,如果你在學校要求之外開發了一定規模的項目,或是項目存在一定影響力,那是最吼滴。

同時,在編寫簡歷時請務必做到實事求是。阿里是一家十分注重價值觀的公司,而誠信一直是涵蓋在價值觀中的重要內容。簡歷上最明顯的體現便是對自己技能精通程度用詞的描述上,請謹慎使用過於強烈的用詞(如精通)。

簡單來說,簡歷是遞給面試官的個人門面,是面試官對你們所提問題的指引,也是你們進行面試準備時的導航。

準備

通常春招的時候,大多數同學已經提前蒐集一些或是前人留下,或是勤奮的同學整理的面經資料和麵試題集錦。那麼面試經驗尚不多的同學可能會問,背這些有用嗎?

就我個人感覺來說,是有用的。五六年的大學課程,難免會有遺漏,面經作為對學習內容的提煉是很好的助記手段。但也不可過於依賴,這裡以Java後端開發為例分幾種情況介紹。

1.基礎的知識如JVM、數據結構、數據庫等

這是你們手上每份資料中大部分都會涵蓋的內容,也是你們在校招過程中會被提問無數次的知識,僅靠背誦面經是不足以對付面試的。在準備過程中你們需要時刻問自己是否真的熟悉,做到知其然,知其所以然。有不確定的地方提出來,看看以前上課的ppt,或是查資料進行系統複習。如果準備時間較為充分,推薦將相關權威書籍再好好閱讀一遍。

值得一提的是,螞蟻的SOFA/SOFABoot是基於Spring框架自研的金融級分佈式中間件。因此,若項目經歷中有涉及Spring使用的,也務必要作為重點進行準備,除了是面試的常問問題,他也有助於你們順利通過面試後,能夠儘早投入實際工作中。

2.簡歷中涉及的項目相關知識

很多同學在進行面試資料整理的時候,會把自己面試過程中被提過的問題也歸納進去——通常是項目相關的技術,或者再抽象出一系列複習點。這對他/她來說是很有好處的,但在其他人手上可能就成了“干擾項”。

在你們複習面經資料的過程中,如果碰到類似這種問題,應該進行合理安排,沒必要投入過多精力——指疲於準備面試的情況下,若時間富裕,則多學無害。你們也可以請教整理的同學,這些問題是面試官在什麼場景下提出來的,或者說是怎麼引導出這個問題的,如此有利於你們學會揣度面試官的心思,並根據自己項目中提到的技術進行發散思考。

上一趴提到,簡歷是面試準備時的導航。其項目中涉及的技術更是重中之重,對於這些技術,在做到知其所以然之後,最好連其祖宗所以然都知道。準備期間也可以藉助腦圖進行整理,梳理相關知識進行學習。

一位90後少年面試支付寶後的“肺腑之言”

比如項目中涉及了Spring技術棧,那麼對於IOC和AOP的原理勢必要掌握的。既然提到IOC,那麼說一下IOC的好處是什麼,你還需要知道有哪些相關的軟件設計原則,Spring中的幾種注入方式,和Spring的註解作用等等,那麼順便的,註解中的@Autowired和@Resource你可以說說有什麼區別嗎?提到AOP,幾個基本概念,幾種通知方法,可以用於開發什麼功能等都可以進行復習。

3.工具相關知識

如git、mvn使用、命令行使用,甚至idea/eclipse快捷鍵使用,在專業知識和項目準備充分之餘也可以進行復習。

除了知識的總結學習,算法題和項目回顧也是面試的重點。

對於項目本身需要把脈絡理清,對於整個項目、以及項目的每個模塊,做到用精簡的語言讓面試官能夠明白。回顧項目時,理清楚項目的難點和成果。面對多種方案時是如何考慮的,碰到難題時是怎麼解決的。

算法題就是多刷多做多歸納。

面試

螞蟻的面試通常是有3-4輪技術面,還有一輪HR面,各輪面試的問題視面試官風格而定,但有以下幾種能力或者說是特質,是面試官希望能夠在你們身上看到的。

一個是基礎能力。面試官對於在校生通常不會有太高的技術水平要求,但會很希望看到你們有紮實的功底。萬丈高樓平地起,只要發現你們是有潛力的原石,螞蟻就有信心把你們雕塑出龍章鳳姿。

一個是自我學習能力。面試官會樂於看到你們勇於發現問題,全力解決問題,用新方法、新思路來創造變化,帶來突破性的結果。

最為重要的,是需要再一次強調的誠信。對於自己沒做過的,不知道的,沒有必要隱瞞或偽裝。如果想憑經驗進行臨場發揮,也請先勇敢承認。面試不是畢業答辯,沒有必要唯唯諾諾或含糊其辭,面試官其實也是在找自己往後工作中的戰友。可以有不同的見解,面試官不會喜歡弄虛作假的夥伴,但會欣賞一個承認短板,能夠靈活應變找到答案的人。綜合素質和非專業水平的亮點也是面試官考量的因素。

在進入螞蟻后你會發現,這些其實都是成為一個阿里人的潛質,是阿里尋找同路人的方向。

一位90後少年面試支付寶後的“肺腑之言”

以我自身的面試經歷來看,我的整個面試流程經歷了三輪技術面和一輪HR面。

第一輪面試的主要內容是基礎知識和在線算法題。事後與同學交流發現算法題難度不盡相同。作為過來人回頭看,除了最終結果,面試官還會看中你們的解題思路和編程習慣(說人話:把代碼寫好看點,推薦看《重構》和《代碼整潔之道》)。

可能由於寫的項目經歷和部門業務較為相關,第二三輪技術面基本圍繞項目展開,依稀記得第三輪面試的時候,我就和麵試官就我做過的項目方向有不同意見,產生了討論,當時一度覺得自己可能與螞蟻無緣了。

最後的HR面其實更像一個互相瞭解的過程,HR會問你關於工作的看法(包括base地、方向等)或是考量你價值觀的小問題(並不確定是不是),當然你也可以提出你對工作或部門的疑問。

個人經歷

說完乾貨,接下來便是“水貨”。

一位90後少年面試支付寶後的“肺腑之言”

我本碩就讀於南京某500本大學——南哪大學的軟件學院。學校不是真的500本,但我的成績大概差不多是500本的水平,因此在學習經驗上並不能給你們很好的建議。

我們學院的部分課程工程氛圍頗為濃厚(至少本科是),頭幾年常常會被數不盡的文檔淹沒,其中大作業ddl是比期末考更令人疲憊和在意的事。因此我的本科生活也及其簡單,沒事就泡球館,大作業賣力做,考試要求不掛科(排名分先後),就這樣,波瀾不驚地來到了研究生階段和春招季,開始了和螞蟻的邂逅。記得當時同一實驗室的師兄已經在螞蟻實習,恰好我們正在做的課題與部門工作有一定聯繫,便推薦我內推。作為一個剛出新手村的菜鳥,為了抓住擺在眼前進入心怡大廠的機會,我特地問他,能不能晚些進行面試,讓我先多刷刷怪漲漲經驗。師兄善解人意,通情達理,我接的第二個面試電話就是螞蟻的。

一位90後少年面試支付寶後的“肺腑之言”

好在最後還是有驚驚驚驚驚無險地拿到了offer,你們看,我的經歷就是這麼樸實無華且枯燥。

回過頭來看過去幾年,如果可以,還是想給年輕的自己幾點建議,也希望能給或是還處在美好的大學生活中,或是在焦急準備面試,或是剛剛拿到offer的你們一點幫助:

1.所有的專業課程,都好好上

並不是說非專業課程就能荒廢,只是對於專業課程有更深的體會。在入職後,當事人表示非常後悔。

曾經有諸多課程擺在我面前,我沒有珍惜,老師在臺上聲情並茂的介紹,我在臺下不屑地想著:“這東西我以後工作能用到?能用到我把這課本吃下去。”。現在追悔莫及,作為研發效能部的開發工程師,我一次一次地切身體會到學校課程安排誠不欺我,只能在空閒時間重新撿起來,為年輕的自己買單。

2.課餘時間多瞭解一些專業前沿知識

入職後,你會有機會與同屆畢業生接觸、合作,會發現總是有那麼些閃閃發光的人,永遠有自己的想法,永遠走在前方。多瞭解一些前沿知識,能幫助你們培養專業素養,保持前瞻意識。

3.認真取花名!

對於順利拿到阿里offer的同學,首先恭喜你們,其次作為阿里的一個文化,希望你在取花名前能認真考慮,不要重蹈我的覆轍!我的花名是黎荍(qiáo),取花名時誤以為花名一定要古風,一通瞎琢磨後取了這麼個我查詞典前都不認識字的花名。

一位90後少年面試支付寶後的“肺腑之言”

4.認真思考就業方向

除了hc,在投簡歷的時候你們需要好好問問自己,自己夢想什麼崗位,是算法還是開發,是做業務還是做平臺,對於所投部門與自己的研究方向是否匹配,還在躊躇的小朋友,也可以藉著實習的機會切身感受一下實際工作與想象是否一致。

那麼,有沒有一個部門,崗位選擇多,實習生活豐富多彩,工作內容與學校所學課程高度match呢?

當!然!有!啦!

螞蟻金服CTO線研發效能部門面向全體2020校招實習畢業生開啟春招啦!不管你是前端後端,Java,C++,Android還是iOS,是研發還是數據、算法,只要你有技術激情,勇於挑戰,我們,歡迎你的到來!

加入我們

JAVA/ C++研發工程師

1. 計算機,數學,統計學, 運籌學或相關專業應屆畢業生;

2. 良好的計算機專業基礎,熟練掌握數據結構、算法、操作系統等基礎知識;

3. 優秀的編程能力,熟練使用C/C++或者Java編程語言;

4. 良好的團隊協作能力,有技術激情,能夠勝任有挑戰的工作;

5. 有分佈式系統或者其它底層系統研發經驗優先。

數據/算法工程師

1. 有分佈式系統或者其它底層系統研發經驗優先。

2. 計算機、數學、統計等相關專業應屆畢業生,機器學習、深度學習、NLP等泛人工智能領域研究方向的碩士、博士優先;良好的計算機專業基礎,熟練掌握數據結構、算法、程序設計等基礎知識;

3. 熟練掌握SQL、R、Python以及相關進行大規模分析的工具和Hadoop/Spark/Cosmos/ODPS等大數據分佈式平臺,熟悉大規模分佈式機器學習框架(Spark MLLib,MPI,ParameterServer等)、深度學習開源工具(Caffe,Theano,Torch,Ten-sorFlow,MXNet,CNTK等),Coding能力較強,有Java語言編程經驗優先;

4. 良好的團隊協作能力,有技術激情,能夠勝任有挑戰的工作;

5. 在頂級機器學習、信息安全和AI領域會議和期刊有文章發表的優先考慮(比如NIPS、ICML、ICLR、AAAI、IJCAI、KDD、SIGIR、CCS、WWW、JMLR等)。

Android/iOS研發工程師

1. 計算機、數學、統計、通信等相關專業應屆畢業生。

2. 良好的計算機專業基礎,熟練掌握數據結構、算法、操作系統等基礎知識;

3. 熟悉iOS/Android平臺原理機制,具備iOS或Android客戶端應用實際開發經驗;

4. 有一定軟件架構設計能力,熟悉常見的異步,同步,多線程,跨進程,組件,容器的設計方法;

5. 具備創新業務技術攻關和落地能力者優先(不限於算法,生物識別,圖形圖像,3D建模,AR,多媒體等領域)

前端研發工程師

  • 職位要求

1. 編程基礎紮實, 熟練掌握JavaScript、HTML、CSS等前端基礎技術;

2. 熟悉計算機與網絡,瞭解數據結構與算法;

3. 熟悉模塊化、前端編譯與構建工具,瞭解React、Vue等主流前端框架,能理解其設計原理;

4. 關注新事物、新技術,有較強的學習能力,喜歡挑戰;

  • 加分項

1. 同時具備PC/無線端開發能力,有成功的中大型Web產品或移動應用開發經驗;

2. 有參與前端開源項目開發,或有優秀的個人項目;

3. 有服務端開發經驗(微服務、Serverless、PaaS等, 熟悉Node、Java、Go等語言) ;

4. 瞭解可視化知識, 熟悉SVG、Canvas、WebGL, 使用過D3、G2、ECharts等類庫。

程序分析技術工程師

  • 職位描述

1. 搭建及維護程序靜態分析基礎框架,基礎引擎;

2. 設計實現及維護分析器程序語言特性建模系統,屬性描述系統等系統;

3. 設計實現擴展及維護程序分析結果查詢語言;

4. 研發及維護基礎程序分析算法例如指針分析,數值分析等;

5. 研發各程序語言代碼漏洞檢查器,支持檢查標準如CWE,CERT,OWASP等;

6. 研發及維護約束求解,打分,修復點計算等周邊算法。

  • 職位要求

1. 計算機或相關專業全日制本科或以上學歷;

2. 熟悉程序語言的基礎理論及概念;

3. 紮實的算法及計算理論基礎(如圖靈機模型);

4. 較強的總結能力,系統化思維及能力以及抽象思維的能力;

5. 較強的學習能力,可以很快上手並理解一門新的程序語言;

6. 熟練掌握Java/C/C++語言,能編寫穩定,高效,可靠的代碼。

  • 加分項

1. 有從事過程序語言方面理論研究,有研究生以上學歷者優先;

2. 有從事編譯器/程序分析器/程序漏洞檢查器開發經驗;

3. 熟悉編譯器中間代碼格式以及程序分析相關概念,比如控制流等;

4. 有靜態程序分析工具使用經驗和程序漏洞挖掘經驗;

5. 熟悉LLVM中間代碼。

簡歷投遞

郵箱:[email protected]


分享到:


相關文章: