首頁 · ·
【畢業(yè)季】一個CS 碩士FB、谷歌、LinkedIn和摩根斯坦利的面試總結
發(fā)布時間:2015-03-02 來源:美國留學
 先報下本人背景,國內中山大學軟件工程本科 GPA3.2,美國NYU CS master GPA3.85,大四一年實驗室經歷,暑假Amazon SDE Intern。無ACM和數學競賽經歷。之前發(fā)過Amazon intern面經,很遺憾的是沒拿到return offer。重新申請要等6個月的凍結期(這個相當惡心),但是我不可能等那么久了。準備情況大概是careercup 5th edition 80%的題刷過一遍,leetcode刷過95%的題(新題一出就刷,保持狀態(tài)),加上glassdoor的面筋。總共面了10多家公司,挑選了幾家映象比較深刻的寫在這里,一共7個onsite,兩個offer,分別是Linkedin和Goldman Sachs。最后從了Linkedin。
On-campus:申請Intern的時候面過他家,當時是純behaviorquestion。不過這次風格完全不同了,老美面試官上來寒暄兩句后,就問了幾道Java概念題,比如static,synchronized,interface的定義。然后拿出紙筆讓coding,binarytree的遍歷,還有道應用題,大概是給一個map,和一個數字t,找出map里最接近t的value對應的key。題目無比簡單,唰唰地寫完,面試官也給予了肯定。但是這一面還是掛了,我覺得莫名其妙。問了問同學,他們沒答對題的拿到了onsite。事后想想可能是因為我后面問的問題不太妥當,令面試官難堪了。唉,那時還是面試經驗不足啊,果斷轉化為經驗值。
Linkedin官網投的簡歷,兩個月了才被鳥。
Phone interview:電面前recruiter會打電話來做最基本的phone screen,然后會發(fā)給你面試官的linkedin鏈接,讓你做好迎接老印的準備。. from: 1point3acres.com/bbs
1. 電話對面兩個面試官,老中+毛子,collabedit上寫題。第一題,驗證一個string是不是valid number,需要考慮正負和小數,不用考慮指數。第二題也是被問爛的,print a binary tree in levelorder。感覺發(fā)揮得不好,雖然寫出來了但是被指出了幾個bug。當時腦袋犯糊涂了做過的題竟然都寫得不順。
2. 本來以為上一面跪了,結果一天之后HR又約了第二個電面。老印+毛子。第一題,求pow(n, x),要求O(logn)解法。第二題,maximumsubarray。第三題,實現singleton并讓其thread-safe,還問到了lazyinitialiation的和volatile關鍵字的意義。這一面相當順暢,沒有任何差錯。
Onsite:Mountainview總部,一共五輪,除了第一輪,每輪兩位面試官,時長一小時,看來2v1是他們的特色。雖然每輪有兩位面試官,但是其中一個是shadow,全程基本不發(fā)言,也就是來學習面試流程的,所以不用慌張。從這些shadow的臉色來看,他們其實比你更緊張。當我問他們問題的時候,他們的回答都是都結結巴巴的。當然主面試官還是相當老練的。因為簽了NDA,而且拿到offer了,為了以防萬一,下面的題目故意寫得模糊些。
-
老印,主要問簡歷,每一項都被問到,而且非常細節(jié)。要求畫出實習project的架構圖。
-
老印+老印,依然是問簡歷,基本同上,并且要求你從algorithm和design的角度說出怎么improve你的project。面完以后被其中一個老印帶去lunch interview
-
老美+老中,兩個coding題,一題簡單10分鐘,一題復雜30-35分鐘,題目就不說了,leetcode上有類似的。
-
老美+老中,也是兩個coding題,難度基本同上。
從電面到onsite,見過的coding題都是leetcode上的類似題,所以各位應該知道我的意思。我比較驚訝的是linkedin竟然這么重視design,甚至重于coding。雖然前兩輪都是問簡歷,但是都討論到了很多design方面的問題。所以整個面試應該是三輪design和兩輪coding。Onsite結束后一星期,recruiter打電話來follow-up,說feedback沒齊。第二個星期來了口頭offer,說是還要跟hiring manager電話聊一聊。聊完之后給了正式offer。我被分到的組是Core team里面的presentation team,做profile page的,也就是個人主頁。感覺這個team相當不錯,離用戶最近,impact大,也符合我的興趣。版上好像有個帖求證Linkedin的package,這里報一下fresh master的,以作參考:105k base + 1500RSU/4yr (worth 170k) + 10% target bonus + 10k relocation。除此之外,公司三餐免費(不過很難吃),還有免費飲料和零食,報銷公共交通,入職發(fā)macbook,假期很多。公司里面的文化相對于大多數tech公司比較formal,辦公室非常整潔,沒有那么多geek元素。老印很多,但是我遇到的都很好。
老美+老印,design題,如何設計一個web的多人在線游戲。寫出所需的類和data member,還要畫出系統(tǒng)架構圖。
找學校的professor內推的,他是GoogleNYC的一個engineer,而且我上過他的課。內推的效果真不是蓋的,不到2小時就被recruiter聯系上。面的是NYCoffice的一個組,由于颶風Sandy的原因推遲了一周。
Phone interview:一下約了兩輪
-
老美,求一個數n的所有prime factor。比如輸入96輸出2 2 2 2 2 3。google doc寫代碼真心不如collabedit好用,本來15分鐘可以做完的題硬是寫了30多分鐘。
-
老美,先寫大數加1,然后寫兩個大數相加,面試完發(fā)現有個小bug,但是來不及改了。
Onsite:電面后等了整整兩個星期,還以為掛掉的時候,來了NYC office的onsite通知。看來對google而言,不像網上傳說的那么恐怖要bug free,至少電面是這樣。雖然簽了NDA,但是既然掛了就無視之。
-
老美,第一題,寫一個PeekIterator,包裝一個普通的Iterator,要實現peek()方法,返回當前iterator指向的元素,但是不能移動它。除此之外也要實現hasNext()和next()方法。第二題,給一個BST的Node,有父節(jié)點的指針,求該Node的下一個Node。這一面感覺不錯。
-
老美,寫一個EvenIterator(汗,這年頭這么流行考iterator么?),包裝一個普通的Iterator,只返回evennumber。要求實現next()和hasNext()方法。這一面感覺不太好,沒想到先寫個簡單的方法。最后時間到了還是有bug沒有修改完。
-
老中,被帶去吃午飯,期間都說的中文。然后參觀了下NYC office
-
老黑,求一個逆波蘭表達式的運算結果,用stack就可以。follow up是怎么處理invalid input。這一面感覺也還行。
-
老美,一個比較復雜的題,不太方便說。大概是有一個游戲,游戲的每一步都是一個state,從這個state可以有很多種走法,從而走到下一個state,要求輸出游戲結束時所有的states。我剛開始給了個暴力遞歸搜索加回溯的算法,然后經面試官提示加了剪枝的優(yōu)化。但是即使這樣我也不確定是不是最優(yōu)解。
google的recruiter和interviewer都一再強調,結果不是最重要的,重要的是你的想法和交流能力。我覺得確實如此,從面試官引導你的方向就能看出他們確實想知道你的思路。即使你想不出最優(yōu)解,他們也會給你很多的提示。當然了,我覺得自己面的不好,有一面相當糟,不出所料一周之后recruiter打電話來告知被拒。
Recruiter從Linkedin騷擾。Facebook開始大肆擴張了,據說他們今年要達到5000人的規(guī)模(from 3000)。雖然知道自己的水平是被虐的份,但是抱著讓人生完整的精神去嘗試了下。
Phone interview:老印,判斷一個string是否回文,要求ignore cases, spaces and punctuation,O(1) space。題目雖然簡單但是edge case有點多,寫出了好多bug。雖然最后寫出了個正確的版本,但是跟老印交流有問題,浪費了好多時間,只做了一道題。2天后被告知掛了。
本文來源一畝三分地論壇
- 上一篇:sat1和sat2的區(qū)別有哪些?
- 下一篇: 紅獅高中招生官來華面試【3月23】



