很多人對 Meta 的面試流程只有模糊印象。這篇按真實節奏完整復盤一次:先一輪 technical 電面,通過後進 Virtual Onsite 五輪(兩輪 Coding + 兩輪系統設計 + 一輪 BQ)。逐輪還原真題、考點和臨場策略,幫你把握每一輪的得分點。
Meta 面試流程速查表
| 階段 | 輪次 | 核心考點 |
|---|---|---|
| 電面 | 1 輪 technical | 兩道 coding,bug-free |
| VO | Coding × 2 | 資料結構 + 經典高頻題 |
| VO | System Design × 2 | feed / 賣貨功能 |
| VO | Behavioral × 1 | owner 意識 + 協作經歷 |
一、Technical 電面
電面遇到的是一位白人 Manager,開始比較嚴肅。考了兩道題:
- 第一題:LeetCode 408(Valid Word Abbreviation),難度不大,一次寫對。面試官追問了 leading zeros 的處理——這是高頻 follow-up,縮寫中的數字不能有前導零。
- 第二題:LeetCode 528 變種,題目改成 city 和距離,需要自己想清楚如何用前綴和 + 二分按權重隨機選擇。
電面表現好的話,很快能被推薦到更高的 level,所以一定要寫得乾淨、講清思路。
# LeetCode 408 核心:縮寫匹配,注意 leading zeros
def valid_word_abbreviation(word, abbr):
i = j = 0
while i < len(word) and j < len(abbr):
if abbr[j].isdigit():
if abbr[j] == '0': # 前導零非法
return False
num = 0
while j < len(abbr) and abbr[j].isdigit():
num = num * 10 + int(abbr[j]); j += 1
i += num
else:
if word[i] != abbr[j]:
return False
i += 1; j += 1
return i == len(word) and j == len(abbr)
二、VO 第一輪 Coding:資料結構設計
面試官態度友好。第一題 Merge Sorted Arrays,很基礎,快速通過。第二題要求設計一個資料結構,除支援 add / get / delete (key, value) 之外,還要支援 last 操作(返回最近插入的 key)。
核心是用雜湊表 + 記錄插入順序:
class LastDict:
def __init__(self):
self.data = {}
self.order = [] # 記錄插入順序
def add(self, key, value):
if key not in self.data:
self.order.append(key)
self.data[key] = value
def get(self, key):
return self.data.get(key)
def delete(self, key):
if key in self.data:
del self.data[key]
self.order.remove(key)
def last(self):
return self.order[-1] if self.order else None
三、VO 第二輪 Coding:經典高頻題
面試官是一個年輕的 Manager,氣氛輕鬆。第一題 LeetCode 54(螺旋矩陣),第二題與樹相關,需要用 DFS,兩題都很快通過。第二題還涉及 Top K Frequent Elements(用堆積或桶排序)。
寫完後我口頭描述了幾個 test case 並模擬執行,面試官確認無誤。Meta 的 coding 輪非常看重 bug-free 實現和測試意識——主動跑 test case 是加分項。
四、VO 第三輪 System Design:設計 Instagram Feed
面試官是 Instagram infra 的工程師,一上來就說不會和我互動,要求自己把功能設計完整。題目是設計 Instagram,支援 feed generation。準備充分能覆蓋:
- API 設計:發文、拉取 feed 的介面
- 資料庫 schema:使用者、貼文、追蹤關係
- 組件劃分:feed 服務、post store、快取
- pull vs push 模型對比:普通使用者 push,名人 pull
- 快取策略:timeline 快取、熱點資料
面試官不互動時,更要自己把 trade-off 講透,主動拋出權衡點。
五、VO 第四輪 System Design:Instagram 賣貨功能
題目是設計 Instagram 上的賣貨功能,支援 Post Item、Search、Bid。面試官是做 Security 的國人,互動性很強,重點追問:
- 高效實現 Search:indexing 的幾種方法(倒排索引、前綴樹)
- Bid 功能防作弊:如何防止買家自我炒作、刷單
由於互動性強,要隨時接住追問並調整設計,體現對安全和真實業務場景的理解。
六、VO 第五輪 Behavioral
面試官是印度 Manager,口音較重,有道題沒聽清還請他重複。整體交流順暢,講了幾段過往專案和協作經歷。
Meta 的行為面不像 Amazon 那樣幾乎全程考 Leadership Principles,但仍會通過問題驗證候選人是否有 owner 意識。常見題:conflict、failure、most impactful project。
總結:兩輪系統設計是分水嶺
整體感覺:電面表現好很快能被推薦到更高 level;VO 五輪裡 coding 相對常規,考 bug-free 實現和測試意識;而兩輪系統設計是核心分水嶺,Meta 非常看重候選人在設計層面的思考深度和 trade-off 把握。
FAQ
Q1:Meta 面試一共幾輪?流程是怎樣的? 先一輪 technical 電面(兩道 coding),通過後進 Virtual Onsite 五輪:兩輪 Coding、兩輪 System Design、一輪 Behavioral。電面表現好可能被推到更高 level。
Q2:Meta 的 coding 輪考什麼?難度如何? 以 LeetCode 中等高頻題為主(如 408、54、Top K、資料結構設計),難度不極端。重點是 bug-free 實現 + 主動跑 test case,寫完口頭模擬執行是加分項。
Q3:Meta 系統設計輪最看重什麼? 設計深度和 trade-off。兩道高頻是 Instagram feed generation(pull/push 模型)和賣貨功能(Search indexing + Bid 防作弊)。有的面試官不互動,要自己把權衡講透。
Q4:Meta 的 BQ 和 Amazon 有什麼不同? Meta 不像 Amazon 幾乎全程考 Leadership Principles,行為面更輕,但仍會驗證 owner 意識。常見 conflict、failure、most impactful project,結合真實專案講即可。
Q5:Meta 面試如何拿到更高 level? 電面和 coding 輪務必乾淨俐落、bug-free,把表達和測試意識做滿;真正拉開差距的是兩輪系統設計——能就關鍵 trade-off 深入展開的人更容易拿到高 level。
正在準備 Meta 面試?
如果你 coding 能過但系統設計講不深,或想在 onsite 前把電面 + 五輪的節奏完整演練一遍,歡迎交流:可提供逐輪考點拆解、系統設計複盤框架與表達陪練,針對 Meta 流程客製。
聯絡方式
需要面試真題與客製備戰計畫?立刻聯絡微信 Coding0201,獲取真題。
Email: [email protected] Telegram: @OAVOProxy