這裡是《齊姐聊大廠》系列的第 11 篇
(前 10 篇見文末)
每週五早上 8 點,與你嘮嘮大廠的那些事
小齊說:
這篇文章來自去年一起刷題跳槽的小當家大佬,大佬手握 N 個 offer,先是被西雅圖的悠閒生活所打動,可去了卻沒想到...
被投行摧殘了接近兩年,去微軟折騰了快一年,最近終於入職 Google 了。
中間走了太多彎路,今天和大家分享下轉行總結,希望可以幫助同在迷茫中的人。
轉碼之路
本科是主修商科(Business Administration),自學了點數學,又輔修了數學精算。
後來決定轉碼其實是因為看了一些培訓班的廣告,說平均工資可以上 10 萬,我這輩子就喜歡錢,開始了毅然決然的轉碼之路。
當初年少無知一心想做 data scientist,現在腸子都悔青了。DS 這行業是沒有明確定義的,有的公司要求 SQL,有的用 spark,之前面了一堆公司沒遇到幾個實際是做 ML 的,就算是做 ML 的也多是用 SageMaker,etc. 加上各大廠的 autoML platform,不看非名校 master 以下學歷的人。當然也有例外,在微軟遇到過一個哥大剛畢業的小妹妹去了 ML 組做的還真是 ML 相關的,不過這種職位真的是少。
SDE 相對來說容易很多,首先不像 DS 的玄學面試,SDE 面試範圍非常窄,不會超出演算法,OOD,system design,threading,networking 的範圍。
然後多找大佬聊聊,基本市場的資訊每個群都會聊到。
多加些 recruiter,我的 LinkedIn 首頁經常會有 recruiter 發出各種 job posting,下面 reach out 和回覆的 9 成是印度小哥。
關於 project,個人試過 udacity,udemy,比較推薦 udemy,主要是便宜,10 刀一節課,我買了各種 big data,Java Spring,Hadopp,Tensorflow,ML,fullstack 等等。選兩門課跟著做幾個 projects 放到簡歷上基本只要 1 個月。100 刀之內基本搞定,我買了 700 刀的課程到今天也只看了 100 刀的。。
最後就是面試準備。Entry level 基本就是演算法,入門基本選擇基本就是 Leetcode。
那要怎麼開始呢?
Stanford 的 106B/X 基本上 cover 了 data structure 的基礎,尤其是 exhaustive search,Marty 講的好的真是無語了,腦殘粉。
看完 Stanford 的 106B/X 可以看 Stanford Algorithms:
或者 Princeton 大爺爺的 algorithms 課,那個是 Java 的。
Tim 的課都是 Pseudo code,喜歡數學證明的人推薦。
上面的視訊看完基本上 leetcode 的基礎基本都有了, 可以開始刷題了。
刷題可以推薦 2 個 channel:
- Huifeng Guan
殘酷群群主親嘴授課,完全免費,每日一題,跟著刷堅持一年肯定有 offer。
- 花花醬
花花醬完美 ppt 講演算法,超過賈躍亭班的存在。
System Design 的話這個好像都知道,DDIA,grokking,MIT distributed system,就不多說了。
微軟
入職之前聽說微軟是養老公司,之前有個大表哥來了以後說每天沒事幹,幹啥都沒動力。
哎,這不就是我的夢想嗎,拿錢不用幹活,帶薪刷題。
打進來以後發現原來是看組的。
微軟社招流程和大部分公司一樣,面試的時候的組基本上就是入職以後的組,筆者入職的是 Identity。
Identity 是身份認證組,cloud 的第一層一般都是 identity
3 月末入的職,全副武裝從紐約飛到了西雅圖,然後入職的下一週就開始在家工作了。。
入職以後老闆會安排一個 onboarding buddy。第一週去了辦公室 2-3 次把電腦設定好,然後就和老朋友們線上多人運動,刷題。
想著畢竟是養老公司,肯定沒多少活啊;沒想到,第 2 周開始就安排活了。
老闆把 Micro management 發揮到了極致, 1on1 的時候會問每天做了什麼,精確到小時。第三週已經接到 4 個任務,組裡都是來了不到 1 年的,什麼問題都要自己搞懂,加上文件不全,基本每天要幹 12 小時才能不被老闆說。
做事滿了老闆會直接批評,像極了小學老師。不過好在全組人都這樣,我不是孤單一人。
正在我糾結為啥工作強度這麼大,做的東西如此無聊的,大夥還能堅持的時候,組裡小哥傳來訊息,換組了。
這個組加我和老闆一共 7 個人,我和一個印度小夥是新來的,小黑哥 8 個月,其他三個華人分別是 4,10,12 個月。老闆 2 年。
小黑哥走了之前,我們聊了許久,說到底小哥受不了老闆打壓了,總的來看小哥一人之力建了組裡所有 spark job,scala 賊溜,C#也能寫,每天工作 12 小時,來了 8 個月業務嫻熟, 結果 review 是一般。
抱著升職夢想慘遭如此命運,小哥毅然決然的走了,傷自尊了。此時,新來的印度小哥也來問,怎麼換組,雖然小哥自己和老闆都是印度人,身為 abi 的小哥時而聽不懂老闆說話。
abi: american born indian
在美國出生的印度人
最終就在小黑哥走之前的一週,傳來了驚天喜訊,老闆被炒了!
原來這個組一年前的 5 個員工不是現在這批,小黑哥一走 turnover rate 就是 100%。一年員工全跑了導致老闆被炒。
但我當時已經開始面其他組了,面著面著發現好組那麼多,我為啥要在一個 Ops 比寫程式碼多的組耗著,2 周面了 40 多個組以後,從 6 個願意要我的組裡選了個忙但能學到東西的, 屬於 Azure 核心組之一。
Azure: 微軟的雲端計算
走了以後還是和小黑哥和小印哥保持聯絡,沒跳出來的還在騷動,跳出來的有恃無恐。
換組
微軟換組非常簡單, 去公司內部的 career 網站發郵件就好了。第一次發了 30 多封郵件試水,結果 2 天之內接近 6-7 個組回覆,有的新組人太少就沒有進行第二輪。最後一共大概發了 60 封郵件。
實際上面試的組有 15 個左右。5 個左右的組我比較嫌棄就拒了。
10 個組有 1 個組一輪拒了我,國人阿姨覺得我經驗不夠,她們組用 rust 做 IoT。其實挺想去看看的。。
其他 9 個組都是先和 manager 聊,然後 3 輪演算法面試,最後再和 skip manager 聊。
IoT: internet of things,物聯網。
屬於比較先進的組,做一些無人車什麼的。
演算法面試基本就是 medium 級別的演算法,我能想起來的比如 combination, gcd 相關的,兩個 linkedlist 找交點,tree 有兩個 node,找到 k distance 的 node,LCS 變形,map reduce count word,bit mask,clone graph,etc。
總結就是內部轉面試相對容易太多, 多申請幾個容易遇到真愛。
7 月入職的新組,這個組負責分散式系統的底層,就是傳說中 DDIA 的第三章講的東西,replication,cluster,parition,LSM/B Tree。
組裡華人印度人 2:8,每個人都是超級好。 第 3 天接到第一個任務,老闆解釋任務簡潔明瞭,entry point,我們想幹啥,啥啥不會找某某。
每個人都有對應的專案,基本不會遇到給個任務全組沒人懂的情況。
組裡用的是 C++,身為 python 也不會太吃力。不過剛入職還是每天工作十幾個小時,但不會有找不到方向的焦慮,一個月學到的東西比前一個組 3 個月學得多,還有用,組員人還好,唉。
谷歌
谷歌的 offer 其實是和微軟一起拿的,但是谷歌需要 team match,加上我的 HR 不給力,以及這半年受疫情影響 google hiring freeze,所以 match 了 7 個月,match 上我就跑了,可惜了我這微軟最最最核心的組,慚愧慚愧。
如果你喜歡這篇文章,歡迎分享給你身邊的朋友,也給齊姐點個「在看」,你們的支援是我最大的動力!
更多幹貨文章見我的 Github: https://github.com/xiaoqi6666...
我是小齊,紐約程式媛,終身學習者,每晚 9 點,自習室裡我們不見不散 ❤️