1. 程式人生 > >我是如何拿到Facebook Offer的 • cenalulu's Tech Blog

我是如何拿到Facebook Offer的 • cenalulu's Tech Blog

本系列文章將總結和分享我順利通過Facebook面試並獲得Offer的經歷和經驗

寫在前面

2014年10月,我有幸通過了Facebook的電面,參加了在Palo Alto的on-site面試,並最終成功拿到了offer。期間有很多經歷的東西想要記錄下來,以做備忘。同時在當時準備的時候,發現國內對於Facebook面試經歷的資料和分享時少之又少。因此,也想以記錄的方式和大家分享經驗,讓更多的華人成為Facebook的一員!整個記錄會分為三個大部分:面試流程,面試題集錦,入職流程和生活準備。前兩部分為了避免誤人子弟,我儘可能的客觀描述,如非特別需要減少主觀的理解在其中。

由於我申請的職位是MySQL Database Administrator,相對比較冷門。為了使得讀者受眾面更廣,我儘可能的挑選面試中對於程式設計師和其他IT崗位能普遍試用的經驗來作重點描述。如果你受不了博主的流水賬敘述形式,可以直接跳到最後一節,獲取簡要通關祕籍。:)

基礎要求

我們來看看要成為一個Facebook的潛在員工候選人,需要有哪些硬條件。要求的遠比你想到的要簡單很多:

  • 學歷 由於拿到offer後,辦理工作簽證時出示本科成績單。所以本科學歷是最低要求的。
  • 英語 英語沒有硬性要求,不需要雅思託福成績。個人覺得能無障礙的聽懂youtube上的技術分享,會一些基本日常語法加上相關專業詞彙,就能比較順利的完成電面和人肉面。
  • 專業經驗 沒有硬性的相關領域證書要求,當然如果你沒有內推渠道,有個把證可以增加通過簡歷過濾器脫引而出的機會。
  • 技術經驗 是否有能力維護設計Facebook伺服器量級的系統是一個重要考察點。當然不要求你一定要經歷過這麼大的量級經驗(畢竟這樣的公司不多)。
  • 家庭 “一人Offer,全家受益”是我對Facebook Relocation的總結。拿到Offer後的所有環節,Facebook都會把你的家庭(配偶和子女)作為一個整體考慮進去。所以只要家人支援,家庭不會成為入職的羈絆。
  • 國外生活經歷 博主在去Facebook前,除了一次自助蜜月遊,從來沒有出過國。也證明這方面沒有硬性要求。個人覺得生活就像學游泳,扔進水裡了,撲騰幾下怎麼樣都會了。
  • 會翻牆 呵呵。。。

看了那麼多,是不是覺得自己也是個合格的FB準候選人呢? :) 火速進入網申階段。

第0階段:網申

其實因為我cenalulu本來就安排在2014年9月底的時候去一次舊金山。所以一開始是報著試試看想法,並帶著萬一要on-site面試,我還可以省個機票錢

的心態,通過Linkedin找了幾家正在招募MySQL DBA職位的矽谷公司。從中挑選了幾個巨頭投了簡歷,包括:Google,EA,Apple,Linkedin,Twitter,Facebook(後簡稱:FB)。悲劇的是,只有FB通過了簡歷篩選,並得到了郵件回覆。之後從已經在這些公司工作過的朋友那邊瞭解到,海投簡歷確實是一個效率比較低下的方式。很有可能因為簡歷關鍵字匹配不成功就直接失去了後續面試機會。所以,如此悲催的首輪通過率也不足為奇了。他們強烈建議如果想從矽谷公司的簡歷篩選中脫穎而出,還是儘可能找公司員工做內推。{: style=”color: red”} 不過,相較於國內公司,矽谷巨頭做的比較好的一點就是無論你簡歷通過與否,都會在兩天內給到郵件結果。所以,網投時留得郵箱建議是能夠每天查收一次的。下面是我眾多悲劇(被拒)信中的一封:

Thank you for your interest in a role at Twitter. We have reviewed your experience in regards to this open position, and unfortunately do not see a strong match for you at this time. We will also keep your resume on file should a future match become available. We realize it is a time commitment to engage any company in the application process and we sincerely appreciate your efforts.

關於職位的具體資訊,各個巨頭都有自己的招聘主頁。也可以通過Linkedin搜尋。FB家的職位具體資訊可以通過:https://www.facebook.com/careers?_rdr查詢。什麼?博主!這個連結打不開啊!好吧,翻牆對於大陸應聘者是一道“面試題”。 此外,走整個申請面試流程前,確保自己已經準備好了。因為,FB的效率非常高,從網申到第一次電面最短會只有兩三天的時間。一旦闖關失敗,距離下一次申請需要有至少半年的冷卻時間。

第1階段:電面

在和HR互通幾封郵件後我們商定了電話面試時間。由於時差問題,面試定在了北京時間凌晨1點。Facebook的工作時間是當地時間早上9點到晚上6點,對應的北京時間是凌晨1點到第二天早上10點,如果是美國夏令時的話,那麼時差從16個小時減少到15個小時。所以對於大陸應聘者來說面試時間有兩個選擇:一個是熬夜到凌晨,一個是早起面試。博主由於當時還是在前公司任職,早上10點在公司面試並不是一個很穩妥的選擇。因此幾次電面時間都是定的凌晨在家面試。 如果進行順利的話總共會有3-4次電面(我進行了3次,具體數量按照崗位要求和麵試質量決定)。電面採用直接淘汰制。電面結果直接決定了你能夠進入下一輪(不是多次面試成績取平均)。所以,對於每一輪電面都要格外的重視。每次電面時間都控制在45鍾內,技術電面無論題目是否完成,都會用足45分鐘。電面方式可選電話(由面試官座機打過來)或者skype。博主建議使用手機,Skype通話質量不太穩定。我的電面過程中,兩種都用過。相比之下電話的體驗更好些,因為可以把電話內容錄下來之後做回顧。每次電面前,我都會提前半小時呆在一個安靜的房間,做一些簡單的面經操練進行熱身。然後確保電話暢通,耳機音量OK,Skype線上。一般來說面試官的來電時間非常準時,我的三次電面來電時間都和約定時間誤差不超過5分鐘!這也是FB嚴謹的招聘風格的一部分。電面全程使用英語。每次電面的一開始,面試官會有簡短的自我介紹,並對本次電話面試的時間和內容安排做一個約有5分鐘的詳細介紹。這部分是你適應面試官口音的一個絕佳環節。我的運氣較好所有電面都是英語的native speaker。如果你對於印度口音承受力較差的話建議先在youtube上搜一些印度哥們的技術分享視訊研究下。 以上就是每次電面共性的內容,下面按照電面輪次,逐一詳細介紹:

注:本文只介紹流程,所有技術面的題目會在後續文章中分享

1.1 第一次電面

第一次電面全程是Recruiter(即國內常說的HR)。整個招聘流程中從電面到入職,除了技術考官外,他是你唯一的聯絡介面人。所以給他留下一個好印象當然是成功的第一步。簡單的流程介紹後,就要求我進行一個自我介紹。然後會根據幾個和應聘職位相關的工作經歷提幾個具體的非技術問題。之後會進行客觀基礎題的問答。所謂客觀基礎題就是有唯一標準答案的問答題。例如:Linux上HTTP上的埠是多少? MySQL和Linux基礎題各20題。答題期間,recruiter不會告訴你正確與否。因此,在答題結束前是可以修正之前的答案的。我就這麼修正過一次。所有40題答完之後,面試官會告知答錯了幾題。我當時是錯了一題,面試官暗示成績應該足以讓我進入下一輪面試(具體的及格線我不清楚)。答完題以後就是,Q&A環節。問了兩個事先準備的套路問題,一個關於職位本身,一個關於公司文化。最後,互相感謝,等待面試官先結束通話電話。

1.2 第二次電面

第二次電面是coding技術面,由將來的team內部的員工全程主持。coding技術面的形式是,45分鐘內,面試官會給出4道技術題,讓面試者在 Stypi上進行答題。Stypi是一個線上協同程式碼編輯網站,即你的實時程式碼編寫和修改都會在面試官那邊展現出來(可以理解是網頁版的遠端桌面)。每道題都會通過Stypi貼在編輯區域內,然後答題者在編輯區域內當場進行coding。每次出完題後,如果覺得題目表述不清楚或者覺得模稜兩可的地方可以及時詢問面試官。每一題答完後,面試官如果決定有明顯的bug或者效率比較低的地方會提出,讓答題者進行修改,或者口述改進方案(具體根據時間進度而定)。 下面是一個Stypi介面的截圖: stypi

1.3 第三次電面

由於應聘的是MySQL Database Administrator,電面也必然免不了進行MySQL技術面試。第三面就是另一個來自將來同事的面試。該輪面試是問答形式,因此也就沒有用到電腦。題目由淺入深,考察的都是MySQL的一些基礎知識。同時也會根據簡歷上的自我介紹和專案經驗進行深入的提問。

1.4 第四次電面

本來在第一次電面中Recruiter提到會有一共會有四輪電面,且第四輪電面是故障排查演練。也許是進度原因(因為離我出發去舊金山只有一週了),又也許是之前的考察已經達到了目的。Recruiter郵件告知我,接下來就直接去Palo Alto總部面試了。Bravo!

facebook_site

第2階段 On-site面試

2.0 面試前夕

確認有on-site面試資格後,面試官會確認具體面試時間。同時,讓候選人辦理入境簽證。由於我因為之前的出國計劃,已經有了B1/B2的visa所以就略過了這一步。一般來說美國簽證的週期在兩週以上,包括材料準備,提交,大使館面籤,護照快遞等。按照之後的經驗,所有這些流程都會有FB指定的代理商BAL跟蹤協助。所以,整個流程會非常的省心,非常的人性化! 由於我的個人安排,機票和住宿是自己搞定的。實際上根據FB的政策,所有面試的來回機票費用和住宿費用都是全包的。按照之後的經驗,機票會由FB的指定代理CWT代為下單,商務艙標準。酒店是五星級,時間一般最長三天,即:面試前夜,面試當天和麵試後的調整日。這兩部分的錢都是FB支付。此外,FB允許報銷面試期間發生的生活費用,每天150美元。包括:來回酒店機場的出租票,伙食費和基本生活用品。這部分的費用在面試結束後一個月內,通過系統上傳發票(Receipt),最後通過銀行轉賬的方式打給面試者。所以最好能提前擁有一張支援國際匯款(有SWIFT CODE)的銀行的銀行卡。

2.1 面試當天

面試約定在Hacker Way Site早上9:45進行。搭乘賓館提供的直達車,早早的到了FB總部。在前臺進行訪客登記,等了約10分鐘我的介面Recruiter就來接我了。由於來的較早,他先帶我大致參觀了下園區,當然免不了show一下 FB引以為傲的十幾個餐廳。隨後,在某個休息室匆匆的抓了杯咖啡就到了面試室。所謂的面試室就是預先book了一天的會議室,候選人整個一天的面試都會在這裡進行。 on-site面試總共是5輪,每輪嚴格控制在45分鐘(答不完就結束,有空餘則繼續聊),每輪一位面試官。按照我當時的情況和之前的面經來看5輪的分工都比較明確,分別是:coding、實戰經驗、未來的manager、未來的teamate、未來的兄弟team組員。由於今天我們主要講流程,在這裡我就大致過一下每個人的面試題傾向。具體的面試題內容會在後續博文中分享。

  • coding部分:和之前的電面題型別大致一致,只是形式變成了FB著名的white-board coding,即在一塊大白板上寫程式碼。也就是說:沒有高亮!沒有自動補全!重度依賴IDE的童鞋在沒有準備的情況可能會有些吃緊。
  • 實戰經驗部分:由於我是面試MYSQL DBA方向,因此內容和MySQL內部原理密切相關。按照Recruiter的說法是:問到你不會為止(找到知識的邊界)。一般來說這一面都會是技術專家出面進行。形式為問答+白板的虛擬碼。
  • 未來manager部分:0.5人文+0.5技術。主要考察團隊合作能力,以及過去的一些專案中遇到的困難和如何解決的。如果簡歷上沒有撒謊,並且實戰經驗豐富的話,這一關會是非常輕鬆的。
  • 未來的teamate:全技術,這部分的深度會沒有技術專家面的那麼深。個人猜測這一關除了做技術能力的double check外,也是為了確保候選人能夠很好的與將來的同事交流。
  • 未來的兄弟team成員:這部分主要考察周圍知識面的觸及程度。例如:作為MySQL DBA瞭解Linux相關知識就是必要的;對於programmer來說,瞭解一些產品設計原理,或者前端知識也是必要的,等等。此外,也考察部分跨團隊交流的能力。

由於是從上午開始的面試,在前兩面結束後就是一個一小時的午休時間。當然,這段時間就是好好享受FB奢華的飯菜調整狀態的時候啦。Recruiter當時和我說,每天最煩惱的時候就是午飯時刻,因為“去哪個食堂吃,吃什麼”是最困難的問題。為此,他們內部還有一個APP,用於展示每個食堂當天提供伙食選單,ORZ。。。 全天面試完成後,沒有特殊安排的話,Recruiter會詢問你是否想繼續逛下。否則就陪同離開園區,完成一天的面試執行。

2.2 面試後的結果

大約在面試當週的週五都會有個候選人PK會,每位面試官會表明自己的看法。在這個會上就會有一個候選人是否通過的結論。我當時在面試後5天左右就收到了錄用結果。之後Recruiter就會起草offer,談工資(具體工資我就不說啦,如果想知道一個大概的業界標準可以上Glassdoor),郵件確認,走流程。Offer搞定後,就開始啟動relocation專案了。所有的relocation相關你能夠想到的問題,FB都有指定的代理回來幫助你,實在是非常的周到!例如:簽證,搬家海運,臨時落腳點,機票等。關於華人relocation和國外生活的部分,我也會在日後的博文中陸續更新。

Tips

如果你將要或準備參加FB電面/面試的話,下面是一些我個人感覺比較需要注意的點

  • 沒有做過的或者不清楚的知識千萬不要寫在簡歷中,任何資訊都有可能在電面中被考察到
  • 申請時留的郵箱,保持暢通可用,建議每天查收新郵件。
  • 電面環境建議安靜,溫度合適,電話訊號良好。
  • 電面準備一條有麥克的耳機(普通手機的通話耳機就行)。
  • 注意保證手機電量充足
  • 王淮的《打造Facebook》一定要看,我的大部分面試流程的疑問都在書裡得到了解答(PS:我真的不是出版社的託!覺得我是託的可以看PDF。PPS:出版社別打我)
  • coding電面之前,建議先通過stypi練習一些簡單的演算法題
  • 關於薪資範圍, 可以參考Glassdoor上給出的標準基本上很準
  • 關於家庭
    • 收入:以Facebook的待遇,一個人養活一家三口基本不是問題,會有少許結餘。
    • 簽證:Facebook的指定代理會幫一家三口搞定一切(但是不包括申請人的家長)

Q&A

這部分我將會持續更新大家感興趣的問題。如果你對於來FB面試,工作有什麼樣的疑問,都可以來我的部落格原文下留言

或者給我發Email: [email protected] 所有共性的問題我都會在文章下面作答或者郵件回覆。 當然,如果你在看了本文以後有了來FB工作的念頭的話,也可以把英語簡歷和想要應聘的職位及應聘所在地發到我的Email,我會篩選後在平時空閒的時間幫忙走內推流程。 具體職位見:https://www.facebook.com/careers?_rdr