在找工作的時候,我給Microsoft、Google、Facebook等幾家大公司都投了簡歷,并且都收到了offer,但是我最后選擇了FB,因為我個人是扎克伯格的腦殘粉,此外,FB的工作環境也令我很滿意。下面就介紹一下我在FB的面試經歷,希望對大家有用。
FB的面試流程很規范,包括電面和線下面試。
在線編碼
Q1:給定一個字符串,通過忽略空格來檢查它是否為一個回位。
Lintcode原題link:http://www.lintcode.com/en/problem/valid-palindrome/
solution link:http://www.jiuzhang.com/solution/valid-palindrome/
Q2:大字符串相乘
Lintcode原題link:http://www.lintcode.com/en/problem/big-integer-multiplication/
solution link:http://www.jiuzhang.com/solution/big-integer-multiplication/
這一輪在線編碼的題目很簡單,很容易就能通過,也沒有用太久的時間,通過了之后就開始等預約電話面試了。
Phone interview
1st Round:
電話面試一開始,和其他的公司面試大同小異,都是先講講以前做過的項目的經歷和經驗收獲什么的,然后會根據這些問幾個簡單的問題。之后就開始出具體的題目了。
我被問了兩個問題,其中一個我記得是:
你有兩個稀疏的向量(大量的0)。首先告訴我一種表示和存儲它們的方法,然后找到點積。
電話面試由于沒辦法把具體的代碼呈現出來,所以需要比較具體地說明自己用到的方法和具體應該怎么做,盡可能讓面試官能夠考察到他希望看到的東西。
2nd Round:
這一輪還是電話面試,不過與前面的電話面試的面試官和面試內容都不太一樣,有了很明顯的深入的問題。
雖然如此,一開始還是先問了關于我的簡歷和我的以前的工作經驗的問題。
然后面試官又出了兩道題來考我,在回答完這兩道題之后,面試官又進一步詢問了我一些更加深入的問題,比如像你為什么會這么做?在此基礎上再加一個條件,要怎么處理?等等這些問題。
onsite
1st Round:
這一輪是技術面,除了對于我過去的工作學習經歷和項目經歷都進行了更加深入的了解和詢問,還問了我2個算法問題:
Q1:給n個在一列直線上房屋染色,共有k種顏色,設計一種染色方案使得相鄰的房屋顏色不同,并且費用最小。
Lintcode原題link:http://www.lintcode.com/en/problem/paint-house-ii/
solution link:http://www.jiuzhang.com/solutions/paint-house-ii/
Q2:合并k個排序鏈表
Lintcode原題link:http://www.lintcode.com/en/problem/merge-k-sorted-lists/
solution link:http://www.jiuzhang.com/solutions/merge-k-sorted-lists/
2nd Round:
這一輪依舊是技術面,整個面試下來做了很多道題,從簡單到深入,這一輪面試官與之前不同的是在原題的基礎上對很多問題都有延伸,進而問了我很多延伸出來的問題,有時候我會卡住要求停下來想一想,然后把自己能想到的都說出來,整體表現還不錯,面試官都對我挺滿意的。
Q1:搜索旋轉排序數組
Lintcode原題鏈接:http://www.lintcode.com/en/problem/search-in-rotated-sorted-array/
solution link:http://www.jiuzhang.com/solutions/search-in-rotated-sorted-array/
Q2:正則表達式匹配
Lintcode原題鏈接:http://www.lintcode.com/en/problem/regular-expression-matching/
solution link:http://www.jiuzhang.com/solutions/regular-expression-matching/
3rd Round:
這一輪是manger面,與之前的做題解題相比,這一輪面試就沒那么死板,面試官問的問題比較“天馬行空”,給我一種生活處處有問題,隨手就可以拿來一個問題然后進行發展,這種面試問題很考驗人,需要很靈活的思維才會能夠給出一個比較好的回答,在這方面是沒辦法進行固定形式的準備工作的,而是需要對平時生活的觀察和平時就養成的對問題的深究和思考能力,不過就算覺得自己的方法思路并不是很好也沒有關系,只要有自己的想法,自信的說出來就好了。
4th Round:
最后一輪是HR面。
這一輪面試很簡單,HR也很友好,問了一些簡歷上面的問題,然后就是一些像覺得FB未來前景和有什么改善的地方的問題,這些問題總體上算比較輕松,只要做了功課,能夠發表一些有道理的見解即可。
大概過了一周我就收到offer了,FB的package也很誘人。
最后,還是要提醒各位,面試時一定要淡定從容,不要結巴,面試前要準備充分,做到有備無患,只打有準備的仗。