Going to be more specific than the usual 'design a URL shortener' writeups because I think the PIMCO system design interview is pretty distinct from big tech loops and people should know what they're walking into.
I was interviewing for a senior infrastructure role, so maybe L5 equivalent. The design round was 60 minutes, one interviewer who identified himself as a tech lead on the data platform side.
The prompt: Design a real-time portfolio risk aggregation system. You have hundreds of portfolios, each holding thousands of positions across fixed income, equities, derivatives. You need to compute risk metrics, think VaR and duration, across all portfolios continuously as market data streams in. Low latency reads for portfolio managers, high write throughput as prices tick.
This is NOT a standard distributed systems design question. It maps to what PIMCO actually does.
He didn't expect me to know the exact math behind VaR but he did expect me to reason about: event streaming (Kafka came up naturally), in-memory aggregation vs. persistent compute, consistency trade-offs when market data arrives out of order, and how you'd partition the data so hot portfolios don't starve cold ones.
I drew out a pretty standard event-driven architecture: price ticks to Kafka, a fleet of stateful consumers updating portfolio snapshots, a low-latency read layer backed by Redis for PM dashboards, and a separate batch path for end-of-day reconciliation.
He pushed on the failure mode: what happens if a consumer falls behind during a volatile market session? We talked about lag monitoring, dead letter queues, and whether you replay or approximate.
Things that seemed to matter: I quantified latency targets early (sub-second for the PM dashboard), I acknowledged I was making assumptions, and I didn't get defensive when he pushed back.
Things that didn't matter: knowing specific PIMCO-internal tooling. The conversation was all about reasoning.
One thing I wish I'd prepped more: cache invalidation patterns and exactly how you'd handle stale data in a scenario where prices move faster than your compute can keep up. I fumbled a bit there.