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