今年我走了四个 security engineering 的面试 loop,分别来自一个云厂商、一家大型 fintech、一家偏国防方向的 contractor、以及一家 late-stage startup。岗位类型不同、深度也不同。我分享下实际考了什么,因为 security 的面试准备资源比 SWE 稀缺太多。
云厂商(mid-senior security engineer):
上来先 threat modeling。给了我一张简单的 microservices 架构图,让我找出最关键的五个威胁以及对应的缓解方案。没套路。他们想看我有没有用结构化方法论(STRIDE 自然就会聊到),还是只是随口列漏洞。
然后有一道 detection vs. prevention 取舍:预算有限的情况下,你怎么在一个 attack surface 上排控制优先级。这轮更偏讨论,但他们会对每个点都 push back,看看你到底有没有真实观点,而不是背书式回答。
面试 loop 本身没有 CTF 风格的挑战,但在这之前有个 45 分钟 take-home。
Fintech(AppSec,senior level):
更偏 OWASP top 10 的实战,而不只是会念名字。他们描述了一个开发写的 API,让我在 code review 里走一遍我会优先看哪三个安全问题。SQL injection 和 auth bypass 都提到了。他们也想看我能不能用一句话把风险讲给非安全背景的开发听。
一个有意思的 behavioral:讲一次你在安全评审里发现了很严重的问题,而你需要在对方工程团队马上要上线前把坏消息传达出去。
四家共同点: 每一家都问了某种版本的「你怎么和把安全当阻碍的开发合作。」这是个人的问题,不是技术问题,他们也知道。
云厂商的 comp 大概是 $180k base 加 RSUs,mid-senior 头衔。fintech 给的是 $190k base,equity 更少。
如果大家想,我也可以把每一轮再展开讲。