2026 年初走完了 Meta 的 security engineer 面试流程,目标是 senior AppSec / product security 岗。发出来是因为网上信息太少,而且基本都是 2021-2022 的 loop,不太符合现在的情况。
security eng 的 loop 结构: 我 onsite 一共 5 轮: 2 轮 coding(对,就是标准 LC 风格,中等难度,没有安全专属题,都是通用算法) 1 轮 security design 1 轮 domain-specific security 1 轮 behavioral(jedi)
我这轮没有 CTF,没有写 exploit,也没有 binary RE。如果你来自纯 red team 背景,本来就期待这些,记得调整预期。Meta 的 product security 面试更偏“工程化的安全”,不是偏研究员那种。
security design 这一轮: 这是最有意思的一轮。我拿到的是一个 system design 题,但带安全视角。大概是:'you're designing an API that third-party apps use to access user data. walk me through how you'd secure it end to end.' 他们想听到: auth 模型(OAuth,token scope,expiry) rate limiting 和 abuse detection 你会怎么做日志和告警来发现异常访问 数据分级,以及哪些需要 at rest 加密、哪些需要 in transit 加密 key 被攻破时你怎么处理
不需要每个点都有完美答案。他们看的是你怎么做 threat model 的推理,不是你能不能把每个 checklist 都打上勾。
domain 这一轮: 覆盖的都是真东西:XSS、SSRF、SQL injection,但不是那种「你能不能定义」的问法,更像是「给你一段代码,漏洞在哪,影响是什么,怎么修」。有一道题是 secure deserialization。还有一道是 dependency supply chain security。期待的深度会随着你的 seniority 变化。
coding: 按准备任何 FAANG coding screen 的方式准备就行。trees、graphs、hash maps。没有安全专属内容。LC medium 难度。每轮 45 分钟两题,一轮一题。
我会怎么做得不一样: 把 security design 的口述练起来。我当时太低头在白板上写,面试官还得把我拉回来讨论 tradeoff。他们想要的是对话,不是独白。
有问题可以问细节。