2017年初北美CS求職紀略

先大概介紹一下我的個人情況:CS-related方向的PhD畢業,工作快7年。先后就職過幾家大中規模的公司。目前在一家startup擔任tech lead的角色。

由于這家startup公司近半年來進入了極度不穩定的狀態,我在2016年感恩節前下定決心跳槽,并開始著手準備。

準備工作

1. Coding & Algorithm

頭兩個月的時間基本花在了刷leetcode上。截至本次面試結束為止,leetcode上的algorithm的題目482道。我的進度是:

  • Solved: 463
  • Attempted: 9
  • Unsolved: 10

Attempted表示我的算法、或者我能找到的算法沒能滿足leetcode的time requirement。

Unsolved則是因為我認為這些題目過于復雜,沒有必要耗費太多的時間。當然,在大牛們的眼中這大概只是懶惰的托詞。。。

2. System Design

大概從1月中旬開始,我又花了一個月的時間準備system design。主要是梳理自己近幾年的工作經驗,加上在網上查詢各種資料。

我認為比較有幫助的兩個鏈接:

面試階段

我從1月中旬開始電話面試。先后拿到了11家公司的on-site機會。


零售A

兩年前我拿到過他們家level 5的offer,但是沒有接受。這次改面level 6的senior position。recruiter幫我免掉了phone-screen。

面試前,hiring manager和recruiter就反復告訴我:A家對于senior position卡得非常非常嚴、bar很高、blahblah~。

我對于這家公司的印象一直一般。這次把他們排在了所有onsite面試的第一個,是希望可以找找面試的感覺。要是能拿到senior position的話,也會是一個很不錯的back up plan。

On-site

6輪,每輪一小時:

  1. 美國白哥們,已經在A家做了11年的senior engineer。

    先聊了大概30分鐘的behavior question。

    然后是一個design question。

    總體感覺面得很順。

  2. 快40歲的老印,也是senior engineer。

    面試前,recruiter發給了我所有面試官的個人資料。我也在LinkedIn上查了下每個人的情況。當時最擔心會出問題的就是這個老印。他和我之前在同一家公司工作過,只不過他是印度分部的staff engineer,比我在美國分部的級別高出不少。這次我面試的職位和他平級,我擔心他會因此感覺不爽。

    事實證明并非我多慮。

    面試剛一開始,這哥們就對于我們一同就職過的那家公司大加貶低,說什么很多技術在那家公司里面都得不到應用,比如Spark/goLang等等。我很想提醒他,他提到的那些技術我們在美國的組里都有用到,而且這些情況也在我的簡歷上面寫得清清楚楚。

    然后他給我出了一道coding question。

    我給出了正常的圖論解法。但是這哥們突然說這個算法還要能實現roll back功能。這就有點麻煩。如果要實現roll back的話,這個算法的復雜度就會增大不少。他要求算法要盡可能得快,所以他并不滿意我給出的算法。隨后我們就開始討論,直到他指出了一個他認為可以快速解決這個問題的方法。可是我很快就發現他說的算法有一個漏洞,并不能完全滿足他自己提的要求。

    這就讓人有些尷尬了。。。

    最后他只能要求我實現不需要roll back的一個function。code我在規定時間內寫出來了。可是我們已經沒有時間進一步地交流。

    這一輪的體驗非常不好。

  3. lunch

  4. Hiring manager

    一個小時的behavior questions。

  5. 一個白人大叔,Staff engineer。已經在A家工作了8年。

    同樣是20多分鐘的behavior questions。然后是一個OO design的問題。

    整個過程比較順暢。他提出來的各種附加要求我都給出了相應的解決辦法。最后的提問和交流過程也比較愉快。自己感覺這輪應該問題不太。

  6. 一個亞裔的manager,staff engineer。

    一個結合了初級ML和大數據處理的題目,挺有意思。最后的解法和function實現得到了面試官的肯定。

    然后就是behavior question和提問環節。

總結

從tech上來說,A家的面試并不難。behavior question的比重高得有點奇怪。可能是因為這次面的是senior position吧,至少2年前面level 5的時候是沒有這么夸張的。

整個面試流程,包括和recruiter的交流都是很順暢和規范的,體驗比以前好了很多。

最后A家沒有給我offer。打聽到的理由是:你的behavior question沒有問題,communication也很好,tech question也都答上來了。但是!我們A家senior position的bar就是特別高,你不但要答上來,還要答得特別optimal、特別迅速、特別周到。。。

好吧,A家的傲嬌我get到了。安靜地move on~~~


Grab

這是一家總部在新加坡,面向東南亞六國的mobile端打車服務公司。他們家的名氣可能并不大。但是這家公司在東南亞六國的市場地位類似于Didi打車之于中國市場。他們目前是市場的領先者,主要競爭對手是Uber。

他們家目前在印度、中國北京和西雅圖都設有分部。西雅圖辦公室的目標主要是招聘有工作經驗的工程師來幫助他們解決一些核心技術問題。

面試的第一步是和西雅圖分部的經理進行一個小時的聊天。這個經理以前是在微軟工作了20多年的distinguished engineer。從外貌看來似乎只有40歲上下,顯得令人驚訝得年輕。整個人充滿了激情,是那種性格很有感染力的人。

一個小時聊下來,他對我的技術背景比較認可,就給我安排了on-site面試。

On-site

  1. 中國小哥,好像是在新加坡畢業后加入Grab,并調到西雅圖辦公室的。

    一道coding題 + 一道design題

  2. 又是一個中國哥們。

    一道coding題 + 一道design題

  3. Director,應該是bar raiser。

    主要是一些關于我以前project細節的問題,以及一些design問題的深入討論。比如:為什么我會選擇某個技術,而不是另外一個,以及不同技術之間的pros & cons之類。

總結

總體來說,我對這家公司的印象非常好。可能因為Grab還是一家沒上市的小公司,他們家對于面試者非常重視,也非常友好。整個面試中你能感受到的是誠意和尊重。這種感覺在大部分大公司那里是體驗不到的。

另外,雖然面試的輪數不多,但和我交流過的這幾個工程師、recruiter、以及西雅圖辦公室的經理給我的感覺都很好,屬于比較務實和肯干型的團隊。

Grab最后給了我offer。作為一家小公司,他們的package還是很有競爭力的。特別是cash部分,幾乎是我拿到的offer里最大方的一個。另外,各種benefits和保險也都是行業內頂級的。

我還沒有決定是否接受他們家的offer。不過這是我面試一圈下來,個人感覺最好的三家公司之一。對于渴望挑戰和機遇的朋友,我真心推薦大家考慮一下Grab。


Zillow

嚴格意義上來說,這不是一家IT企業,更像是一家房地產公司。

On-site

非常有意思的一次經歷。。。

  1. 美國白人小哥。他說他一開始是data scientist,后來越來越對工程感興趣,現在就專注在工程上面了。

    問題是怎么樣設計一個training model?

    因為我以前做過推薦算法,所以答得還算順暢。但心里多少有點奇怪:我面的是engineer position,為什么要問我如何建模?

  2. 印度哥們。

    題目是OO design。

    題目不難,基本上要做的就是實現幾個主要的class。其中可能會涉及到一些繼承和重載。

    本來我的節奏是:先實現A class,再是B class,最后C class。

    可是比較讓人無語的是,這個哥們一直在瞎指揮。A class還沒來得及寫完,就說:"let’s implement this function of B class first";B class寫了一半又讓我去實現C class的一部分功能;C class沒寫完又讓人回到A class。。。

    總之是一通亂攪。

    最后總算是寫完了,不過我嚴重懷疑這哥們平常做事邏輯混亂。

  3. 中國哥們。

    題目我記不太清了。但是他也花了很長時間來跟我討論怎樣building training model。還問我了解多少commonly used training models。我忍不住問他為什么要問這種問題,他的回答是:Zillow的engineer team和data scientist team分工并不明確。他們希望每個engineer都有獨立建模和ML的能力,data scientist也應該有實現production code的能力。

    我只能說這個想法。。。嗯,非常宏偉。

  4. 印度美眉。

    她花了很長時間問我關于Spark的一些基本概念。我平常工作用到Spark的地方很多,回答起來問題不大。coding題目很簡單。

  5. Hiring manager。

    主要是聊了些team的情況和公司文化,以及如果我加入的話會做些什么project。

總結

Zillow的辦公環境非常高大上,不愧是搞房地產的公司。

面試流程也算是順暢。

最后他們把我拒了。說實話,得知被拒的時候我多少有些吃驚。可能是我自我感覺太良好了吧。不過recruiter給出據我的理由之后我就釋然了。因為理由只有一條:

有些coding question,我過快地jump into implementation,沒有和面試官很好地溝通我的思路。

首先,我在寫code之前絕對有和面試官交流,直到他/她認可以后我才會開始寫。我也面試過很多公司了,這種rookie mistake我是不會犯的。第二,如果因為某些特別的原因想要據我的話,直接說就可以了,沒必要整這些無聊的理由。


Quantcast

又是一家startup公司,總部在灣區,西雅圖分部成立不久,目前的engineer數量還不足10個。

Phone-screen

  • 4道coding題

On-site

  1. 美國白人哥們。

    題目不太記得了,應該是leetcode原題。不是很難。coding以后又問了一些behavior question。

  2. 美國白人大姐。以前google的principal engineer。

    Design問題

  3. 美國白人哥們。

    coding題目

    coding寫完以后又討論了一些我以前做過的project。

總結

整體面試的體驗只能說是一般般。

感覺他們家自視甚高。會不停地向你強調自己家招到的engineer都是來自其他知名公司,比如google/uber/facebook等等。這種行為略微顯得有一些。。。有趣。

Quantcast最后給了我senior position的offer。還在考慮接不接受。


打車U

Phone-screen

  • 一道coding題

On-site

  1. coding & algorithm

    一道coding題目,要求現場編譯。

  2. coding & algorithm

    一道coding題目,要求現場編譯。

  3. Lunch

  4. 美國哥們。

    System design

  5. Hiring manager。

    Behavior question + past projects discussion

總結

U家的辦事效率非常高。面完的第二天就收到了senior position的offer。

他們家面試的整體體驗很好。面試中遇到的engineer的平均水平感覺也比較高。

能拿到他們家的offer我很滿意。


手機A

手機A家的業務以硬件為主。但是他們家的軟件業務這幾年也開展得有聲有色。我這次面試的是灣區的一個Applied ML組。選擇面試這個組,一是因為目前市場上ML相關的技術越來越火;二是因為我對于A家的ML究竟會專注于哪一塊有些好奇。

Phone-screen

和Hiring manager做的電話面試。原本計劃一個小時的面試硬是聊了快兩個小時。

畢竟是硬件公司,我被問到了很多關于底層硬件的問題。

又花了很長時間來討論幾個不同算法的優劣,以及不同算法各自適用于哪種場景?

最后是三道coding題。

On-site

面試分為8輪,每輪45分鐘:

  1. coding

  2. projects & CS fundermental

  3. Hiring manager talk

  4. coding

  5. coding

  6. design

  7. design

  8. culture fit

總結

雖然面試已經過去了兩周,還是請允許我吐槽一下這次神奇的面試經歷。

這可能是我有生以來最差的一次面試體驗,沒有之一!

面試之前,recruiter給出的時間表是這樣的:

  • 10:00am:面試開始
  • 01:30pm:面試結束

面試當天:

暴雨。
我9點半到達面試的辦公樓。A家的人不讓我進樓里面等,說只有面試官才可以把我領進去。
我只好在樓外面的屋檐下避雨等待。
等到10點沒人來,打電話給recruiter,她說讓我打給operator催。
打給operator,operator直接把電話轉給第一輪面試我的人,沒人接電話。
再打給recruiter,她去催了半天,回電話說面試我的人馬上下樓。
又等了十幾分鐘,快10點半了,面試我的人才開車趕到,撒著拖鞋慢悠悠地從樓外面的停車場走過來。
然后一直面到1點多,沒人提管我吃午飯的事。
因為之前recruiter說是面試到1點半結束,我以為我很快就可以走人去吃飯了。
結果又接連來了三個面試官,也都不提吃飯的事。。。
倒數第二輪面試的時候我腦子已經不清楚了。那哥們問我有什么想問他的,我就問了兩個問題:

  1. 你是最后一輪了嗎?
  2. 你們A家面試的時候不管人午飯是嗎?
    然后這些人才給我找了一個冷三明治,邊吃邊把最后一輪面了。

他們家最后給了我offer。不過還是要說:整個面試流程能混亂到這個地步也是沒誰了。


求職L

L家的面試是recruiter通過他們家自己的平臺聯系上我并安排的。從開始電面到完成on-site的效率很高。

Phone-screen

  • 3道coding

On-site

7輪,每輪1小時。

  1. Design

  2. Hosting manager talk

  3. Lunch

  4. coding

  5. design

  6. algorithm

  7. coding

總結

最讓人疲勞的on-site。早上10點開始,下午5點結束。面試完了回到酒店以后感覺整個人都不好了。

只要面試過程中能和面試官有比較多的交流,我就能對這個面試官的水平有個大概的把握。我覺得L家的工程師的整體水平還是很不錯的。能感覺出來他們做了很多非常solid的work。聽說他們家這幾年流失了很多大牛,但看來技術積累的底子還在。另外,和我聊天的好幾個面試官都是open source project的active contributors。個人比較喜歡這樣的公司文化。

L家最后給了我offer,具體數字暫時不詳。


社交F

Phone-screen

  • 一道coding

On-site

  1. system design

  2. coding

  3. coding

  4. lunch

  5. culture fit

總結

F家的面試題并不是很難,也都是leetcode上的原題,或者是在原題的基礎上做了一些小的改動。

第二輪,我解題的速度稍微慢了一點。面試結束后自己唯一感覺沒發揮好的也就是這一輪了。

比較有意思的是recruiter的表現,值得說一說。

這個recruiter(姑且稱他為C吧)大概在16年11月主動聯系過我。C希望我可以去面F家的一個data engineer的position。我對于data engineer完全沒有興趣,加上當時我還沒有準備好開始面試,就沒有明確地答復他。只是說如果以后有需要的話再和他聯系,并把自己的簡歷發給了他。

今年2月準備開始面試前,我通過在F家的朋友把簡歷投了上去。結果等了足有兩周也沒有F家的recuriter聯系我。那時我才反應過來:有可能是因為C握有我的簡歷,其他rucruiter看到我的case已經有人處理,就不再聯系我了。

我只好主動找到C,說明我只想面SDE職位,希望他可以幫我安排general hire的面試。他當時表示沒有問題,然后就有了上面提到的面試經歷。

比較奇怪的是,面試3天后,C打電話告訴我說:"Since in one round of the interview, you did not provide the optimal solution quickly enough, this team would not give you an offer as an SDE, but would like to provide you a data engineer position."。還說這個data engineer team做的東西很偏software engineer work,并且這個組幾個月后就會轉為software engineer team云云。

我的幾個想法:

  • 首先,明明說好是general hire,為什么變成了"this team would not give you an offer"?

  • 第二,繞了一大圈子又回到了data engineer position,很難不讓我覺得這個過程有些奇怪。

  • 第三,“這個DE team很快就會轉為SE team”的這種鬼話還是拿去騙鬼吧。

最后,我和他挑明了態度:我已經有了好幾家的offer,如果可以轉為SDE我就會很有興趣,不然的話就免談了。他表示無能為力,我也就發郵件表示了感謝結束。

我不敢很武斷地說這個recruiter一定有問題,也不想把面試的失敗歸咎于此。畢竟第二輪coding我完全可以表現得更好。只是想提醒一下對他們家感興趣的朋友,如果能通過內部refer提交簡歷的話,盡量避免把簡歷發給一些隸屬關系不確定的recruiter或者sourcer。也許是我多心了,但是小心一點總不會有錯。

拋開略顯奇怪的recruiter,F家的面試體驗還是很不錯的。面試的過程比較順利,聊過的工程師都比較友好,題目的難度也算合理。

我以前也面過F家,結果在所有tech interview rounds都拿到positive feedbacks的情況下因為一個奇怪的原因被拒。這次也多少有些遺憾。可能自己和他們家緣分不夠吧 :(


搜索G

通過朋友refer拿到面試,并且免掉了電面。

On-site

一共6輪:

  1. coding

  2. system design

  3. lunch

  4. coding

  5. coding

  6. coding & algo

總結

G家是我面試這么多家公司下來,唯一一個面試剛結束我就知道肯定沒戲了的公司,也是唯一一個我遇到了完全找不到解題思路的算法題的公司。

這可能就是G家的風格吧。畢竟,這種規模的公司不需要太注重應聘者的工作經驗,除非你牛得驚天動地。

一般情況下,無論你的背景和經歷怎樣,都可以在G家里找到和自己的水平相匹配的職位。這樣一來,當coding成為主要、甚至是唯一的評定標準的時候,碰到一些高難度的題目也算正常。

至于面試者喜不喜歡這種風格,只能是因人而異吧。

最終結果果然不出所料。


社交S

2017年初整個北美IT界的明星。

以他們家目前的狀況,簡歷都是遞不上去的。多虧我的一個朋友是他們家的元老,才幫我爭取到了這次面試。

Phone-screen

  • 一道coding題

On-site

  1. coding

  2. coding

  3. Lunch

  4. design:怎么設計S家的一個app功能。涉及到存儲、service layer等多個模塊。聊了很多S家產品的特殊性,以及這些特殊性所需要的獨特設計。很有意思的一輪design。

    如果要說自己這一輪的表現有什么不足的話,大概就是對于幾個design的細節,自己都是先從最常見的設計思路談起,而沒能一開始就考慮到S家產品的特殊性。雖然在面試官指出之后自己都給出了相應的解決方案,但是可能會給面試官一種我不是特別熟悉他們家產品的印象。

  5. coding

注:他們家的面試是需要現場編譯代碼,并運行通過的。

總結

我面試完的第二天他們家就在紐約敲鐘了。恭喜內推我的朋友financial free。

他們家的產品很有特點,面試過程中也會針對這些特點聊到很多設計細節。所以面他們家的朋友最好在面試前多熟悉一下他們的app。

感覺不太好的地方是他們家recruiter的辦事效率。也許是因為他們家正處在IPO期間,recruiter的效率著實感人:從電面完到通知on-site足足等了10天,這還是中間發郵件催過的結果。面試完的當天,recruiter說第二天就給我feedback,最遲三天內也會有結果。到今天已經一周了,依然音信全無。因為手上其他offer有deadline,我只好發郵件再去催。recruiter回了個消息說晚上再打電話給我確定的答復。現在8:50pm,依然沒有消息。

只好繼續等/繼續催了。。。


貼圖P

通過朋友內部推薦拿到的機會。

開始聯系他們家的時候我已經收到了其他家的幾個offer,為了趕上進度,recruiter讓我直接on-site。

On-site

  1. coding

  2. coding

  3. Lunch

  4. design

  5. algorithm

  6. culture fit

注:他們家面試的coding題也是是需要現場編譯運行的。

總結

他們家的面試今天下午才結束,具體結果還不清楚。自己感覺面得還算不錯。等結果吧。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,002評論 6 542
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,400評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,136評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,714評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,452評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,818評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,812評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,997評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,552評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,292評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,510評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,035評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,721評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,121評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,429評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,235評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,480評論 2 379

推薦閱讀更多精彩內容