Just finished a Citi SWE loop for a role in their ICG tech org (NYC). Took about 5 weeks start to finish. Sharing the full breakdown because the prep resources out there are thin.
Recruiter screen was straightforward. 20 minutes, behavioral warmup, she walked me through the process. No technical content.
Online assessment came next: two coding problems on HackerRank, 90-minute window. Both were algorithmic. One string manipulation, one graph traversal. Medium difficulty by leetcode standards. Time pressure was real but manageable if you're warmed up.
Then a phone screen with a tech lead. 45 minutes. One coding problem (hash map, medium) plus 15 minutes of system design at a very high level. He asked how I'd design a simple transaction deduplication system. Nothing deep, mostly just checking that I knew the concepts.
Onsite was four rounds over a day (virtual in my case): Coding (45 min, two problems, medium LC) System design (60 min, more detailed this time) Behavioral (45 min, classic Citi leadership principles) Hiring manager conversation (30 min, more of a two-way)
Total time investment in the process was about 15 hours if you count prep. It's not a FAANG-level grind but it's not nothing.
One thing that stood out: they really care about financial domain knowledge. The system design round had a payments flavor to it. If you've worked in fintech before, lean into that hard. If you haven't, at least know what ACH, SWIFT, and ledger reconciliation mean at a surface level.
Offer came back in about a week after onsite.