就現在!螞蟻「校招季」重磅來襲!除了介紹螞蟻的技術大咖,我們還邀請了一些通過校招來到螞蟻的過來人分享他們的通關經驗和心得,這裡隨時可能有行業技術大咖和你的直系學長學姐出沒哦~「校招季」欄目會持續輸出有關“螞蟻校招”的豐富內容,敬請期待!
我是螞蟻金服-CTO線-可信原生技術部的開發工程師夏睿,2019年7月份通過校招正式地加入螞蟻。從拿到實習offer到現在,我在螞蟻已經快兩年了。
還記得收到實習 offer 短信時是個傍晚,被面試季折磨得有些疲憊的我心情有些些低落,換好了運動服準備去操場跑步散心,就在剛邁出宿舍樓沒多遠,就收到了螞蟻金服的喜報短信。
回顧這兩年的點滴經過,我能夠真實地感受到自己的成長,也有許多經歷想同正面臨畢業求職的大家分享。
“逆襲”:從期末成績紅旗飄飄到成功拿到螞蟻offer
在南京大學軟件學院,我度過了本科和研究生的6年時間。大學生活本是每個人無比懷念的時光,於我,這6年卻是迷迷瞪瞪、跌跌撞撞、有笑也有淚的6年。和大多數計算機專業的普通同學一樣,我在大學前從未接觸過編程,選擇這個專業也不過是源於不錯的就業前景,以及“大家都說難,我偏要做做看”的一股年輕氣盛。然而這年輕氣盛在我邁入大學的那一刻起就敗給了貪玩,以往踏實勤奮的我像一匹脫韁的野馬,在大學這片自由的草原上一跑起來就忘記了學習。社團活動間的盲目奔波,匆匆應付的課程實踐作業,飄紅的學期末成績,輔導員老師的談心,概括了我的大學前兩年,算是個妥妥的學渣了(自信點,去掉“算是”,你就是)。
直到大三,周圍漸漸濃郁的求職氣氛讓我開始靜下心仔細想一想自己的未來,開始一門門補起落下的課,並決定考研。決定考研,一方面是當下對找工作信心不足,另一方面也期待研究生的兩年能成為一個新的起點。然而天有不測風雲,故事遠沒有那麼簡單,課餘時間就把自己關在自習室複習的我,竟然漏掉了研考報名的線下確認環節,直到臨考前下載不到准考證才發現。漏掉這個環節意味著所有的前期準備化為泡影,匆忙間,我踏上了求職的道路。在上海SAP作為臨時實習生直到大學畢業,我最終還是捨不得白瞎了考研複習付出的努力,選擇了再次考研。好在第二次的考研不再有什麼故事,以最高分考入學院。
結束6年學生生涯,如願進入螞蟻
有了大學時的經歷,從研究生開學前我就開始對自己有所規劃,完成課業要求之外我也在留意補齊基礎知識,為求職做準備。再加上學院鼓勵實習,在畢業前一年的春招季我就投遞了簡歷,經過為期一個月的4輪技術面試和1輪HR面,激動的心顫抖的手,我在4月初收到了螞蟻的實習 offer.
正式進入螞蟻緣於阿里在南大開的分享會,學長學姐們宣講時自信的談吐、清晰有邏輯的ppt、對技術前沿的理解讓我心潮澎湃,之後我通過了解各大公司的特點、技術棧貼合度最後決定選擇螞蟻的可信原生技術部(Trust-Native Tech)。
其實面試季每個人都會或多或少地面臨焦慮,甚至被拒後的短暫性自我否定,然而這是每個人踏往職場的必經之路,也是對專業知識的全面梳理和自己的重新審視,用我的好朋友灰灰的話來說,每個用心經歷了面試季的人都會蛻一層皮,但蛻完皮熬過去了,結果會好的。但願每個人都能用心地經受這場面試季的歷練,也祝願大家都有能互相鼓勁的同道好友,一起迎接柳暗花明。
此時此刻,小朋友你是否有很多問號:為什麼我能從一介學渣轉變到如願進入螞蟻這樣的大廠實習?
在這裡我也很想分享一下自己準備面試的心得和幾輪面試的經歷。
面試乾貨1:技術簡歷處處都得是“真功夫”
來到螞蟻之後我也接到過學弟學妹投遞的簡歷,有一些簡歷寫得還不夠好。除個人信息外,一篇技術簡歷至少需要講清技術技能、項目經歷這兩個主要方面。
首先,技術技能這一項的目的,是以最精煉的方式概括出自己的技能掌握情況,給面試官提供最直接的參考,一般按照熟悉程度排序,使用“精通/熟悉/掌握”等描述掌握程度。
與之緊密相關的另一項則是項目經歷。項目經歷是技術技能的“evidence”,也能更詳盡、全面地展現面試者的動手能力和思考力。項目經歷描述建議採用“why/how/result”三段式描述,why 指項目背景,或理解成需求,需要重點描述實現了哪些功能,有哪些難點;how 指技術和方案設計,描述通過使用哪種算法/框架、或是通過哪種改進手段來解決或優化問題;result 則是成果,推薦用可量化的方式描述關鍵結果,例如“通過引入redis緩存,將響應時間從1s 減少至0.1s 以內”,這也是常常被忽略的一點。
學生的項目經歷一般較少,在複雜度上也相對低一些,校招面試官們也會考慮到這一現實而放寬數目和難度的要求,但這完全不意味著把項目簡單羅列就好。一來項目經歷是簡歷的重要門面,還能體現面試者的邏輯和表達能力,決定了呈現給面試官的第一印象;二來項目經歷是面試官提問的參考來源,最理想的效果是能引導面試官提問到自己有深入研究和思考的問題,最大地發揮簡歷的價值。
編寫簡歷千萬不要以為是套用模板填填空就好,簡歷上的每一句話都應當是有用的,雖然每個字都靜靜躺在紙上,但實際都在朝著面試官吶喊:這一項可以提問一下!那一項也可以深入聊一聊!
這裡推薦兩篇針對技術人介紹簡歷編寫要點的文章:一篇是阮一峰的《如何寫一份有效的技術簡歷》,另一篇是Lucida 的乾貨滿滿的《精益技術簡歷之道——改善技術簡歷的47條原則》。兩篇文章有詳有略,觀點也不盡相同,建議綜合起來參考。我曾從中受益匪淺,相信看完它們再寫出來的簡歷也一定能成為你面試中的第一擊。
面試乾貨2:技術是面試的硬通貨——“唯學完+吃透爾”
如果說簡歷是面試的引子,那技術面中的問答就是面試的正文了。如果在平時,沒別的就是多積累多實踐,但如今春招迫在眉睫,秋招也並不遙遠,還說平時多積累可能就和多喝熱水一樣敷衍了。當然,應對面試季也的確有特殊的複習技巧。
就我個人經驗來看(後臺開發,Java為主),幾大項基礎知識幾乎必問:數據結構(尤其樹、list、map)和算法(尤其排序、搜索、動態規劃);網絡基礎(必問TCP 揮手握手,四層七層);操作系統基礎(相對較少,內存分頁分段、CPU分時、文件系統);數據庫(常問事務隔離級別)等等,根據技術棧搜索“校招技術面試整理”就能一鍵 get 來自廣大網友的全面整理,這些能夠掌握的話,至少至少一面就完全足夠。
除去基礎部分,還有一些略微進階的知識模塊,我在面試前著重複習了JVM、設計模式、併發這幾項,對應地,推薦《深入理解 JVM》《設計模式之禪》《Java 併發編程》這幾本書,另外,java 源碼也是非常好的學習來源。
此外還可以結合時下真實問題進行專項複習,比如我記得曾經專門學習了大數據場景下對各類算法的改進方案;另外還有常用開發工具(如git)和命令的使用等。
上面提到的知識點在網絡上都能找到充足的資料,無他,唯學完+吃透爾。
這裡順便分享下我的面試經歷。不得不說阿里效率的確很高,每輪技術面之間間隔大約1周時間,我最早接到的面試電話和最早收到的 offer 都是來自螞蟻——當然,面試時的緊張和接受 offer 時的激動也是加倍的。
第一次電面時,我站在學院樓樓道窗前被寒風吹得直髮抖,原本略微緊張的顫音變成了真的哆嗦,好在問到的問題相對了解,而面試官逐步引導和深入的提問方式也很大程度地緩解了緊張;而第二次接到電話時我跑去了雞鳴寺看櫻花,匆忙間跑到個人少的角落完成了面試,也和環境的影響有一點關係,我在這輪的表現就相對差了一些。這裡也提醒在面試季的大家,工作日時間儘量保證自己處於容易專注的環境,實在特殊原因不適合面試的話,就只好和面試官另約時間了。
面試乾貨3:面試官更注重應屆生的思考和理解能力
正如上一小節所說,相對於社招,面試官對校招同學在技術廣度、深度和項目經歷要求會寬鬆一些。就像我的老說的“校招生在技術上大多沒有很大的差別,通過有意識地積累都可以很快提升”,那麼既然校招生在技術上的差別沒有我們自己想象的那~麼大,面試官除了看技術水平之外,還會怎樣衡量大家的水平呢?我的看法是,面試中展示出來的思維過程也很重要。
如果我是校招面試官,我想我會關注同學對知識點的理解是否透徹,在被提問到之前有沒有主動思考過,這就需要平時和複習時習慣性地主動思考,有意識地構建自己的知識體系,多一些知其然知其所以然,少一些浮於表面的“虛假掌握”;另外在我的經驗裡,面試官的提問經常是引導式和步步深入的,這有點類似於高考物理大題分了幾個小問,前面的問題往往能對後續問題的思路有所輸入。
事先清楚“最後一問”的解法是很棒的,但有些問題即使原本不瞭解,在面試官的引導發問中找到答案也是不錯的表現;最後電話面試全程靠語言交流,如何用盡量精煉的話語邏輯清晰地表達自己的想法,也是一項可以有意去訓練的能力。
面試乾貨4:你是哪種顏色不一樣的煙火
校招學生在經驗和能力上都還有很大的提升空間,因此我們追求的並非面面俱到、樣樣精通,而是在短暫的幾十分鐘面試時間內展示出自己的亮點。實際上從簡歷到面試,每個環節都是一次展示自己的機會,如果能在這個過程中展現出自己的亮點,給面試官留下深刻印象,整個面試也就向成功邁出了一大步。
展現亮點的前提是有亮點。對應屆生來說,建模比賽獲獎、技術論文發表、向開源項目貢獻過代碼、github 項目可觀的 star 數都能讓面試官眼前一亮;但很多同學在這幾個領域沒有拿到過成績,要如何展示自己的亮點呢?事實上,大部分同學都會寫寫總結性質的技術博客,把自己的博客寫得清晰、有一定深度也是很不錯的亮點。此外,對某項技術有超出大多數人的瞭解、看過某些領域的源碼並且有很多思考、能用技術手段解決生活裡問題(例如課餘時間給自己開發了個小工具)都是可以著意展示的亮點。
定位好了自己的亮點,接下來如何展示亮點呢?
一方面,在簡歷中適當地強調自己的技術優勢,寫項目經歷時可以在自己熟悉的技術、方案上多寫幾句;另一方面,在面試中,做自我介紹和回答問題時也可以做好鋪墊和引導,面試官一般都會順著多問一問。
面試的目的不是誰把誰問倒,適當的引導能幫助面試官瞭解我們擅長什麼,是否匹配崗位,對我們自己來說則是拋出亮點的重要方式。
在螞蟻兩年的關鍵詞:重磅項目、技術大佬、技術大學、良師益友……
回想2年前的今天,我也和屏幕前的你一樣,一邊認真地研讀著學長學姐的面試經驗,一邊憧憬著自己的未來。如今一轉眼,我的“蟻齡”也將近2歲了。
這兩年的時間裡,我看到了自己肉眼可見的進步,接觸到越來越多令人振奮的技術和項目,見識了大佬們深厚的技術實力,也交到了很多好朋友。在這裡也把我加入螞蟻以來的經歷和感想分享給大家。
每個通過校招加入的新人都會經過百阿和近衛軍的洗禮。青年近衛軍是螞蟻技術新人培養項目,對我來講,可以具體說是為期一個月的帶薪培訓 + 快速融入適應期 + 做項目 + 交朋友的難忘時光~ 培訓第一天和一同入入職的同齡人一起參加戶外素質拓展,之後一起組建團隊完成一個mini alipay的實踐項目。
雖然只有短短的一個月,但近衛軍留給我的上手技能都還很有用、和小夥伴們一起吃過的火鍋擼過的串也還記得味道,在近衛軍期間交到的好朋友們依然常常聯繫。
青年近衛軍第一天——戶外拓展
正式入職不久我也就經歷了一次小的調整,從傳統的java中臺開發轉為做更加底層的雲原生編程語言的項目,最初的幾個月真的是不斷受挫、緊張又刺激。幸運的是我的老闆兼師兄很有耐心,從介紹背景知識到制定學習計劃,從分享經驗到心態鼓勵,帶我走出了最初的困頓期。最近我在對接項目時常常需要向其他團隊的同學請教和交流,也感受到了技術人的主動和專業高效。
阿里“新六脈”把快樂工作,認真生活列為了價值觀之一,除了積極參與部門組織的團建和年會,工作之餘我也一直盡力保持自己認真生活的目標。作為程序員的我有個非典型程序員的愛好——種花,暢想退休之後能湧有一個自己的小花園~現在出租屋的陽臺裡盛滿了花香和春天的陽光;我還利用週末時間學會了滑冰,平時也能時不時下廚做幾道頗受好評的菜。
實習之初,歡樂的武夷山團建之旅
還記得兩年前我上網翻著楚辭精心為自己挑選了花名:瓴熙——高屋建瓴,緝熙敬止,這兩句話在兩年的時間裡一直鞭策著我,以高遠的目光,懷誠敬之心,向著至善不斷地努力。對於我,選擇螞蟻也就是選擇了更大的平臺、更高的起點,同時也是主動選擇了挑戰。這兩年的時間我收穫過也受挫過,有成長也曾有急得偷偷哭過。但現在回望這段剛剛啟程的時光,我想我十分確定,當初沒有選錯。
寫給正在面臨面試的你們
人生是一場漫長的馬拉松,我們未來能站到什麼位置取決於現當下是否在全力地奔跑。不管你是像我一樣曾經怠惰,還是在畢業的關頭忽然迷茫無措,現在開始腳踏實地、跑起來吧。校招面試就是這馬拉松裡階段性衝刺的一段,相信做足準備的你一定能厚積薄發,如願上岸。
如果你也認為“年輕時就要做年輕人該做的事”、如果你渴望挑戰、期待突破,想站在巨人的肩膀上繼續創造,歡迎加入螞蟻;如果你熱愛探究技術的本質,對操作系統、編程語言、雲原生社區感興趣,歡迎加入螞蟻金服-可信原生技術部。春招已經拉開序幕,我們在這裡等你來。
加入我們
> 職位簡介
部門:螞蟻金服-CTO線-可信原生技術部
地點:杭州市西湖區 成都市高新區
崗位:實習開發工程師
面向:2020.11 -2021.10 畢業的本科/研究生
面試形式:通常是電話面試,會提前預約合適的時間哦
簡歷投遞:[email protected]
> Who Are We?
我們是來自可信原生技術部(Trust-Native Tech)的雲原生工程系統(Cloud-Native Engineering System)團隊。
螞蟻金服正在推進國內最大規模的雲原生化落地,並逐步聚焦雲原生應用綜合交付效率及穩定性。雲原生工程系統旨在通過編程語言及框架的形式加速雲原生落地,聚焦雲原生各領域的體驗、效能、穩定性、安全等關鍵問題,提供相關基礎系統及理論支撐。
> 在這裡,你將:
1.從事雲原生可編程基礎設施研發,包括但不限於 DSL 設計及引擎研發、SDK 研發、工具鏈研發及項目落地,服務於螞蟻工程效能、運維交付、安全可信等重要場景;
2.從事雲原生外帶技術及工具研發,幫忙螞蟻的研發、SRE 團隊低成本、高體驗的使用雲原生基礎設施及服務,提升螞蟻超大規模 k8s、mesh 集群使用的敏捷性,推進雲原生模式的普適化,加強落地安全性和穩定性,進一步釋放雲原生技術生態紅利;
3.從事雲原生基礎設施的形式化驗證系統研發;
4.深度參與雲原生開源社區項目。
> 領域方向
1.雲原生方向:熟悉雲原生領域頭部項目(k8s,istio 等)api層、模型層及關聯規範、標準,熟悉其典型場景;熟悉 k8s api server、kubectl/istioctl、operator機制、kubebuilder,項目 commiter 優先;
2.編程語言方向:熟悉現代編程語言體系,有parser/interpreter(如python、 js、lua等)配套SDK,及研發、測試、調試工具鏈研發經驗者優先,有云原生領域落地實踐者優先;
3.形式化驗證方向:熟悉形式化建模(分佈式系統建模、離散工作流建模、規則約束建模等)方法,有研發實踐經驗者優先。
> 基礎要求
1.熟練掌握golang、c/c++、java、python中的一種或多種,有云計算場景工具系統研發經驗者優先;
2.紮實的算法及數據結構基礎,對軟件工程有良好的理解;有高性能服務端研發經驗者優先 ;
3.有技術熱情、責任感,致力於推進雲原生的深度愛好者優先。