確實公司面試
一哥們問我最後去哪了,我說東京I社,他這瞬間兩眼發亮,作勢這就要跪,邊跪還邊說:活菩薩,受我一拜。我一看,趕緊把他拉起來,連連擺手,不是那個I社啊。我們是做求職搜索引擎的那個,不做遊戲,你這拜錯人了。哥們很遺憾:你這CS科班四年本事都白學了啊,不知道造福人民。我也只能攤攤手,圖形學我可根本就沒就敢選啊。
不過話說回來,我感覺大家對於我們I社的了解還是比較少的,畢竟office在國外。但其實Tokyo office是有專門對中國大陸的校招企劃的。今年秋招我還投了Google, hulu, 以及我軟的實習轉正。但這三家的中文面經早就漫天飛了,感覺大家應該對他們的招聘流程已經很熟悉了。所以我主要分享一下我在I社的面試經歷,附帶詳細介紹一下招聘流程。我I社最大的特點就是提供免費的東京三日游,包機票酒店簽證。還有一個特別有意思的點就是,hulu在中國有office而無業務,I社則反之,在中國有業務卻沒有office。
要說我也在機緣巧合之下才知道有這麼回事的。我當時剛剛收到Google實習hc掛掉的消息,處在這個夏天只能無所事事的遊盪的邊緣。當時手裡只剩下兩個機會,今日頭條和微軟。恰好微軟把我的面試安排在了頭條的後天,所以面完頭條後我決定去保研到中科院的學長那借宿一晚。趕巧在I社剛在中科院做完宣講會,學長就去勸我投了一發,爭取混個免費東京游。我當時處在今年的自信最低點,並沒有報什麼希望。現在回想起來那段時光還挺感概的,不過就不佔這篇文章的篇幅了,咱們言歸正傳。
筆試
一開始是三輪的online筆試,在atcoder(AtCoder)上,不過處於保密的原因,題目並不在往期比賽里,是單獨另開的私密比賽,不需要提前註冊atcoder帳號,郵件會發。這時候還不需要投遞簡歷,只需要簡單報名即可,也就是說其實並沒有背景審查,任何人都可以做這三場筆試。
三輪通過一輪就可以收到move forward的郵件了。題目比較水,基本是手速題。一道題沒有通過也可以獲得部分數據的分數,不知道錯誤提交有沒有罰時,因為筆試過程中是看不見自己的rank的,只要最終能AK的話應該還是能比較穩的拿到面試機會。我錯過了第一輪,第二輪用python,一個小時多一點就AK了,不得不說,atcoder的一個優點就是語言全,python切題的手速優勢還是很大的,不過性能劣勢更大。我雖然第二輪就通過了,但還是做了第三輪,最後一題賽後和人對了是正解(反正他C++ A了),但我python有的數據就會TLE,也有可能我哪寫崩了或者其實C++是卡過去的。
Case Interview
通過了筆試會被要求提交簡歷,需要按照他們要求的格式重新寫一份,不能提交自己準備好的pdf,這點有點略坑。然後會有一輪hr面,不刷人,其實也主要就是聊聊意向,畢竟需要畢業就去東京入職,WAP還能在上海待兩年。我對東京工作當然沒意見啊,還方便聖地巡禮(霧,在第一次去東京之後,就暗暗發誓此生一定要有段時光在東京生活。之後hr姐姐會測試一下英語,由於這個是個突擊電話,不提前約,因為本身也不用準備,結果我當時突然Syntactical Semantics這兩單詞就不知道怎麼說了,也就會念個lexical了,這怎麼用英語描述自己做過的編譯器比寫一個還難呢......hr姐姐還很貼心的叮囑了一下後面的技術都是英文面,準備一下。我心想沒事,case面就得刷下來,我應該是見不著技術面了。
接下來是一輪程序員非常少見的Case interview,這輪就開始刷人了,感覺比較像管理、諮詢行業的Technical Interview,我們程序員更多的是在白板上寫代碼。郵件里會告訴你下一面是Case interview,我知道以後趕緊就諮詢了一下我商學院的同學,她給我講完概念以後,扔給我一本《Case in Point》,書名不重要,這就是諮詢行業的《CC189》。當時時間已經來不及系統培訓了,而且我們是專業寫代碼的,又不是專業做諮詢。再者說,我要是有能讓人聽我話的本事,何必退而求其次探索讓機器聽我話的學問。我猜測這輪面試應該也不會對我們要求太高,於是就把裡面的所有case當story讀了一遍,發現這玩意跟leetcode上的演算法題一樣,也是有套路的,基本還是澄清問題->歸納問題->提出解決方案->說明思路這一套。
這面是中文討論思路,然後英文總結討論,如果時間還有富裕,可能會被要求用英語講一些演算法,也有可能是我英語太菜了,面試官再給一次機會......不過這是最後一次對面是中國人的面試了。後來面完onsite,和hr討論過這輪面試,我說這個對於軟體工程師還挺新穎的,hr表示這輪面試除了考察英語,主要是看一下應聘者的思維方式和性格,比如看看你在壓力下能否保持冷靜,邏輯思維是否嚴密,言辭有條理、有依據否。
Skype Technical Interview
通過Case interview後,橫亘在我和東京免費三日游之間就只有一輪Skype上的遠程技術面了。我還特意問了一下是否需要日本vpn,回復是不需要,但是實踐證明是需要的......面試過程中我其實不太能聽清對面的日本小哥再說什麼,並不是口音的問題,他英語說的很好,一點都不像是日本人。運氣比較好,趕上了一道挺簡單的題目,python幾行秒之。尷尬的是這時候skype斷了。小哥直接打字說咱就在#號後面聊吧,我心想這可救了我,一下子就不緊張了。follow up我直接上了re,於是後面的follow up就都沒有了......後面再聊了一下re的原理和時間複雜度,python里的re引擎肯定是有回溯的,最壞情況是指數的,這是為了支持一些擴展的re語法,實際上在type-3文法能力之外的,因此不能轉化為狹義的dfa。
我和學長正好是同時面,結束後和學長交流,學長一直糾結於面試官的expected solution最壞情況下漸進複雜度不是最優的,一開始一直在討論另一種解法。因此覺得自己掛定了。我因為中間斷線了,感覺也是已經涼了。學長還安慰我說,這輪面試基本上4進1,我這送你一個,再找兩你就進了。我說咱也別誰保誰了,這情況看起來是咱兩一起抬了一哥們去東京。
Onsite Technical Interview
等收到郵件我倆愣了,雙雙進入onsite,不知道是建立在哪六位壯士的犧牲之上。能公費旅遊當然開心了。
onsite是在東京,I社會為面試者訂好機票酒店,然後報銷辦理簽證的費用。至於東京內的交通和吃飯是不給報銷的,只有面試當天會管一頓午飯。中間hr問我願不願意換到某天,由於那天在周中,我當時在微軟實習,需要翹三天班,而本來的安排在周五,只需要翹兩天班,所以就回絕了,後來才知道學長被安排那天,所以說好人是有好報的,然而這次我沒有選擇做一個好人。
結果很快就要償還rp了,從北京走的那天起的太早可能著涼了,在飛機上睡著之後再醒來感覺嗓子起來了。到賓館之後直奔超市買了兩大盒果汁壓嗓子。我面試的那天沒有上機題,因此對於上機的過程不太了解,唯一知道的就是不上機也有可能拿到很好的offer的。和我一組的還有一個中科院的漢子和一個清華的妹子,I訂的酒店雖然很好不過可惜是雙人間,當然妹子自然是單人間了。由於就我一個本科生,年齡比較小,大家一路還是蠻照顧我的。最關鍵的是,清華妹子居然會!日!語!我之前雖然來過日本但並不會日語,於是她榮升帶路小姐姐,覓食之路一下簡單很多。
第二天hr姐姐回來賓館接我們,到了公司,我被分到了一間叫皮卡丘的會議室里……面試是三輪back to back,強度還是比較大的,indeed的題目也很有意思,都有一個工程背景,最終題目是一個將現實問題抽象化的演算法問題。難度還是比較簡單的,在理解題目之後很快就可以用python寫出來。不過他們的follow up準備的非常充足,應該是無窮無盡的,因為第一面面試官在我做完兩三個follow up之後已經表示我的表現非常好了,很少有人會做到這,但他手裡依然還有很多follow up。我一開始聊項目的時候還比較緊張,經常卡殼,後來聊上演算法之後就忘了自己在說英語了。第二面有一個follow up是MIT的introduction to algorithms的原題,我當時腦海里就浮現出Charles睿智的腦門,還有他的招牌微笑。沒想到雖然是大一學的,但還記得一些操作的英文的表達,因此道題我講的格外流暢。第三面是leetcode原題,由於前面兩題討論的很充分,再加上要感冒,我當時已經感覺非常累了,索性直接就給出了最優解。一個小插曲就是在白板上python的縮進寫的不太明顯,面試官因此一開始以為我寫錯了,好在很快就解釋清楚了,不過這也讓我發現了python白板編程的一個劣勢。
面試結束班長帶我們參觀東京office。是像facebook那樣開放式的,每個人都有升降桌,很酷,缺點嘛,也有,就是不方便我摸魚划水T^T。公司在惠比壽花園廣場,從上面眺望時整個東京都一覽無餘,天氣好時甚至能看到富士山。
花火大會
面試的時間剛好趕上了江戶川花火大會,江戶川是東京第二大的花火大會,僅僅比最著名的隅田川規模要小。然而這時候我已經很疲憊了,感覺衣服裡面發冷,但最終還是覺得托著疲憊的身軀趕往篠崎站,好在面試的小夥伴願意同行。出站後就看著不少穿著和服的妹子,不少還說著中文。到的時候已經開始了,在去的路上就能抬頭看見花火,有一瞬間真的感覺自己走進了某部動漫里,不過錯過了江戶川的經典開場還是有些殘念的。
接下來邊抬頭看煙花邊向前擠,伴著花火爆裂的聲音咳嗽不停,看著揮舞著熒光棒的人群,真希望自己也像他們一樣精力充沛。看著空中爆炸的煙花和濃煙,很多事情並不存在完美之說,正如不存在不會產生煙霧的花火。但不完美並不代表一定就有遺憾,至少我很享受那三個小時的解題過程,無論結果如何我都可以說是無悔矣。
https://www.zhihu.com/video/917846961367965696回去趕往膠囊酒店,當晚一直處在半夢半醒之中,渾身發冷縮成一團,回到北京後就大病一場。現在回想起來感覺真的很奇妙,不知道多少機緣巧合我才走到這裡。興亡誰人定,勝敗豈無憑?如果我發燒早一天,那我怎麼可能在面試官拋出問題時就給出思路,同時又注意到每句話里藏著的corner case呢?結果面試時只是嗓子起來了,面試官們也很諒解,甚至現在感覺那種要發燒的時候反應還更快一點。
離開時日本時手裡還有不少日元,本想都在機場免稅店花掉。但我就是莫名覺得,以後還會回來的,於是乾脆帶著口袋裡的日元回了國。公司效率非常高,在他們剛剛結束休假(日本的孟蘭盆節,其實就是我們的七月十五,鬼節)之後,我就得知了將會收到offer的消息。此時實習剛開始不久,各家的提前批基本上剛啟動面試,於是我的秋招還沒開始就已經結束,剩下的旅程就彷彿是一場先拿到通關寶物再開打的遊戲了。在面indeed之前,那時的我前程是多麼的灰暗啊,今天的自己卻無法感同身受了,所以說,一個人的命運啊……
推薦閱讀: