Meta • Software • 面经 • 面试题目 • VO • Coding • Behavioral • System Design

Meta Software Engineer 面试题目合集 | 268+ 道真实面经

Meta Software Engineer 面试题目合集,整理自 268+ 道真实面经,覆盖 VO 四轮面经(2 道 Coding、1 道 BQ、1 道 System Design),附 Bloom Filter、Top K 等 Meta 经典高频题详解、BQ 答题框架、评分标准和失分复盘。

Meta SWE VO 面试四轮结构:Coding x2、BQ、System Design
Meta SWE VO 面试四轮结构:Coding x2、BQ、System Design

💡 核心要点 (Key Takeaways)

  • Meta SWE VO 标准格式为 4 轮 × 45 分钟:2 轮 Coding、1 轮 BQ 行为面、1 轮 System Design 或深度行为面
  • 高频考点集中在 Top K 问题、Bloom Filter、图遍历(BFS/DFS)、Array/Tree/Matrix 操作和系统设计
  • Meta 评分维度包括:代码正确性、算法思维、沟通表达、测试方法、Follow-up 处理能力
  • 经典 Meta BQ 包括「与管理者意见冲突」和「技术取舍(trade-off)」,需用 STAR 框架作答
  • 如果时间紧迫,可考虑 VO辅助服务 提升准备效率

免费获取轮次诊断正在备战 Meta SWE 面试?免费获取 Meta SWE 轮次诊断:发你的当前轮次与倒计时,我们先定位卡点,再决定下一步。

Meta 面试全攻略 →

Meta SWE 面试流程 — 和其他大厂的核心区别

Meta Software Engineer 面试流程相对标准化,VO(Video Onsite)通常由 4 轮 × 45 分钟组成,每轮考察独立评分。具体分布为:2 轮 Coding、1 轮 Behavioral Questions(BQ)、1 轮 System Design(中高级)或深度 BQ(初级)。

和其他大厂相比,Meta 的面试有几个关键差异:

第一,Coding 轮极度注重 follow-up。面试官很少只出一道题就结束,通常会在你完成初始解法后追问 2-3 个 follow-up。比如经典的「Top K 频繁问题」后面会跟「如果数据流无限大怎么办?」,「Bloom Filter」后面会跟「如果需要删除元素怎么办?」。这种 follow-up 链是 Meta 区分候选人的核心手段。

第二,BQ 轮不是闲聊MetaBQ 面试官经过专门培训,会用 structured rubric 评分,重点关注你在具体项目中展现的 ownership、conflict resolution 和 trade-off 决策能力。

第三,System Design 轮强调快速迭代Meta系统设计面试不像 Google 那样追求完美架构,而是看你能否在 45 分钟内从需求澄清到给出可运行的方案,并能合理讨论 trade-off。

  • VO 前通常有 OA 轮(HackerRank / CodeSignal),难度中等,通过后可进入 VO
  • VO 一般由不同的面试官负责不同轮次,每轮独立评分(1-4 分制)
  • 初级(E3/E4)候选人通常不需要 System Design 轮,用额外 BQ 或 Coding 替代
  • 高级(E5+)候选人通常有额外的 HM(Hiring Manager)轮
  • 更多 Meta 面试细节见 Meta 公司攻略

高频考点 — 按出现频次排序

基于 268+ 道真实面经信号的归因分析,Meta SWE 面试的高频考点不能简单等同于「必考原题」。更实用的做法是把它们转成可训练的能力模块。以下是按出现频次排序的核心考点:

Top K / 频繁元素类(56 次出现):这是 Meta 最具标志性的考点。经典题目包括「Top K Frequent Elements」(LC 347)、「Top K Frequent Words」等。面试官通常会要求你用 Hash Map + Min Heap 解决,然后追问「如果 K 接近 N 怎么办?」或「如果内存有限怎么办?」,引导你讨论 Bucket Sort 或 Counting Sort 的优化方案。

Bloom Filter 类(39 次出现):Meta 面试官特别喜欢问 Bloom Filter,因为它同时考察了概率数据结构、哈希函数和空间效率的 trade-off。常见问题包括「设计一个去重系统」或「如何判断一个 URL 是否已经爬取过」。Follow-up 通常会问到 False Positive Rate 的估算和如何支持删除操作(Counting Bloom Filter)。

图遍历(BFS/DFS)(33 次出现):Meta 的图题通常是中等难度,但 follow-up 会加深到最短路径、连通分量、拓扑排序等。

  • Coding(56 次):Top K、Bloom Filter、Array/Matrix 操作
  • Design(39 次):Bloom Filter、LRU Cache、Rate Limiter
  • System Design(21 次):URL Shortener、News Feed、Chat System
  • LeetCode(15 次):LC 347、LC 200、LC 207、LC 155
  • Array(10 次):Two Sum 变种、Sliding Window、In-place 操作
  • Tree(9 次):DFS/BFS 遍历、Level Order、Lowest Common Ancestor
  • 系统设计(8 次):API design、Data Model、Scalability
  • DFS(7 次):Islands、Connectivity、Topological Sort
  • Matrix(6 次):Spiral、Rotate、Search 2D Matrix
  • BFS(6 次):Shortest Path、Level Order、Word Ladder

代表题型详解 — Meta 必刷题目与 Follow-up 链

Meta SWE 面经合集更适合当作题型索引使用。下面列出 Meta 面试官最常出的题目,以及它们典型的 follow-up 链。这些不是需要死背的固定答案,而是应该能独立讲清的代表问法。

题型一:Top K Frequent Elements(LC 347)
初始要求:给定一个整数数组,返回出现频率最高的 k 个元素。标准解法是用 Hash Map 统计频率 + Min Heap(或 Quick Select)。

Follow-up 链:①「如果 k 接近 n 怎么办?」→ 讨论 Bucket Sort 优化到 O(n)。②「如果数据流无限大怎么办?」→ 讨论 Count-Min Sketch 或近似算法。③「如果需要实时返回 Top K 怎么办?」→ 讨论维护 Max Heap + 增量更新。

题型二:Bloom Filter 设计
初始要求:设计一个系统来判断一个 URL 是否已经爬取过。标准回答是 Bloom Filter。

Follow-up 链:①「False Positive Rate 怎么估算?」→ 讨论 k = (m/n)ln2 时的最优哈希函数数量。②「如何支持删除操作?」→ 讨论 Counting Bloom Filter。③「如果数据量超过内存怎么办?」→ 讨论分片 Bloom Filter 或布隆过滤器数组。

题型三:Number of Islands(LC 200)
这是 Meta 最常见的 DFS/BFS 题目。面试官通常要求先给 DFS 解法,然后追问 BFS 解法,再追问「如果需要在原地修改怎么办?」

  • Coding:先给暴力解和不变量,再优化复杂度,最后用正常样例、极端样例和 follow-up 验证代码
  • Design:先澄清需求和规模,再给出 API、数据模型、核心服务、瓶颈、故障恢复和可扩展方案
  • System Design:先澄清需求和规模,再给出 API、数据模型、核心服务、瓶颈、故障恢复和可扩展方案
  • LeetCode:先给暴力解和不变量,再优化复杂度,最后用正常样例、极端样例和 follow-up 验证代码
  • Array:先给暴力解和不变量,再优化复杂度,最后用正常样例、极端样例和 follow-up 验证代码
  • Tree:先定义节点、边、访问状态和停止条件,再补复杂度、环、重复访问和边界样例

代表问法应该怎么拆 — 四层分析法

Meta 面经合集时,最容易犯的错误是只收藏题名。更稳的用法是把每个题目拆成「输入约束、核心能力、可验证输出、follow-up 风险」四层:

第一层:输入约束。在拿到题目的前 2 分钟,用澄清问题锁定范围。比如「数据量有多大?」「是否允许修改原始数组?」「返回结果是否需要排序?」「是否有重复元素?」这些澄清问题在 Meta 面试中非常重要——面试官会根据你提的澄清问题判断你的 engineering sense。

第二层:核心能力。识别这道题真正考察什么。Top K 考察的是「排序 vs 堆 vs 分治」的选择能力,Bloom Filter 考察的是「空间换时间的 trade-off」,Islands 考察的是「遍历框架的熟练度」。不要只关注「怎么做」,要关注「为什么用这个方法」。

第三层:可验证输出。写完代码后,主动用样例验证。Meta 面试官特别看重测试思维:正常样例、边界样例(空输入、单元素、全相同元素)、极端样例(最大值、最小值、overflow)。

第四层:Follow-up 风险。在面试前准备好常见 follow-up 的回答。比如 Top K 的 follow-up 通常是 Bucket Sort 优化,Islands 的 follow-up 通常是 BFS 或 Union-Find。

  • Coding:写出一个 30 分钟限时训练版本,并记录澄清问题、边界样例和可能的追问
  • Design:写出一个 30 分钟限时训练版本,并记录澄清问题、边界样例和可能的追问
  • System Design:写出一个 30 分钟限时训练版本,并记录澄清问题、边界样例和可能的追问
  • LeetCode:写出一个 30 分钟限时训练版本,并记录澄清问题、边界样例和可能的追问
  • Array:写出一个 30 分钟限时训练版本,并记录澄清问题、边界样例和可能的追问
  • Tree:写出一个 30 分钟限时训练版本,并记录澄清问题、边界样例和可能的追问

💡 Meta 的完整准备路线:OA / Phone / VO 各轮考什么、怎么练,公司攻略页整理成了清单。

Meta 面试全攻略 →

Meta 评分标准 — 面试官如何打分

了解 Meta 的评分标准是准备面试的关键。Meta 面试官使用结构化的评分表(rubric),对候选人的表现进行 1-4 分的评估,共 5 个维度:

1. 代码正确性(Code Correctness):代码是否能通过所有测试用例?边界情况是否处理?Meta 对正确性的要求很高——面试官通常会要求你在写完代码后自己设计测试用例来验证。如果你的代码有 bug 但能在面试官提示后快速修复,通常能给 3 分;如果完全无法修复,最多 2 分。

2. 算法思维(Algorithmic Thinking):你是否能识别问题类型?能否从暴力解法逐步优化到最优解?Meta 面试官喜欢看到「推导过程」——你如何从 O(n²) 想到 O(n log n) 再想到 O(n)。这个过程比最终答案更重要。

3. 沟通表达(Communication):你是否边写边讲?能否清晰地解释你的思路?Meta 的 coding 面试是 collaborative 的——面试官希望你能把思考过程大声说出来。沉默地写 30 分钟代码是 Meta 面试中最差的表现之一。

4. 测试方法(Testing Approach):你是否主动提出测试用例?是否考虑边界情况和极端情况?Meta 面试官会看你测试的方式——是先写后测、还是边写边验证、还是等面试官给测试用例。

5. Follow-up 处理能力:这是 Meta 最看重的维度。当面试官提出 follow-up 时,你的反应速度和处理方式直接决定最终评分。

  • 1 分:无法解决问题,无法沟通,代码有严重 bug
  • 2 分:部分解决,需要大量提示,代码有 bug
  • 3 分:能独立解决,代码正确,能处理基本 follow-up
  • 4 分:优秀解决,代码优雅,主动提出优化方案,处理复杂 follow-up
  • 最终 Offer 决策由 Hiring Committee 综合所有评分决定,不是由单个面试官决定

按轮次安排准备优先级

根据各轮次的准备难度和对最终结果的影响程度,建议按以下优先级安排准备时间:

优先级 1:Coding 轮(占总准备时间的 50%)
Meta 的 Coding 轮是最核心的考察环节,两轮 Coding 的评分权重最高。建议重点练习:Top K 类问题(至少 5 道题)、图遍历类问题(至少 5 道题)、Array/Matrix 操作类问题(至少 5 道题)。每道题要做到:① 15 分钟内写出正确解 ② 能解释时间空间复杂度 ③ 能处理常见 follow-up。

优先级 2:BQ 轮(占总准备时间的 25%)
MetaBQ 轮使用 structured rubric,面试官会问 2 道精心设计的问题。建议准备 3 个核心故事,每个故事覆盖不同的维度:① 一个关于 conflict resolution 的故事 ② 一个关于 trade-off 决策的故事 ③ 一个关于 project ownership 的故事。每个故事用 STAR 框架(Situation, Task, Action, Result)来组织。

优先级 3:System Design 轮(占总准备时间的 25%)
Meta系统设计面试相对友好,重点考察你能否快速给出合理方案。建议掌握 5 个经典设计题:URL Shortener、News Feed、Chat System、Rate Limiter、Distributed Cache。

  • 第一轮:专注 Coding 基础题(2 周),覆盖 Top K、Array、Tree、Graph 四大类
  • 第二轮:BQ 故事准备(1 周),写 3 个完整故事,找人模拟练习
  • 第三轮:System Design 框架(1 周),掌握 5 个经典设计题的模板
  • 第四轮:综合模拟(3 天),限时 45 分钟做完整的 Coding + 自测流程

常见失分点 — 从复盘归因看 Meta SWE 面试

基于大量模拟面试和真实面试的复盘数据,Meta SWE 面试中最常见的失分点可以归因到以下几个方面:

失分点一:不会提澄清问题(占失分原因的 35%)
很多候选人在拿到题目后直接开始写代码,不提任何澄清问题。在 Meta 面试中,这是严重的 red flag——面试官认为你不会写澄清问题就意味着你在实际工作中也不会问需求,直接编码容易写出不符合要求的代码。正确做法:拿到题目后用 1-2 分钟提 3-5 个澄清问题,确认输入输出格式、数据规模、特殊约束。

失分点二:边写代码不边讲(占失分原因的 25%)
沉默写代码是 Meta 面试的大忌。面试官需要听到你的思考过程才能评估你的算法思维。正确做法:每写几行代码就停下来解释一下「我在做什么、为什么这样做、下一步要做什么」。

失分点三:不会处理 follow-up(占失分原因的 20%)
Meta 的 follow-up 是区分候选人的核心手段。常见 follow-up 包括「如果数据量翻倍怎么办?」「如果内存限制到 O(1) 怎么办?」「如果需要支持并发查询怎么办?」。正确做法:面对 follow-up 时先确认理解,然后快速评估是否需要修改现有解法还是给出新方案。

失分点四:BQ 故事太笼统(占失分原因的 15%)
很多候选人的 BQ 回答过于笼统,比如「我和同事有过意见分歧,最后我们讨论了」。Meta 面试官需要具体的细节:具体项目、具体冲突、你的具体行动、可量化的结果。

  • 不会提澄清问题:拿到题目后直接写代码,不给面试官评估 engineering sense 的机会
  • 边写代码不边讲:沉默写 30 分钟,面试官不知道你的思考过程
  • 不会处理 follow-up:面对面试官的追问不知所措,无法快速调整方案
  • BQ 故事太笼统:没有具体的项目背景、冲突细节和可量化结果
  • 测试不充分:写完代码后只用自己的样例验证,不考虑边界情况和极端情况

如何把合集变成训练计划 — 分层聚焦 + 限时实战

最后,把这份面经合集从「收藏」变成「训练」,需要一套可执行的计划。以下是经过验证的训练方法:

第一阶段:分层聚焦(1-2 周)
按出现频次对题型进行分层:高频(出现 10+ 次)→ 中频(5-10 次)→ 低频(1-5 次)。优先攻克高频题型,确保每道题都能 15 分钟内独立完成并处理 follow-up。高频题包括:Top K Frequent Elements、Number of Islands、Bloom Filter 设计、LRU Cache、Course Schedule。

第二阶段:限时实战(1 周)
模拟真实 Meta VO 面试环境:每轮 45 分钟,先花 2 分钟提澄清问题,然后 25 分钟写代码,10 分钟自测,8 分钟处理 follow-up。每道题记录自己的表现:① 是否提出澄清问题 ② 是否边写边讲 ③ 代码是否正确 ④ follow-up 处理是否流畅。

第三阶段:BQSystem Design(1 周)
BQ 准备 3 个核心故事,每个故事写 300-500 字的 STAR 框架草稿,然后找人模拟练习。System Design 掌握 5 个经典题目的框架,重点练习需求澄清和 trade-off 讨论。

如果时间紧迫,可以考虑 VO 辅助服务,前 FAANG 面试官提供全真模拟和针对性训练,帮助你在短时间内高效突破薄弱环节。

相关文章:
Meta MLE 面试复盘 · Meta SWE VO 准备指南 · Amazon SWE 面试对比 · Google SWE 面试对比

  • 每天练习 2-3 道题,覆盖不同题型类别,避免只刷同类题
  • 每道题记录澄清问题、思路推导、复杂度分析和 follow-up 处理
  • 每周进行一次完整的 VO 模拟面试(45 分钟 × 4 轮)
  • 利用 VO 辅助服务 进行全真模拟,获得前 FAANG 面试官的即时反馈
  • 更多 SWE 面试准备资源见 SWE 面试辅助
Editorial & Verification

📋 资料来源与审校说明

大幅扩写,增加 Meta SWE VO 面经详解、Coding 高频题具体考点、BQ 答题框架、评分标准和失分复盘

  • Meta 面试攻略:站内公司攻略用于交叉校验公司轮次和题型重点。
  • SWE 面试辅助:站内角色攻略提供 SWE 通用能力模型和面试准备框架。
  • VO辅助服务:针对时间紧迫候选人的模拟面试和针对性训练服务。
  • 公开候选人面经信号聚合:只聚合题型、轮次和考察能力,不包含个人隐私或未经授权的逐字内容。
  • SWE 模拟面试复盘归因:把训练中反复出现的失分点归因到澄清、推导、实现、测试、设计或项目证据。
AC
Software Engineering
Alex Chen·前 Meta / Stripe Senior SWE & Tech Lead

10 年+北美 SWE 经验,先后在 Meta(FAIR / Infra)和 Stripe 担任 Senior SWE 和 Tech Lead,主导过多项高并发系统架构设计,前 FAANG 面试官,累计面试 1000+ 候选人,熟悉 Meta / Google / Stripe 面试评分标准。

累计面试 1000+ 候选人UC Berkeley, CS 硕士
本文由 Alex Chen 审校与整理

📚 推荐延伸阅读 (Related Guides)

Google Software Engineer 面试题目合集 | 198+ 道真实面经

Google Software Engineer 面试题目合集,整理自 198+ 道真实面经,覆盖 VO 终面(3-4 轮)、Googleyness 行为面、Navigating Ambiguity 评估、Coding 高频题详解。

Amazon Software Engineer 面试题目合集 | 144+ 道真实面经

Amazon Software Engineer 面试题目合集,整理自 144+ 道真实面经,覆盖 Loop 终面(6-8 轮)、Leadership Principles 行为面、Bar Raiser 机制、Coding 高频题详解。

Meta SWE VO:Coding 和 Behavioral 怎么准备

Meta SWE VO 面试准备指南,涵盖 Coding 轮(Top K、Bloom Filter、图遍历)和 Behavioral 轮(STAR 框架、冲突解决、项目深挖)的核心策略。

🏢 公司面试全攻略

公司攻略

Meta 面经与面试全攻略 2026

查看 Meta 的 OA / Phone / VO / 系统设计全流程准备路线 →

代面服务

Meta 代面(代面试)服务

Meta 代面(对口型)$499/轮 起,多轮连面有打包价。

💼 完整服务与价格我们提供 OA 代写($199 起)VO 辅助($299 起)VO 代面($499 起)30 分钟免费咨询:按目标岗位、公司与轮次匹配具备相关经验的导师,覆盖 Coding、System Design、ML Design 与 BQ;具体导师与背景以接单前书面确认为准。

查看服务详情 →
已复制微信号!