中國程序員怎麼去 Facebook 工作?


如何肉身翻牆到矽谷,享受新鮮空氣和高額年薪?感謝幾位 facebooker 朋友的熱情幫助,完成了這篇回答。

一、Facebook 在華沒有業務,那麼這些工程師去哪裡工作?

Facebook 在大陸確實是沒有 Office 的,可以在 https://www.facebook.com/careers/?ref=pf#locations 查詢 Facebook 在全球的工作地點。

美國的工作地點

二、為什麼要去 Facebook 工作?

  • 清新的空氣、食物安全等生活品質因素
  • 車很便宜,矽谷的房價雖然貴,但購房的壓力比北上廣小
  • 和世界上水平最高的工程師一起工作
  • Working on a product that over one billion people around the world use

三、從哪裡獲取獲取招聘信息


除了官網的招聘頁面 https://www.facebook.com/careers/?ref=pf,還可以去新浪微博關注@Facebook工程團隊 ,會不定期發布招聘信息。

Facebook工程師團隊的微博

此外,QQ 群、人人、微信、朋友圈也是重要的信息獲取來源。很多在 Facebook 工作的中國工程師會在這些地方分享第一手的招聘信息。如果你在這個圈子裡,在信息的獲取上會很有優勢。(還有其他的優勢,後面會提到)

四、從申請到拿到 offer 的流程是怎樣的?


如果順利的話,整個流程是這樣的:

  1. 閱讀招聘信息,投遞簡歷
  2. if 簡歷通過刪選,then 電話面試(一般是2輪,如果第一輪面的好就一次通過)
  3. if 電話面試通過,then Onsite 面試(3-4輪)
  4. if Onsite 面試通過,恭喜你已經拿到 Facebook 的 offer 了。這個時候 HR 會和你溝通工作意願,如果想去美國工作的話,H-1B 簽證是非常重要的,沒有這個簽證是不能去美國工作的。

所以在整個過程中,比較關鍵的問題有幾個:

  1. 怎麼提高簡歷通過的幾率?
  2. 電話面試和 Onsite 面試會問什麼問題?如何提高面試成功率?
  3. 面試對英語的要求高么?
  4. 怎麼獲得 H-1B 簽證?沒有這個簽證會怎樣?

下面一一來解釋這些問題

五、怎麼提高簡歷通過的幾率?


採訪朋友的時候,他表示自己和身邊的朋友都通過簡歷的申請了。看起來好像很容易?

但打開他的 Linkedin 主頁瀏覽一下他的經歷,就能明白是因為水平到了,通過簡歷的篩選才會這麼水到渠成。
回顧一下你的學校、 競賽經歷、項目經歷、實習/工作經驗,是否能讓 Facebook 的 HR 對你刮目相看?

不過提高通過篩選的幾率的方法是有的:找人內推。如果你認識在 Facebook 工作的前輩,讓他幫忙內推,再加上出色的簡歷,通過簡歷篩選基本上是 100% 的事情。

六、電話面試和 Onsite 面試會問什麼問題?如何提高面試成功率?


面試的題目是演算法/數據結構題+基礎知識。

如何提高面試成功率?


如果水平不到的話,臨時抱佛腳是沒有太大用的。所以紮實的基礎知識 + coding skill 非常重要。


面試中注意 keep talking,避免出現尷尬的冷場。不知道答案也不要怕,說出自己的思路,讓面試官知道你的思考過程。

想有針對性的練習?可以,以下是三個良心推薦:

  1. 《編程之美》等面試心得集錦書籍
  2. Career Cup 網站,有 Google、微軟、 Apple、Facebook、Amazon 等公司的面試題
  3. Leetcode 網站,在線練習演算法題

七、面試對英語的要求高么?


要求沒有那麼高,代碼大家都認識嘛。但口語水平必須能達到和面試官交流的程度。

需要注意的一點:面試中有時候會遇到印度考官,會有口音。


八、怎麼獲得 H-1B 簽證?沒有這個簽證會怎樣?


H-1B 簽證是美國簽證的一種,即 Specialty Occupations/ Temporary Worker Visas (H-1B)。H1B簽證系美國最主要的工作簽證類別,發放給美國公司僱傭的外國籍有專業技能的員工,屬於非移民簽證的一種。持有H1B簽證者可以在美國工作三年,然後可以再延長三年,6年期滿後如果簽證持有者的身份還沒有轉化,就必須離開美國。

因為 H-1B 簽證的申請量大於發放量,所以採取抽籤發放制,全憑運氣,幾率大概是在 40%。

如果拿到 Facebook 的 offer 卻沒有抽中 H-1B 簽證,那麼不能去美國工作,可以去 Facebook 在全球其他的 Office 工作。


End

最後祝想去 Facebook 的同學心想事成~


以我在Facebook有限的做面試官經歷來說,直接從國內來的人整體實力不錯。然而真正成功在Facebook登錄的並不多。原因主要有以下幾個:

1. 申請渠道
在Facebook的中國工程師,來源大致分四種:

  • 在美國讀本科/碩士/博士,臨近畢業通過校園招聘進來的
  • 從美國(特別是矽谷或是西雅圖)的其他IT公司跳槽過來
  • 在國內幾所著名高校念書,通過校園招聘進來
  • 已經在國內開始工作,人肉翻牆

對比一下就可以發現,最後一種的背景最為多樣,或者說複雜。可想而知,如果你身處第四種,想確保身處大洋對岸,對中國情況缺乏詳細了解的美國HR篩選出你的簡歷,實在變數很大。所以,最有效保險度過簡歷關的方法就是:找Facebook員工內部推薦。這不僅可以讓你更容易鎖定住一個面試席位,整個流程也可以快很多。
同時,對於首要目標是人肉翻牆,對Facebook並不執著的同學,不妨光撒網,多試一些公司。先來了美國再說,實在想來Facebook再跳槽也容易很多。

2. 工作簽證
國內的人基本上都會低估這件事的影響,以為先面試完有offer再說。然而實際上,由於工作簽證的問題,在相對不利的時間點開始面試流程,就算有offer你最終也可能不會接受。
我們不妨假設你已經順利通過面試並接受Facebook的offer,接下來公司會開始為你準備工作簽證,也就是H1b的申請。拿到H1b就可以在其生效日之後正式在美國工作。不過有兩個問題:

  • H1b不是什麼時候都可以申請的。根據美國勞工部的規定,每年於四月一日開放申請入口,申請數達到一定數量就會關閉。近年來由於美國經濟好轉,申請人數暴增,幾乎必須在四月一日當天寄出申請才行。
  • 申請獲准後並不是立刻生效,需要等到當年的十月一日才可以。

所以,假設你在2015年的四月份開始面試,五月份拿到offer。你必須等到2016年四月份才能遞交H1b的申請,最早於2016年十月份開始工作。這還不考慮你可能沒抽到H1b的情況。你接不接這個offer?
對於申請工作簽證這件事本身,誰也無能為力。唯一能做的,就是選擇一個更恰當有利的時間點開始面試。一月份交簡歷,二月份拿offer,三月份準備好工作簽證的材料,四月一號寄出申請。整件事情就會順利很多。
另外,Facebook在美國之外的國家也設有office。目前比較大比較成熟的是英國倫敦的辦公室,工作簽證也更容易拿到。不執著美國的話不妨考慮下,等到美國的工作簽證拿到了也可以回到總部。

倫敦的同事們在Hackathon)

3. 面試
面試本身反而是最簡單的事情。
很多人擔心語言的問題。我覺得能在面試的時候把自己的意思表達清楚就可以,發音和語法都沒那麼重要。而且,比起其他能力來說,語言是最好培養和提高的事情了,公司在招人的時候對這個要求很寬鬆。

總結下就是:

  • 盡量找人內推
  • 可以的話多試些公司
  • 選擇有利的時間點開始面試,以應對工作簽證的問題

投個簡歷就有了,最近 @陳萌萌 都開始面試了(逃


不過其實還是找了人內推的——是一個原本在Windows Kernel組的一個萌妹紙,因為組裡的人實在太強大了受不了,跳去了facebook,然後開始抱怨那些facebook的員工,正事不幹,整天刷存在感……


國內的一流公司也不比矽谷差呀


有人曾經戲言,全球人口數量最多的三個國家分別是:中國、印度、Facebook。雖然Facebook算不上是一個「主權國家」,但是如今的Facebook已經擁有20.1億的活躍用戶,上至美國總統,下至普通民眾,都是Facebook的忠實粉絲。Facebook儼然已經形成了自己的社交帝國。很多人相信,Facebook已經具備了超越Google,成為新一代互聯網霸主的潛力,它將成為Google之後又一個互聯網傳奇。

1.Facebook到底是一家什麼樣的公司呢?

Facebook位於加利福尼亞州門洛帕克市,是一家營利性的在線社交媒體和社交網路服務公司。Facebook網站於2004年2月4日由馬克·扎克伯格(Mark Zuckerberg)和哈佛大學的學生和室友共同推出。其初衷是打造一個學生社交群,但是之後一步步成為國際化的社交平台。

Facebook的營收分布在6大領域:

  • 搜索廣告領域
  • 遊戲中的Facebook Credits(虛擬貨幣)
  • 第三方電子商務網站上的Pay with Facebook
  • 本地優惠券
  • Facebook上的品牌廣告
  • Facebook站外的品牌廣告

其中Facebook的主要來源於廣告,通過精準廣告,定製出Facebook交互化的社交廣告模式。據統計,2017年第二季度Facebook的營收額高達93.2億美元,相比去年同期增長了44。7%。

Facebook的用戶黏性和忠誠度也令人驚訝,有調查顯示,有78%的Facebook閱讀器用戶會再次訪問Facebook的網站,而Google閱讀器用戶再次訪問的比例僅有67%的。擁有這麼多的用戶資源,Facebook在商業領域的發展具有巨大的潛力。

如今的Facebook也一步步地在往移動互聯網領域拓展業務。在移動端,Facebook目前的月活躍用戶數截至2017年6月30日,已達到20.1億,同比增長17%。與此同時,Facebook的日活躍用戶數達到了13.2億,移動端的廣告收入約佔2017年第二季度廣告收入的87%。

Facebook的價值內涵是:to a more open and connected word(致力於一個更加開放和連接的世界),立足於這個偉大的理想,Facebook也正在通過自己的產品改變世界。但是近來Facebook的發展也存在一個巨大的危險因素:虛假新聞,由於傳播虛假新聞所造成的公眾效應,最終會影響到Facebook的聲譽,進而影響到其業務。

2.如何才能進入Facebook這家IT巨頭?

Facebook福利好,活動多,技術先進,是新時代很多人的Dream Company。但是想進入這家公司還是要做好準備的。

投簡歷的時間:Intern 最佳簡歷投遞時間為8月份起,而Fulltime 最佳簡歷投遞時間為8月底起

Facebook的面試對於New Grads 來講主要考演算法,題目難度比較大,系統設計考的比較少或不考。所以,面試前最好對 Facebook 成名技術有所了解,比如HHVM,Mobile First的策略等。

另外,了解 Facebook 的 Hack 公司文化,也可以在面試時有所加分。

具體流程如下:

第一步:網申or內推。

第二步:電面。一般有3-4次。第一次電面會要求進行自我介紹,根據應聘職位問幾個相關經驗和非技術問題;第二次電面是coding技術面;第三次一般就會問到應聘職位相關的技術問題。

第三步:On-site面試。一共有5輪,5輪的分工分別是:coding、實戰經驗、未來的manager、未來的teamate、未來的兄弟team組員

大概在面試後1周左右就能知道面試結果了。

3.在Facebook的10個糟糕的工作體驗:

在Facebook工作也不是十全十美的,也是有缺點的,包括:

1.碼不完的代碼。過去幾年Facebook工程師的人數翻了幾番,源代碼提交的速度也翻了幾番。這顯然違背了Fred Brooks在《人月神話》中的原則,這個「假定」的生產力是什麼?那是神話!工程師一直在提交代碼,每個星期都在網上發布新功能,這真的是一個龐大的工作量

2.會議太少。Facebook有一個「沒有會議的星期三」,也被稱為「失敗的交流日」。但是軟體開發需要討論和辯論,所以會議太少並不是一件好事。

3. Zuck管得太寬。現在的Facebook是一家上市公司,作為CEO Zuck的工作應該是與公眾溝通,特別是主要的投資者、分析師和專家。但是Zuck仍在忙著推出產品,忙著與工程師交談、制定策略。這完全是本末倒置!

4.對短期效益不夠關注。Zuck是一個理想主義者,專註於建立偉大的產品以及穩固的長期業務。但是對於一家公司,這個季度股票下降,就應該提高下一季度的,而不是執著於開發cool的產品。

5.食物太好。這個應該算是Facebook的一個優點吧,但是食物太豐盛,一日三餐免費吃,沙拉、主菜、甜點、素食、飲料等隨便挑,對於我那種對美食沒有控制力的人來說,脂肪不超標是完全不可能的。

6.開發工程師做的自主決定太多。Facebook似乎不懂得組織中的層次結構問題,上級對下級的管治力不夠。很多實習生、工程師可以擅自做決定。所以Facebook應該加強管理人員的責任管理。

7. Hackathons創造的新想法太多。Hackathons70%的項目被應用到Facebook的主要網站上,但是這種「賦權」太隨意了,應該有一個人去管理,告訴他們應該做什麼不應該做什麼。因為企業應該是獨裁的,而不應該是民主的!

8.移動平台開發方向錯誤。移動設備的重要性的確不能否認,但是給第三方開發者提供工具卻是荒謬的。

9.內部過於「和諧」。Facebook的員工很理想,覺得一個公司,裡面的員工就應該各司其職,和諧共處,共同承擔責任,但是互相質疑才是創造工作動力的源泉。一個公司都大和諧了,這個公司還有什麼競爭力。

10.文化謊言。Facebook的企業文化建立在幾個謊言上,第一個是「there』s no politics at Facebook」,顯然這是不現實的。第二個是「management is a parallel career track and it』s just as good to be an individual contributor」,職位級別還是很重要的。第三個是「ecisions are made transparently」,宣稱透明,應該沒有人會信吧

歡迎關注我的微信公眾號:九章演算法(ninechapter),幫助你了解IT技術前沿,通過面試、拿到offer、找到好工作!


身邊一個小兄弟,申請去了CMU讀研,畢業後谷歌、FB、微軟都給了offer。最後選了FB。


用技術把自己提高


好吧,拿到了勞工部的H1-B,目前正在申請Visa Stamp。如果順利的話,10月份入職Facebook,所以暫時就可恥的匿了。。。

在面試之前,我在歐洲一家小型手機軟體公司就職,是手機端的tech lead,MAU將近兩百萬,軟體評分4.5。

他們的HR找到我,第一輪電話技術面試是問一些關於手機平台的基本問題,非常簡單,十個問題全部答對;第二輪電話技術面試要做一些coding,個人感覺問題比較簡單,弄明白基本的數據結構和演算法就沒有問題了。當然也有和HR的交流,細節記不得了。

然後參加onsite面試,也是一些數據結構、演算法,軟體構架的問題,回答出了所有的問題。當然也有HR的面試,但總體來講把自己懂的知識,以及做過的東西展示出來就好了。

一周後,得到offer,然後申請H1-B。四月底的時候得知中獎,印象中今年的中獎率在三分之一左右,比去年好些(感謝Trump對阿三哥的壓迫咯)。然後七月份拿到勞工部的證書,已經預約好大使館下周申請Visa Stamp。


一位Facebook工程師Carlos Bueno在Facebook官方工程頁面發了一篇文章,詳細闡述了如何準備Facebook的面試,大概內容如下:

一、電話面試或線上面試

第一步通常是與應聘者進行45分鐘的談話。這個談話的目的就是了解應聘者各自的專業領域。面試官會就應聘者的簡歷、技能、動機、興趣等方面進行詢問。但是這第一步的主要時間還是花在了編程測試。面試官會給應聘者一個鏈接,應聘者可以進入測試自己解決編程問題的能力。

提示:對於電話面試,請確保通話時你周圍環境安靜,並且網路通信良好。電話面試時耳機就顯得很有幫助。在我第一次面試Facebook工作時就忘記了這一點,於是我就不得不一邊敲寫代碼,一邊將手機夾在肩膀和耳朵之間進行電話面試。

二、「循環」測試

Facebook的「循環」測試指的是在同一天對應聘者進行多次面試,通常中間有個午餐休息時間。除了在文本編輯器里寫代碼外,面試官還有可能要求應聘者在白板上寫代碼。在此期間,應聘者有時間可以向面試官詢問任何感興趣的事情。

三、文化融合是關鍵

Facebook希望應聘者有理解和解釋一些複雜觀點的能力。同大多數公司一樣,Facebook希望應聘者對工作充滿熱情、好奇心和動力。Bueno指出,「Facebook有著一個很極端的用戶工程師之間的比例,並且一周5天都要反饋代碼。」Facebook希望接收那些能夠帶來巨大影響,行動迅速、果斷,並且清楚理解他們所做工作的人。

四、Facebook需要能夠迅速適應多角色工作環境的人

Facebook需要各種各樣的專家,但是同時它也需要在關鍵必要時能夠承擔其他角色任務的員工。Bueno說到:「這意味著應聘者應能夠理解其專業範圍外其它一些知識。」Facebook更親睞精通多個專業領域的應聘者。在Facebook,你會經常看到員工先在機器學習領域工作,然後就轉到了網頁性能,搭建、維護一個新的後端工具,之後又在類似照片應用的產品特性方面工作一年。

提示:一個很值得培養的技能就是能夠隨意地改變自己的固定的現有觀念。有時你可能會遭遇到一個問題,看起來應該有簡潔解決方案,但實際上這個問題只有一個粗糙或者模糊的解決方法。如果你卡在了這個問題上,那就嘗任何其他方法來解決,無論這個方法是多麼笨拙或者低效。然後在這個方案上加以改進。總之,能夠解決問題總比解決不了問題強。

五、高端軟體設計中,「架構」至關重要

Bueno 這樣問到,「面對不尋常的約束,你能否找到解決方案?」Facebook想考察應聘者想像整個問題以及解決方案餘地的能力。同時Facebook也希望看到你尤其對這家公司以及其面臨的獨特問題有多少思考。你會怎樣構建一個全球視頻分享系統?或者一個Facebook聊天網路?

提示:磨刀不誤砍柴功。對於那些你並不是每天都用到的技術知識也要重溫,因為當你需要的時候它們就顯得十分有用了,比如遞歸、圖論、樹遍歷、組合問題等等。

六、代碼才是王道

Facebook並不喜歡提問一些難題,但是就這一點你要知道一些小技巧。你被問到的問題也許聽起來很做作,而且這些問題實際上就是為了特定目的而人為設計的。這些問題通常很簡單,能夠在幾分鐘內解釋清楚,並在10到30分鐘內能夠得到解決。但是這些問題的解決也都需要一定的知識、技能和集中精神。

優秀的編程問題本質上是分形的。這些問題能夠被任意地擴展以用來測試你的知識水平。比如,他們可能要求你用任何你喜歡的方式來解決一個問題。然後就會要求你固定空間或者次線性時間內再次解決同一個問題。順便說一下,無論一個問題起初聽起來是多麼的基礎,全神貫注地關注這個問題才是Facebook密切關注的。你對於一個問題如何下手至少與這個問題的答案一樣重要。

在面試過程中,Facebook面試官會讓應聘者寫很多代碼,因為這種編程能力往往與作為一個Facebook員工的表現如何直接相關。Facebook甚至還有專門設計的一套問題供應聘者在家裡研讀。Facebook認為應聘者最好能夠看一下這些問題,而且鼓勵能夠在提交簡歷前解決一些。

提示:另外一種編程問題可能是要求應聘者分析一些數據類型或者迷你語言。這些問題測試能夠鍛煉你對極端案例的推理能力,同時控制協調頭腦中的各種狀態想法。


推薦閱讀:

BAT 穩定工作和創業之間如何抉擇?
培訓出來的程序員一無是處嗎?
熬夜加班對身體的損害可以通過跑步等運動彌補嗎?
兩年半的C編程經驗,不懂C++,面試C++的職位該怎麼準備?
程序員經常加班,白髮多起來了,壓力大,也影響情緒了,有什麼保健品靠譜嗎?

TAG:Facebook | 互聯網 | 程序員 | 職業發展 | 招聘 |