Meta(前身为 Facebook)依旧是科技行业竞争最激烈的雇主之一,每个招聘季都会吸引全球成千上万的候选人。整个流程中的第一个技术关卡就是 Meta OA——一场限时的编码挑战,用来在正式面试前筛选候选人。以下为你全面拆解 OA 会遇到的内容,以及高效备考的方法。

什么是 Meta OA?
Meta 的在线笔试通常通过 HackerRank 或 Codility 进行,由两道编码题组成,适用于校招、实习生及入门级软件工程师职位。
时长: 70–90 分钟
可选语言: Python、Java、C++、JavaScript 等
难度: 中等偏难
环境: 禁止上网,仅展示部分测试用例,需要充分考虑边界情况
OA 题型结构
通常包含 2–3 道编码题 + 1 道系统设计小题,平台为 HackerRank 或 Meta 内部工具。
编码题
- 重点考察算法、数据结构与优化思路
- 难度中→难,风格接近 LeetCode
- 支持语言:Python、Java、C++、JavaScript 等
系统设计
- 要求设计可扩展系统
- 考察延迟、可扩展性、可靠性的权衡
行为题
简短书面回答,评估与 Meta 价值观的契合度。
常见题型与示例
题目 1
你正在分析网络流量日志以发现潜在威胁。若某段连续数据包大小构成公比为 r
的等比数列,则表示一次特定威胁。给定数组 packetSizes
和整数 r
,统计所有满足条件的连续子数组数量。
示例:
packetSizes = [2, 6, 18, 54, 108]
,r = 3
,答案为7
packetSizes = [5, 5, 5, 5]
,r = 1
,答案为10
题目 2
给定股票价格数组 stockPrices
以及由 1(涨)、0(平)、-1(跌)组成的 trendPattern
,统计有多少子数组符合该趋势模式(模式长度 < 价格长度)。
示例:
stockPrices = [100,105,103,104,102,101,100]
,trendPattern = [1,-1,1]
→1
stockPrices = [5,5,5,5,5,5]
,trendPattern = [0,0]
→3
题目 3
你负责多个会议室的排期。给定每个会议室的预订区间 [startTime,endTime]
组成的 bookings
以及希望安排的新会议时长 duration
(小时),找出当天最早可用的时段;若不存在则返回 -1
。
示例: 当 duration = 2
时,第一间会议室最早可用时间可能是 5
(即 5–7)。
数百成功案例,下一个就是你!
Programhelp 已帮助数百位客户拿到全球顶尖公司的 Offer,依托我们的 代面服务 与实战辅导。立即联系,让成功故事续写你的名字!