Meta NG 的職缺已經開放,幫客戶投了一份簡歷很快收到面試邀請。這篇主要分享 coding round 的完整流程、真實體驗和兩道真題。面試在 Zoom 上進行,寫程式碼用 CoderPad(系統設計用 Excalidraw)。和一些公司不同,Meta 的 coding round 不要求真正跑測試通過,而是強調思維過程和程式碼嚴謹性——寫完必須自己 dry run,一行行走資料、把邊界情況講出來。
一、Meta NG Coding Round 概覽
| 維度 | 詳情 |
|---|---|
| 平台 | Zoom + CoderPad(設計題用 Excalidraw) |
| 時長 | 45 分鐘,兩道題(每題約 20 min + 5 min 緩衝) |
| 是否執行 | 不要求跑測試,強調 dry run |
| 難度 | 高頻 tag 題為主,第二題難度上升 |
| 風格 | 邊寫邊講,主動驗證邊界 |
節奏非常緊張:第一題卡太久,第二題基本做不完。心態要穩,碰到熟悉的 tag 題果斷下手,別猶豫。
二、題 1:合併重疊區間
給定一組區間,把有重疊的區間合併成一個。
思路轉化:經典 tag 題。先按起點排序,掃描一遍,當前區間與上一個重疊就合併成更大區間,否則加入結果集。見過幾次後寫起來很快。
def merge(intervals):
if not intervals:
return []
intervals.sort(key=lambda x: x[0])
res = [intervals[0][:]]
for s, e in intervals[1:]:
if s <= res[-1][1]: # 重疊:合併
res[-1][1] = max(res[-1][1], e)
else:
res.append([s, e])
return res
dry run 示範:拿 [[1,3],[2,6],[8,10],[15,18]] 走一遍。排序後不變;前兩個重疊合併成 [1,6],後兩個保持不變,最終 [[1,6],[8,10],[15,18]]。一定要主動跟面試官交代邊界:完全相鄰(如 [1,2] 與 [2,3])算不算重疊?輸入為空怎麼處理?時間複雜度:O(n log n);空間複雜度:O(n)。
三、題 2:課程表(拓撲排序判環)
有若干門課,每門課可能依賴其他課程,問能否完成所有課程。本質是判斷有向圖裡是否存在環——有環就無法完成。
思路轉化:拓撲排序。我用 BFS(Kahn 演算法):先統計每門課入度,不斷取出入度為 0 的課,移除後把相鄰課程入度 -1。最後能遍歷完所有課說明無環。
from collections import deque
def can_finish(num_courses, prerequisites):
graph = [[] for _ in range(num_courses)]
indeg = [0] * num_courses
for a, b in prerequisites: # 學 a 前必須先學 b:b -> a
graph[b].append(a)
indeg[a] += 1
q = deque(i for i in range(num_courses) if indeg[i] == 0)
seen = 0
while q:
node = q.popleft()
seen += 1
for nxt in graph[node]:
indeg[nxt] -= 1
if indeg[nxt] == 0:
q.append(nxt)
return seen == num_courses # 全部出佇列 = 無環
dry run 示範:依賴 [[1,0]](學 1 前要學 0)→ 從入度 0 的課程 0 出發,移除後課程 1 入度變 0,拓撲序 [0,1],全部學完返回 True。換成 [[0,1],[1,0]] → 互相依賴,沒有入度 0 的節點能入佇列,seen < num_courses,返回 False。時間複雜度:O(V+E);空間複雜度:O(V+E)。
Meta 面試官通常不會打斷你,但希望你 邊寫邊說,所以最好邊實作邊解釋為什麼選這個方法。
四、Meta Coding Round 心法
| 重點 | 做法 |
|---|---|
| Tag 題積累 | 區間、排序、圖論、滑動視窗、二分必須熟到秒下手 |
| dry run | 寫完立刻舉例走資料,覆蓋 happy path + 邊界 |
| 邊界清單 | 空輸入、單元素、相鄰不重疊、有環 / 無環 |
| 邊寫邊講 | 持續輸出思路,讓面試官跟上你的邏輯 |
整個面試下來的感覺是:Meta 的 coding round 不是為了難為你,而是看你對常見題型的熟悉度,以及能否在有限時間裡把解法完整走通。
FAQ
Q1:Meta NG coding round 用什麼平台?要跑程式碼嗎?
Zoom + CoderPad(系統設計用 Excalidraw)。不要求真正跑測試通過,而是要你寫完自己 dry run,一行行走資料、講清楚邊界,考察思維過程與程式碼嚴謹性。
Q2:45 分鐘兩道題來得及嗎?
每題約 20 分鐘,留 5 分鐘緩衝,節奏很緊。第一題卡太久第二題就做不完,所以碰到熟悉 tag 題要果斷下手,別在簡單題上耗太久。
Q3:Meta 高頻考哪些 tag?
區間合併、拓撲排序 / 課程表、滑動視窗、二分查找、圖的 BFS/DFS。這些是 NG coding round 的高頻考點,務必練到看到就有思路。
Q4:dry run 到底要走到什麼程度?
不只走 happy path,還要覆蓋空輸入、單元素、相鄰但不重疊、有環 / 無環等邊界。Meta 很在意你能否主動驗證邊界——這部分往往比 AC 更影響評分。
正在準備 Meta NG coding round?
Meta 考的是 tag 題熟練度 + dry run 嚴謹性 + 邊寫邊講的溝通。oavoservice 提供 Meta NG 的 coding round 全流程陪練:高頻 tag 題限時模擬、dry run 走資料訓練、邊界清單專項,也支援 VO 輔助 / VO 代面 的即時對接。發職缺 JD 先做題型預測,再排練習計畫。
立即新增微信 Coding0201,獲取 Meta NG 真題與陪練。
聯絡方式
- 微信:Coding0201
- Email:[email protected]
- Telegram:@OAVOProxy