Went through the Perplexity loop for a senior SWE role in March 2026. Got an offer, ended up turning it down for another opportunity, but the interview process itself was honestly pretty well run. Wanted to write up the system design portion specifically because there's basically nothing out there on it.
The system design round was 60 minutes with one engineer. No introduction fluff, they basically started with: "Design a web search result ranking system." Which... yeah, given what they build, makes sense. But it wasn't a trick question about their actual architecture. They wanted to see how you reason about it from scratch.
What mattered: Clarifying questions upfront. I asked about freshness requirements, scale (QPS estimate), personalization vs. global ranking. They seemed to care that I asked. They pushed hard on the data pipeline side. How does new content get indexed? How do you handle real-time vs. batch? When I mentioned Kafka they asked me to go deeper on consumer lag and backpressure handling. There was a strong bias toward distributed systems depth. Not just "throw more replicas at it." They wanted to understand consistency tradeoffs. LLM re-ranking came up organically when I brought it up. They definitely lit up a bit and went deep on latency constraints (you can't add 800ms to every query).
They didn't ask me to code anything during system design. It was purely whiteboarding (shared a virtual board). The follow-up questions were specific and fast, felt like talking to someone who had built this stuff, not someone reading from a rubric.
For prep: I focused on distributed systems fundamentals (Designing Data-Intensive Applications is the standard), but more importantly I thought about AI-adjacent infrastructure questions specifically. How does a retrieval pipeline work end to end. How do you merge structured and unstructured results. That framing helped a lot.
Round was probably a 7/10 on difficulty. Not algorithmically tricky but the depth they want is real. Happy to answer questions.