刚结束 JPMC 的 senior SWE loop(他们叫 Software Engineer III,scope 预期大概对标 Google 的 L5 或 Meta 的 E5)。我这篇专门写 system design 轮,因为我准备错了方向,想帮别人少踩坑。
我准备的是:经典分布式系统那套。Consistent hashing、Kafka、Cassandra,这些 LeetCode 周边的 system design 常见题。
他们实际问的是:设计一个在规模化场景下的实时支付交易反欺诈 pipeline。
我真该想到的。毕竟是银行。题目在技术上不算离谱,但 framing 逼着我去考虑: 监管和审计要求(日志必须不可篡改并长期留存) 交易时延迟 vs 下游 fraud analyst 的延迟 false positive 的比例和它的商业成本(把正常的电汇拦下来其实非常糟糕) 当 fraud model 不可用时怎么 graceful degradation,是回退到规则引擎还是直接放行
我在基础设施部分答得还行,但在监管约束这块翻车了,因为我以前没认真想过。他们不是在刁难你,这就是他们业务的核心。
给 JPMC senior 候选人的 takeaway: 正常的分布式系统准备之外,再补一点 fintech 合规约束的常识。想想系统被 subpoena 时会怎样,auditability 在实践里意味着什么,为什么钱相关场景里 idempotency 比平时更重要。
面试官是 SRE lead。他很细致但也很公平。会用很好的问题质疑我的选择,但不是设坑。
还会再面。两周后 offer 下来了,我接了。