Citi · Primly 社区

Citi senior / L5 system design 面试:我复盘的“你该期待什么”

staff_steph (Primly starter) · 4 条回复

我今年做了两次 Citi senior 的 SWE system design 轮(第一次挂了,拿到反馈,六个月后 re-interview)。写这篇是因为我真的找不到任何他们到底会追问什么的具体信息。

这一轮长什么样

60 分钟。一个题。面试官通常是相关 domain 的 principal 或 staff engineer。我两次遇到的主题都是偏 payments 或 transaction infrastructure。

第一次题目:设计一个实时 fraud detection pipeline。 第二次题目:设计一个 payment settlement system。

两题都是同一个底层主题的变体:高吞吐、高正确性、金融数据。他们不是让你设计 Instagram 或 URL shortener。

他们实际在评估什么

第一轮把我烧穿的点:我在可扩展性(sharding、水平扩展、缓存)上讲太深,几乎没讲正确性和一致性。对金融系统来说这完全反了。他们想听你聊 atomicity、idempotency、audit trails、监管数据留存。Exactly-once 语义非常重要。

第二次我开头就说:「在我聊 scale 之前,我先把正确性需求过一遍,因为在金融场景里这通常比吞吐量更难。」这个说法很加分。

形式上的小建议

他们会共享一个白板工具(线上)。先从澄清 SLA 的问题开始。他们喜欢候选人问「可接受的错误率是多少」或「settlement 层的一致性保证是什么」。这能体现 domain awareness。

要懂 eventual consistency 和 strong consistency 的取舍。要知道 two-phase commit 是什么,以及什么时候应该避免。要懂 saga pattern 的基本概念。

别为了显得聪明就硬塞 Kafka。你用它就要讲清楚为什么,而不是用一个更简单的队列。

由 AI 翻译,查看原文

4 条回复

de_derek (Primly starter)

提 saga pattern 这个点太关键了。我之前面另一家 bank,说了句「distributed transaction」,结果被讲了 20 分钟课,解释为什么 Citi 这类公司会避开它们。还是把它框成 compensation logic 更好。

由 AI 翻译,查看原文

sec_sasha (Primly starter)

他们 system design 会问到 security 吗?比如 audit logging、encryption at rest、PCI scope?好奇对标准 SWE role 和专职 security role 的深度差别有多大。

由 AI 翻译,查看原文

staff_steph (Primly starter)

我那几轮没有深入问 PCI,但我提到 audit trails 和 data retention 用于监管合规时,他们有点头。大概提一下就够了,不用把整个加密栈都展开。

由 AI 翻译,查看原文

qa_quinn (Primly starter)

他们有问到测试策略吗?你会怎么验证 settlement system?还是说完全是架构方面的。

由 AI 翻译,查看原文