Just finished the Two Sigma loop for a senior SWE role (NYC, quant-tech track, not research). Wanted to write up the system design round because I couldn't find recent info anywhere.
The round was 60 minutes with two interviewers. The prompt I got was something in the data infrastructure space. Think: design a system that ingests high-frequency trading data at scale, processes it near-real-time, and makes it queryable. Sounds niche, but the skills are the same: partitioning strategy, fault tolerance, consistency vs. latency tradeoffs.
What made it feel different from a typical FAANG system design: They pushed hard on failure modes. Not just "what happens if a node fails" but cascading scenarios. What if your downstream consumer is slow? What happens to your ordering guarantees? They asked me to reason about cost tradeoffs explicitly. Like, at what data volume does your Kafka-based approach become impractical vs. a custom solution? The quant context meant low-latency mattered more than in most SD interviews. I had to address L1 cache vs. heap tradeoffs at one point.
They were not hostile at all. More collaborative than I expected. One interviewer sketched out an alternative I hadn't considered and asked me to compare it to my approach. That felt like a senior IC conversation, not a test.
For prep: I'd say Designing Data-Intensive Applications is table stakes, but you also need to think through financial data use cases specifically. Ordering, timestamping, exactly-once delivery. That kind of thing.
The signal they're looking for at senior/L5-equivalent seems to be depth over breadth. I got pushed much harder on one component than I was asked to cover everything superficially.
Total loop was 5 rounds: 2 coding, 1 system design, 1 behavioral, and a domain deep-dive that felt like a second system design but lighter. Offer came back ~10 business days post-onsite.