準備 Meta SDE 實習的同學要注意一個很容易被忽略的差異:Meta 的考察邏輯和 Amazon / Google 有明顯不同。很多同學帶著“刷 LeetCode + 背 Amazon LP”的慣性進去,結果在溝通節奏和答題邏輯上先被卡住,而不是卡在題目難度上。下面把 Tech 輪和 Behavioral 輪拆開詳細說。

Meta Timeline 參考
我這次投的是美國這邊的 Software Engineer 崗位,timeline 大概是:
- Recruiter reach out
- OA / Phone Screen
- Virtual Onsite(4輪)
- Team Matching
- Offer
整個流程不到一個月,推進速度非常 Meta。
Tech 輪:兩道題 + Follow-up(45 分鐘)
真題示例 1
Question: Given an array of integers nums and an integer k, return the number of unique subarrays where the sum is divisible by k.(類似 Continuous Subarray Sum 變體)
解題過程:
- Clarification(1-2 分鐘,主動說):
- “確認一下:subarray 是連續子陣列嗎?k 的正負?陣列長度範圍?輸出是 count 而非具體 subarrays,對嗎?”
- Edge cases:空陣列、k=1(所有 subarray 都符合)、k=0(需特殊處理)、負數、單個元素。
- 思路(Brute → Optimal):
- Brute:O(n²) 列舉所有 subarray,計算 sum % k == 0。
- Optimal:Prefix Sum + HashMap 記錄餘數出現次數(同餘定理)。
- prefix[i] % k == prefix[j] % k ⇒ subarray (j+1 to i) sum % k == 0。
def subarraysDivByK(self, nums: List[int], k: int) -> int:
if not nums:
return 0
count = 0
prefix = 0
mod_count = {0: 1} # 關鍵:初始字首和 0 出現 1 次
for num in nums:
prefix = (prefix + num) % k
if prefix in mod_count:
count += mod_count[prefix]
mod_count[prefix] = mod_count.get(prefix, 0) + 1
return count
- 複雜度:Time O(n),Space O(k)(k 通常較小)。
- Trade-off:如果 k 極大,可討論進一步最佳化或直接 brute(視約束)。
- 主動問: “需要處理 follow-up 嗎?比如返回具體 subarrays 或 k 很大場景?”
真題示例 2
Question: Binary Tree Vertical Order Traversal(LeetCode 314 類似)。給定二叉樹 root,返回垂直遍歷結果(從左到右,每列從上到下)。
解題過程:
- Clarification:列的順序?同一列節點如何排序(top-down)?空樹?不平衡樹?
- 思路:BFS + Column Index(用 queue 帶 column)。
- 用 map(defaultdict(list))記錄 column → node values。
- 同時 track min/max column 保證從左到右輸出。
from collections import defaultdict, deque
def verticalOrder(self, root: Optional[TreeNode]) -> List[List[int]]:
if not root:
return []
col_map = defaultdict(list)
queue = deque([(root, 0)]) # node, column
min_col, max_col = 0, 0
while queue:
node, col = queue.popleft()
col_map[col].append(node.val)
min_col = min(min_col, col)
max_col = max(max_col, col)
if node.left:
queue.append((node.left, col - 1))
if node.right:
queue.append((node.right, col + 1))
return [col_map[c] for c in range(min_col, max_col + 1)]
- 複雜度:Time O(n),Space O(n)。
- Follow-up 常見:如果要求同一列按層級或值排序?如何處理 skewed tree?主動討論 DFS vs BFS trade-off。
其他高頻:
- Sliding Window(Longest Repeating Character Replacement)
- Two Pointers + HashMap(Product Except Self 變體)
- Graph BFS(Number of Islands)
CoderPad 加分習慣:變數用 prefix_sum、column_to_nodes;寫完立刻說複雜度 + edge cases 測試;程式碼可讀 + 註釋。
Behavioral 輪高頻題目 + 回答參考
Meta Behavioral 輪更注重真實 Ownership、Impact、獨立判斷力和溝通細節,反感模板化 STAR 和“正確廢話”。用具體決策過程 + 可量化/可對比的 Before-After 效果 + 個人“I”主導來回答。
高頻題目及回答參考
- Tell me about a project you’re most proud of(幾乎必問,開場最高頻)
- 核心考察:決策深度 + 個人貢獻 + Impact
- 回答要點:Context(為什麼做)→ 你的核心決策(1-2個關鍵選擇及理由)→ 執行中的挑戰 & 如何克服 → 量化/可感知結果(效能提升、使用者數、分數等)→ 個人收穫
- 建議:把“I”放中心,避免“我們團隊”模糊化。
- Tell me about a time you had a conflict with a teammate(極高頻)
- 核心考察:衝突診斷能力 + 溝通方式 + 解決結果
- 回答要點:分歧具體根因(技術/優先順序/風格)→ 你的立場和依據(資料/使用者角度)→ 如何溝通(1:1、私下、用對方關心點 re-framing)→ 最終共識 + 專案/團隊影響
- 避坑:不要說“最後大家和好就行了”,必須有實質 resolution。
- Tell me about a time you had to learn something new quickly(實習生極高頻)
- 核心考察:學習效率 + 轉化落地能力
- 回答要點:場景必要性 → 學習路徑(資源+時間分配)→ 具體障礙 & 突破方法 → 快速落地驗證 → Before vs After 效果
- 示例場景:課程專案/科研中 3-5 天上手新框架/模型。
- Tell me about a time you dealt with ambiguity / unclear requirements
- 核心考察:獨立思考 + 判斷力
- 回答要點:模糊點具體是什麼 → 你如何收集資訊/做假設 → 決策框架(風險評估、優先順序)→ 執行中如何迭代 → 最終結果
- 實習生素材:課題方向未定、專案需求頻繁變動等完全夠用。
- Tell me about a time you failed / made a mistake
- 核心考察:自省 + 學習能力
- 回答要點:錯誤具體是什麼 → 根本原因 → 你如何發現/補救 → 後續 preventive action → 學到的教訓(最好與後續專案關聯)。
- Tell me about a time you received critical/negative feedback
- 核心考察:反饋接收與改進能力
- 回答要點:反饋內容 → 你的初始反應 → 如何反思驗證 → 具體改進動作 → 後續驗證效果。
- Tell me about a time you took initiative / went beyond your scope
- 核心考察:Ownership
- 回答要點:發現的問題/機會 → 為什麼主動承擔 → 做了哪些額外工作 → 產生的影響。
其他較常見:
- How do you prioritize when having multiple tasks / tight deadline?
- Tell me about a time you worked with a difficult stakeholder / cross-functional team.
- Why Meta?(簡單版:對具體產品/技術/文化的真實興趣 + 個人匹配)。
一些感受&準備參考
進入到VO環節,最重要的是提前適應 Meta 那種真實面試壓迫感。
包括:
- 連續 VO 節奏
- 高頻 follow-up
- communication 壓力
- 被 challenge 時怎麼穩住
- interviewer 打斷後怎麼拉回來
這些東西,自己刷題其實練不到。我後面很多節奏感,都是在Programhelp 那邊做真實模擬和正式面試實時助攻之後,才慢慢穩定下來的。