兩年Java,去位元組跳動寫Python和Go
前言
2019年5月,在收到offer郵件的那一刻,我仍然不敢相信自己這一番際遇。經歷了七場面試,終於得償所望,拿到了位元組跳動的offer。
做加入大廠的決定並不是巧合。在多年的職業生涯裡,我曾多次對接一線網際網路公司的服務,與一線公司的員工有不少接觸,再加上各種技術部落格的耳濡目染,愈發讓我對大廠心嚮往之。另外,二線網際網路公司節奏相對較慢,內部的管理機制並不能滿足我對極致工程師文化的期待。也許我註定要被996文化洗禮吧^_^
正如我之前部落格所述,憑藉紮實的C#.net功底,我進入了一家二線網際網路公司,這一待就是4年零3個月。這期間,我買房買車,過上了悠閒舒適的生活。但安閒的生活並沒有讓我獲得滿足,在寫了兩年C#之後,我毅然決定地選擇轉Java,並同時攻讀軟體工程碩士學位,終於在2018年5月,我拿到了碩士學位,Java程式設計能力也沉澱了一年。
是時候了。
籌備
早年我曾經參加過大廠的面試,當時我的技術功底和行業知識沉澱,是能夠獲得認可的。但近幾年網際網路公司面試風格突變,並且各家大廠的轉變驚奇地一致:做題。於是重新拾回資料結構和基礎演算法,變成我唯一要重視的籌備工作。
在攻讀碩士的那幾年,我幾乎沒有完整的週末。前面的一年半,我週末都要去學校上課,每兩週的週日下午會考試。後面的兩年的每個週末,我則是一直苟在辦公室裡準備碩士論文。老師對我盡職盡責,也導致我的論文一改再改,這塊可以單開一篇部落格聊一聊了~在這幾年的鍛鍊裡,沒有完整的週末我早已習慣,碩士畢業後突然閒下來我反而不適應了,那就操練起來吧。
刷題並不是一件容易的事,在我初次開啟leetcode時上面只有800+的題目,我給自己定了計劃,規定每天刷多少道。有趣的是leetcode會隨著時間不斷增加題目,截止我拿到位元組offer時,網站上已經1000+的題目了。離開學校多年,並且工作一直在工程領域內浸淫,資料結構和基礎演算法早就還給老師了。
初刷題很不適應,有些題我並不願意看答案,就想著自己一定可以解決,於是前面的題會花很久的時間。這一過程是痛苦的,並且對自己的懷疑和失望與日俱增,我的思維狀態也在不斷深入,開始茶不思飯不想,一心懟題。也許是量變產生質變,在某一個週末終於徹底想通一道hard題之後,後面的程序就開始一路順暢。
刷題的經過感覺也能單獨水一篇部落格,希望大家能感興趣。
面試與失敗
面試的狀態是需要逐漸培養的,最好可以先面其他公司練練手,隨後再去面試自己心儀的公司。獲取面試的方式,可以通過內推,或通過獵頭推薦,最下策是官網自投簡歷。那時位元組在擴張招聘,與我一拍即合,便欣然接受獵頭的面試邀請。當然後續我也收到了另一家巨頭公司的邀請,開啟了另一段故事,這裡先按下不表。
位元組的面試流程帶起了整個網際網路圈的刷題風,這麼說應該不為過。面試通常是3場技術面,一場HR面。技術面試都是線上面試,面試官和候選人都抱著電腦,在牛客網上,通過攝像頭和麥克風對話。前面兩場技術面試官都非常nice,再加上我已經工作多年,問題基本對答入流,最後面試官都是狡黠一笑說,我們做兩道題吧,我便知道前戲結束了。
半年後我也成為了位元組的面試官,才明白,做題部分如果沒做好,前面答題做的再好也都會fail。當然如果答題非常優秀,coding題目難度也會酌情降低,增加候選人的通過概率。如果問答表現不好,coding題目難度會適當增加,確保程式設計功底紮實卻不善言辭的候選人,能夠通過面試。由於我做了精心準備,coding部分並沒有難到我,最難的題只有leetcode中medium的難度。面試的結尾我都與面試官溝通融洽,儘管面試官不能透露面試結果,但我也心知十拿九穩。
可在第三場技術面,我遭遇了滑鐵盧。面試官是一位非常硬核的,且看起來比我年長不少的前輩,問及了儲存鎖與樹型資料結構的問題,我回答的並不好。隨後的做題中,面試官也給了樹型資料結構的變種題,我也做的磕磕絆絆。
可以預見的,我在第三面fail了。
再戰與成功
哪有什麼成功是一蹴而就,我這樣安慰自己。但籌備了多時,仍然沒有獲得一線大廠的認可,讓我的內心波瀾四起,並且開始了自我懷疑。
後來我成為了位元組跳動面試官才知道,人才庫會篩選之前面試優秀的候選人,重新撈回來繼續面試。我之前的兩輪面試表現很好,位元組HR終於又一次聯絡了我,讓我繼續參加面試。經歷了之前的失敗,我痛定思痛,一方面繼續鞏固自己的知識體系,另一方面則不斷穩固自己的心態,終於我通過了接下來的3輪面試,走到了HR面。
最後一場技術面試,我收到HR的邀請,去到了位元組上海總部。那一天位元組的同學們剛剛搬入科技綠洲的新辦公大樓,大家臉上都洋溢著新奇快樂的幸福表情,而我在則在一間明亮舒適的小會議室裡,見到了位元組的一位元老員工,一番愉快的交談後,他給了我紙和筆,讓我在紙上做題。我有些驚訝,但隨即一笑,感慨這就是位元組範兒吧。寫完了兩道medium的題後,我與這位元老員工握了手,他便離去了,只留下我靜靜地等待HR前來進行最終的溝通。
一週後,我收到了位元組跳動的offer。
總結
加入位元組的歷程是值得我長久回味的。在二線網際網路沉淪許久的我,仍然能被一線大廠認可;28歲的年紀,仍然能被賦予機會進入到國際一線的團隊中;日常努力付出的點點滴滴,都被證明了不是徒勞。
這段經歷裡,我特別想感謝HR小姐姐,是她再次發現了我;想感謝在位元組的老闆,是他給了我啟發和挑戰,讓我在加入位元組後能夠再次蛻變;以及感謝最後與我交談並讓我在紙上做題的前輩,這是一段新奇且快樂的經歷^_^
位元組的工作經歷,讀碩士的過程,以及我後來與另一家網際網路巨頭的緣分,會在後面的部落格中陸續更新,希望大家關注我的微信公眾號:技術學術藝術,B站:技術學術藝術