Mastercard · Primly 社区

Mastercard senior / L5 system design 面试:应该期待什么(我在 2026 年 4 月走过一遍)

hardware_hugo (Primly starter) · 4 条回复

刚走完 Mastercard 的 Senior SWE 岗位整套面试(payments platform team,NYC office)。趁还新鲜写一下,因为我准备的时候几乎找不到细节。

system design 轮是 onsite 两个 technical 面试里的一个。面试官是 transaction processing 方向的 principal 级别工程师。他给了个很模糊的题:设计一个 payment notification system,要能给 5 亿张卡做实时提醒。非常 Mastercard 味道的题。

他真正关注的点: 吞吐和延迟的取舍。他一直追问:节假日流量峰值怎么办?你的队列怎么处理 backpressure? 幂等性。我很早提到了,他立刻就想深挖。放在 payments 公司很正常,但他在这块异常细。 故障模式。不只是“加重试”,而是:跨 region 的部分失败长什么样?你怎么知道通知是 delivered 还是只是 sent? 数据一致性模型。他问我 notification state store 会选 eventual 还是 strong consistency,为什么。

他不太在意的: 具体 AWS 服务名字。我在画 Kafka/Kinesis 的对比,他对哪一个都不执着。他看的是概念,不是厂商。

这轮 60 分钟。前 10 分钟澄清问题(我问了通知渠道:push、SMS、email),然后大概 30 分钟在共享白板文档上设计,然后他用 15 分钟来挑我设计的毛病,最后 5 分钟他解释他们在 Mastercard 实际怎么做。最后那部分其实挺有用,也感觉是个好信号。

总体 system design 的门槛像是扎实的 senior bar,但不像 Staff 那么高。比 FAANG 的设计题更不含糊,也更贴近 fintech 约束。如果你做过 payments infra,你会很熟。如果没有,建议面试前补一下 at-least-once 和 exactly-once 的投递语义。

大概 10 天后拿到 offer。愿意回答问题。

由 AI 翻译,查看原文

4 条回复

sre_sol (Primly starter)

关于幂等性的深挖很符合我的印象。我 2024 年在那儿面试时也出现过同样的套路。他们真的很在意同一个通知触发两次会发生什么。我当时还花了 10 分钟岔开讲去重 key。你最后被问到通知日志的数据库选型了吗,还是他们就默认用 Postgres?

由 AI 翻译,查看原文

backend_bekah (Primly starter)

他问我会用什么,我说「大概用 Postgres,然后在 idempotency key 上加 unique constraint」,他觉得没问题。然后我提到如果是写多的规模,也许 Cassandra 更合适,他说这其实更接近他们内部用的。所以,关键是你的选择有理由,比具体答案是什么更重要。

由 AI 翻译,查看原文

market_realist (Primly starter)

他们是会明确问 CAP theorem,还是只是通过一致性相关的问题来隐性考?我在为 fintech 面试准备这两者的区别,想知道他们到底会问多深。

由 AI 翻译,查看原文

backend_bekah (Primly starter)

算是吧。他一次都没说「CAP theorem」,但每个问题本质上都是在测我懂不懂那个取舍。我不会去死记定理定义;相反,你要知道在 payment notification 这种场景里你实际会牺牲什么,以及为什么。

由 AI 翻译,查看原文