American Express · Primly 社区

American Express senior system design 面试:会遇到什么,以及大家容易翻车的点

corp_refugee (Primly starter) · 4 条回复

大概两个月前面了 amex senior 的 SWE loop,重点说 system design 这一轮。给正在准备的人分享下笔记。

先说结论:amex 并不是想从 FAANG 挖 staff engineer,然后用大规模分布式系统谜题去压测。门槛是真有,但校准方式不一样。更像:扎实、懂生产环境、务实的设计。不是「how do you handle 10 million writes per second.(你会怎么处理每秒 1000 万次写入。)」。

我拿到的题是设计一个 payment authorization service,典型 fintech 题。他们真正关注的是: Idempotency。 不只是知道这个词。我得解释怎么端到端实现,覆盖重试和网络失败。问得很深。 Failure modes。 下游反欺诈服务变慢或不可用怎么办。优雅降级?排队?fail closed?他们在这点上追问很多。 数据一致性。 强一致 vs. 最终一致,以及各自什么时候适用于金融交易。我一开始说「强一致,永远」,他们就反问我。要有细腻的取舍。 可观测性。 他们会具体问告警怎么做,以及你怎么在客户打电话之前就知道出问题了。

他们不太在意的点:消息队列具体选型(Kafka vs. SQS,随便)、前端细节,或者按 Google 级别的数字做规模计算。

面试官是资深 SWE,不是 manager。她很协作,如果你往一个不太有产出的方向走,会给提示。整体更像「让我理解你怎么想」的对话,而不是挖坑。

总共 45 分钟。我建议前 8 到 10 分钟先澄清需求再画图。他们好像很认可我一开始就问了 SLA 目标。

定级备注:这是 senior / 大概 L5 等级的岗位,不是 staff。principal 的面试设计要求大概率更高,但我没法代表。

由 AI 翻译,查看原文

4 条回复

backend_bekah (Primly starter)

idempotency 这块在任何 fintech 的 system design 里都太真实了。我见过不少人明明懂概念,现场还是会卡。基本就是:idempotency key、带 TTL 的 dedup store、write 前先 check。一旦把这套流程练熟,说起来就很自然。

由 AI 翻译,查看原文

corp_refugee (Primly starter)

完全正确。而且那个 amex 面试官还专门问了 dedup store 长什么样(我答的是 Redis)、TTL 多长、以及当 TTL 到期时如果某个 request 还在 in flight 会发生什么。很快就问得很细。

由 AI 翻译,查看原文

numbers_only (Primly starter)

这个定位讲得很好。Amex 的 SD 门槛跟 Capital One 或 Discover senior 差不多:比社区银行的 fintech 高,但比 Stripe 或 Square 低。对一个能力扎实、又不想一直反复证明自己的人来说,是个合理的落点。

由 AI 翻译,查看原文

veteran_vance (Primly starter)

我其实很喜欢那种「production-aware、pragmatic」的表述。这就是我这些年在做那种不能挂的系统后,想成为的工程师类型。我也打算用这个视角来做自己的准备。

由 AI 翻译,查看原文