Went through the Citi senior SWE system design round twice this year (failed first attempt, got feedback, re-interviewed six months later). Writing this because I genuinely could not find anything specific about what they actually probe on.
What the round looks like
60 minutes. One problem. Interviewer is usually a principal or staff engineer from the relevant domain. In both my cases it was payments or transaction infrastructure flavored.
First attempt problem: design a real-time fraud detection pipeline. Second attempt problem: design a payment settlement system.
Both are variations of the same underlying theme: high-throughput, high-correctness, financial data. They are not asking you to design Instagram or URL shorteners.
What they actually evaluate
The thing that burned me in round one: I went deep on scalability (sharding, horizontal scale, caching) and barely touched correctness and consistency. For financial systems, that's backwards. They want to hear you talk about atomicity, idempotency, audit trails, regulatory data retention. Exactly-once semantics matter a lot.
In my second attempt I opened with: 'before I dive into scale, let me walk through the correctness requirements, because in a financial context those are usually harder than the throughput ones.' That landed well.
Format tips
They share a whiteboard tool (virtual). Start with clarifying questions about SLAs. They like candidates who ask 'what's the acceptable error rate' or 'what are the consistency guarantees at the settlement layer.' Shows domain awareness.
Know the tradeoffs between eventual and strong consistency. Know what a two-phase commit is and when you'd avoid it. Know saga pattern basics.
Don't name-drop Kafka just to sound smart. If you use it, explain why versus a simpler queue.