2014年10月,我有幸通過了Facebook的電面,參加了在Palo Alto的on-site面試,并最終成功拿到了offer。期間有很多經(jīng)歷的東西想要記錄下來,以做備忘。
同時在當時準備的時候,發(fā)現(xiàn)國內(nèi)對于Facebook面試經(jīng)歷的資料和分享時少之又少。因此,也想以記錄的方式和大家分享經(jīng)驗,讓更多的華人成為Facebook的一員!
整個記錄會分為三個大部分:面試流程,面試題集錦,入職流程和生活準備。前兩部分為了避免誤人子弟,我盡可能的客觀描述,如非特別需要減少主觀的理解在其中。
由于我申請的職位是MySQL Database Administrator,相對比較冷門。為了使得讀者受眾面更廣,我盡可能地挑選面試中對于程序員和其他IT崗位能普遍試用的經(jīng)驗來作重點描述。如果你受不了博主的流水賬敘述形式,可以直接跳到最后一節(jié),獲取簡要通關(guān)秘籍。
基礎(chǔ)要求
我們來看看要成為一個Facebook的潛在員工候選人,需要有哪些硬條件。要求的遠比你想到的要簡單很多:
學(xué)歷:由于拿到offer后,辦理工作簽證時出示本科成績單。所以本科學(xué)歷是最低要求的。
英語:英語沒有硬性要求,不需要雅思托福成績。個人覺得能無障礙的聽懂youtube上的技術(shù)分享,會一些基本日常語法加上相關(guān)專業(yè)詞匯,就能比較順利的完成電面和人肉面。
專業(yè)經(jīng)驗:沒有硬性的相關(guān)領(lǐng)域證書要求,當然如果你沒有內(nèi)推渠道,有個把證可以增加通過簡歷過濾器脫引而出的機會。
技術(shù)經(jīng)驗:是否有能力維護設(shè)計Facebook服務(wù)器量級的系統(tǒng)是一個重要考察點。當然不要求你一定要經(jīng)歷過這么大的量級經(jīng)驗(畢竟這樣的公司不多)。
家庭:“一人Offer,全家受益”是我對Facebook Relocation的總結(jié)。拿到Offer后的所有環(huán)節(jié),F(xiàn)acebook都會把你的家庭(配偶和子女)作為一個整體考慮進去。所以只要家人支持,家庭不會成為入職的羈絆。
國外生活經(jīng)歷:博主在去Facebook前,除了一次自助蜜月游,從來沒有出過國。也證明這方面沒有硬性要求。個人覺得生活就像學(xué)游泳,扔進水里了,撲騰幾下怎么樣都會了。
會翻墻:呵呵。。。
看了那么多,是不是覺得自己也是個合格的FB準候選人呢? 火速進入網(wǎng)申階段。
第0階段:網(wǎng)申
其實因為我cenalulu本來就安排在2014年9月底的時候去一次舊金山。所以一開始是報著試試看想法,并帶著萬一要on-site面試,我還可以省個機票錢的心態(tài),通過Linkedin找了幾家正在招募MySQL DBA職位的硅谷公司。從中挑選了幾個巨頭投了簡歷,包括:Google,EA,Apple,Linkedin,Twitter,Facebook(后簡稱:FB)。
悲劇的是,只有FB通過了簡歷篩選,并得到了郵件回復(fù)。之后從已經(jīng)在這些公司工作過的朋友那邊了解到,海投簡歷確實是一個效率比較低下的方式。很有可能因為簡歷關(guān)鍵字匹配不成功就直接失去了后續(xù)面試機會。所以,如此悲催的首輪通過率也不足為奇了。他們強烈建議如果想從硅谷公司的簡歷篩選中脫穎而出,還是盡可能找公司員工做內(nèi)推。{: style=”color: red”}
不過,相較于國內(nèi)公司,硅谷巨頭做的比較好的一點就是無論你簡歷通過與否,都會在兩天內(nèi)給到郵件結(jié)果。所以,網(wǎng)投時留得郵箱建議是能夠每天查收一次的。下面是我眾多悲?。ū痪埽┬胖械囊环猓?/span>
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.
關(guān)于職位的具體信息,各個巨頭都有自己的招聘主頁。也可以通過Linkedin搜索。FB家的職位具體信息可以通過:https://www.facebook.com/careers?_rdr查找。什么?博主!這個鏈接打不開啊!好吧,翻墻對于大陸應(yīng)聘者是一道“面試題”。
此外,走整個申請面試流程前,確保自己已經(jīng)準備好了。因為,F(xiàn)B的效率非常高,從網(wǎng)申到第一次電面最短會只有兩三天的時間。一旦闖關(guān)失敗,距離下一次申請需要有至少半年的冷卻時間。
第1階段:電面
在和HR互通幾封郵件后我們商定了電話面試時間。
由于時差問題,面試定在了北京時間凌晨1點。Facebook的工作時間是當?shù)貢r間早上9點到晚上6點,對應(yīng)的北京時間是凌晨1點到第二天早上10點,如果是美國夏令時的話,那么時差從16個小時減少到15個小時。所以對于大陸應(yīng)聘者來說面試時間有兩個選擇:一個是熬夜到凌晨,一個是早起面試。博主由于當時還是在前公司任職,早上10點在公司面試并不是一個很穩(wěn)妥的選擇。因此幾次電面時間都是定的凌晨在家面試。
如果進行順利的話總共會有3-4次電面(我進行了3次,具體數(shù)量按照崗位要求和面試質(zhì)量決定)。電面采用直接淘汰制。電面結(jié)果直接決定了你能夠進入下一輪(不是多次面試成績?nèi)∑骄?/span>
所以,對于每一輪電面都要格外的重視。每次電面時間都控制在45鐘內(nèi),技術(shù)電面無論題目是否完成,都會用足45分鐘。
電面方式可選電話(由面試官座機打過來)或者skype。博主建議使用手機,Skype通話質(zhì)量不太穩(wěn)定。我的電面過程中,兩種都用過。相比之下電話的體驗更好些,因為可以把電話內(nèi)容錄下來之后做回顧。
每次電面前,我都會提前半小時呆在一個安靜的房間,做一些簡單的面經(jīng)操練進行熱身。然后確保電話暢通,耳機音量OK,Skype在線。一般來說面試官的來電時間非常準時,我的三次電面來電時間都和約定時間誤差不超過5分鐘!這也是FB嚴謹?shù)恼衅革L(fēng)格的一部分。
電面全程使用英語。每次電面的一開始,面試官會有簡短的自我介紹,并對本次電話面試的時間和內(nèi)容安排做一個約有5分鐘的詳細介紹。這部分是你適應(yīng)面試官口音的一個絕佳環(huán)節(jié)。
我的運氣較好所有電面都是英語的native speaker。如果你對于印度口音承受力較差的話建議先在youtube上搜一些印度哥們的技術(shù)分享視頻研究下。
以上就是每次電面共性的內(nèi)容,下面按照電面輪次,逐一詳細介紹:(注:本文只介紹流程,所有技術(shù)面的題目會在后續(xù)文章中分享)
1.1 第一次電面
第一次電面全程是Recruiter(即國內(nèi)常說的HR)。整個招聘流程中從電面到入職,除了技術(shù)考官外,他是你唯一的聯(lián)系接口人。所以給他留下一個好印象當然是成功的第一步。
簡單的流程介紹后,就要求我進行一個自我介紹。
然后會根據(jù)幾個和應(yīng)聘職位相關(guān)的工作經(jīng)歷提幾個具體的非技術(shù)問題。之后會進行客觀基礎(chǔ)題的問答。所謂客觀基礎(chǔ)題就是有唯一標準答案的問答題。
例如:Linux上HTTP上的端口是多少? MySQL和Linux基礎(chǔ)題各20題。答題期間,recruiter不會告訴你正確與否。因此,在答題結(jié)束前是可以修正之前的答案的。我就這么修正過一次。
所有40題答完之后,面試官會告知答錯了幾題。我當時是錯了一題,面試官暗示成績應(yīng)該足以讓我進入下一輪面試(具體的及格線我不清楚)。
答完題以后就是,Q&A環(huán)節(jié)。問了兩個事先準備的套路問題,一個關(guān)于職位本身,一個關(guān)于公司文化。最后,互相感謝,等待面試官先掛斷電話。
1.2 第二次電面
第二次電面是coding技術(shù)面,由將來的team內(nèi)部的員工全程主持。
coding技術(shù)面的形式是,45分鐘內(nèi),面試官會給出4道技術(shù)題,讓面試者在 Stypi上進行答題。Stypi是一個在線協(xié)同代碼編輯網(wǎng)站,即你的實時代碼編寫和修改都會在面試官那邊展現(xiàn)出來(可以理解是網(wǎng)頁版的遠程桌面)。每道題都會通過Stypi貼在編輯區(qū)域內(nèi),然后答題者在編輯區(qū)域內(nèi)當場進行coding。
每次出完題后,如果覺得題目表述不清楚或者覺得模棱兩可的地方可以即使詢問面試官。每一題答完后,面試官如果決定有明顯的bug或者效率比較低的地方會提出,讓答題者進行修改,或者口述改進方案(具體根據(jù)時間進度而定)。
下面是一個Stypi界面的截圖:
1.3 第三次電面
由于應(yīng)聘的是MySQL Database Administrator,電面也必然免不了進行MySQL技術(shù)面試。第三面就是另一個來自將來同事的面試。
該輪面試是問答形式,因此也就沒有用到電腦。題目由淺入深,考察的都是MySQL的一些基礎(chǔ)知識。同時也會根據(jù)簡歷上的自我介紹和項目經(jīng)驗進行深入的提問。
1.4 第四次電面
本來在第一次電面中Recruiter提到會有一共會有四輪電面,且第四輪電面是故障排查演練。也許是進度原因(因為離我出發(fā)去舊金山只有一周了),又也許是之前的考察已經(jīng)達到了目的。Recruiter郵件告知我,接下來就直接去Palo Alto總部面試了。Bravo!
第2階段 On-site面試
2.0 面試前夕
確認有on-site面試資格后,面試官會確認具體面試時間。同時,讓候選人辦理入境簽證。由于我因為之前的出國計劃,已經(jīng)有了B1/B2的visa所以就略過了這一步。一般來說美國簽證的周期在兩周以上,包括材料準備,提交,大使館面簽,護照快遞等。按照之后的經(jīng)驗,所有這些流程都會有FB指定的代理商BAL跟蹤協(xié)助。所以,整個流程會非常的省心,非常的人性化!
由于我的個人安排,機票和住宿是自己搞定的。實際上根據(jù)FB的政策,所有面試的來回機票費用和住宿費用都是全包的。按照之后的經(jīng)驗,機票會由FB的指定代理CWT代為下單,商務(wù)艙標準。酒店是五星級,時間一般最長三天,即:面試前夜,面試當天和面試后的調(diào)整日。
這兩部分的錢都是FB支付。此外,F(xiàn)B允許報銷面試期間發(fā)生的生活費用,每天150美元。包括:來回酒店機場的出租票,伙食費和基本生活用品。這部分的費用在面試結(jié)束后一個月內(nèi),通過系統(tǒng)上傳發(fā)票(Receipt),最后通過銀行轉(zhuǎn)賬的方式打給面試者。所以最好能提前擁有一張支持國際匯款(有SWIFT CODE)的銀行的銀行卡。
2.1 面試當天
面試約定在Hacker Way Site早上9:45進行。搭乘賓館提供的直達車,早早的到了FB總部。在前臺進行訪客登記,等了約10分鐘我的接口Recruiter就來接我了。由于來的較早,他先帶我大致參觀了下園區(qū),當然免不了show一下 FB引以為傲的十幾個餐廳。隨后,在某個休息室匆匆的抓了杯咖啡就到了面試室。所謂的面試室就是預(yù)先book了一天的會議室,候選人整個一天的面試都會在這里進行。
on-site面試總共是5輪,每輪嚴格控制在45分鐘(答不完就結(jié)束,有空余則繼續(xù)聊),每輪一位面試官。按照我當時的情況和之前的面經(jīng)來看5輪的分工都比較明確,分別是:coding、實戰(zhàn)經(jīng)驗、未來的manager、未來的teamate、未來的兄弟team組員。由于今天我們主要講流程,在這里我就大致過一下每個人的面試題傾向。具體的面試題內(nèi)容會在后續(xù)博文中分享。
coding部分:和之前的電面題類型大致一致,只是形式變成了FB著名的white-board coding,即在一塊大白板上寫代碼。也就是說:沒有高亮!沒有自動補全!重度依賴IDE的童鞋在沒有準備的情況可能會有些吃緊。
實戰(zhàn)經(jīng)驗部分:由于我是面試MYSQL DBA方向,因此內(nèi)容和MySQL內(nèi)部原理密切相關(guān)。按照Recruiter的說法是:問到你不會為止(找到知識的邊界)。一般來說這一面都會是技術(shù)專家出面進行。形式為問答+白板的偽代碼。
未來manager部分:0.5人文+0.5技術(shù)。主要考察團隊合作能力,以及過去的一些項目中遇到的困難和如何解決的。如果簡歷上沒有撒謊,并且實戰(zhàn)經(jīng)驗豐富的話,這一關(guān)會是非常輕松的。
未來的teamate:全技術(shù),這部分的深度會沒有技術(shù)專家面的那么深。個人猜測這一關(guān)除了做技術(shù)能力的double check外,也是為了確保候選人能夠很好的與將來的同事交流。
未來的兄弟team成員:這部分主要考察周圍知識面的觸及程度。例如:作為MySQL DBA了解Linux相關(guān)知識就是必要的;對于programmer來說,了解一些產(chǎn)品設(shè)計原理,或者前端知識也是必要的,等等。此外,也考察部分跨團隊交流的能力。
由于是從上午開始的面試,在前兩面結(jié)束后就是一個一小時的午休時間。當然,這段時間就是好好享受FB奢華的飯菜調(diào)整狀態(tài)的時候啦。Recruiter當時和我說,每天最煩惱的時候就是午飯時刻,因為“去哪個食堂吃,吃什么”是最困難的問題。為此,他們內(nèi)部還有一個APP,用于展示每個食堂當天提供伙食菜單,ORZ。。。
全天面試完成后,沒有特殊安排的話,Recruiter會詢問你是否想繼續(xù)逛下。否則就陪同離開園區(qū),完成一天的面試執(zhí)行。
2.2 面試后的結(jié)果
大約在面試當周的周五都會有個候選人PK會,每位面試官會表明自己的看法。在這個會上就會有一個候選人是否通過的結(jié)論。我當時在面試后5天左右就收到了錄用結(jié)果。之后Recruiter就會起草offer,談工資(具體工資我就不說啦,如果想知道一個大概的業(yè)界標準可以上Glassdoor),郵件確認,走流程。Offer搞定后,就開始啟動relocation項目了。
所有的relocation相關(guān)你能夠想到的問題,F(xiàn)B都有指定的代理回來幫助你,實在是非常的周到!例如:簽證,搬家海運,臨時落腳點,機票等。關(guān)于華人relocation和國外生活的部分,我也會在日后的博文中陸續(xù)更新。
Tips
如果你將要或準備參加FB電面/面試的話,下面是一些我個人感覺比較需要注意的點:
沒有做過的或者不清楚的知識千萬不要寫在簡歷中,任何信息都有可能在電面中被考察到
申請時留的郵箱,保持暢通可用,建議每天查收新郵件。
電面環(huán)境建議安靜,溫度合適,電話信號良好。
電面準備一條有麥克的耳機(普通手機的通話耳機就行)。
注意保證手機電量充足
王淮的《打造Facebook》一定要看,我的大部分面試流程的疑問都在書里得到了解答(PS:我真的不是出版社的托!覺得我是托的可以看PDF。PPS:出版社別打我)
coding電面之前,建議先通過stypi練習(xí)一些簡單的算法題
關(guān)于白板題目去哪里找:LeetcodeTopCoder, Codeforces, Project Euler 都是不錯的選擇
關(guān)于薪資范圍, 可以參考Glassdoor上給出的標準基本上很準
關(guān)于家庭
收入:以Facebook的待遇,一個人養(yǎng)活一家三口基本不是問題,會有少許結(jié)余。
簽證:Facebook的指定代理會幫一家三口搞定一切(但是不包括申請人的家長)
來源:盧鈞軼的博客
聯(lián)系客服