UPS · Primly Community

UPS senior / L5 system design interview, what to expect: a pretty detailed breakdown

frontend_fran · 5 replies

Posted a high-level thread on the full loop elsewhere but wanted to drill into the system design round specifically since that's what people asked about most.

Context: I interviewed for a principal/senior SWE role on the ground operations platform side in Atlanta. They leveled it internally as something like L5-equivalent, though UPS doesn't use numbered levels in any formal way externally.

Format. One interviewer, 50 minutes. No shared whiteboard tool. We did it on a Google Meet and I screen-shared a Miro board I spun up myself. They didn't provide anything. Worth knowing: have your own diagramming tool ready.

The prompt. 'Design a real-time package status system that can handle peak volume during the holiday season.' That's not verbatim but close. Classic logistics problem, very on-brand for UPS obviously.

They were interested in: How I'd handle the ingestion layer (millions of scan events per second during peak) Where I'd put caching and why How I'd model the state machine for a package (sorted, in-transit, out-for-delivery, delivered, exception) What happens when two scan events arrive out of order Consumer-facing vs. internal read paths, and whether those should differ

They did NOT go deep on database schema design. They pushed more on the async messaging layer and fault tolerance.

What landed well. Being explicit about tradeoffs. When I said Kafka for ingestion, they asked why not SQS. I gave a real answer about ordering guarantees and consumer group flexibility, not just 'Kafka is standard.' They liked that I quantified the scale: estimated 30M packages in transit peak day, 10-15 scan events per package per day, worked out the rough QPS.

What they pushed on. Exception handling. The interviewer got noticeably more interested when we got to the 'what does the system do when a package scan contradicts the last known state' question. That's clearly a real problem they deal with.

Prep tip. Read up on event-driven architectures. Not because you need to know Kafka inside out, but because UPS's entire operation is literally a distributed event stream. The mental model helps.

5 replies

ml_mike

Good detail on the exception handling angle. Any sense of whether they were testing for a specific answer on out-of-order events, or more just 'does this person have intuition about the problem'?

ops_omar

Definitely the latter. They weren't fishing for a specific solution. More about: do you recognize this is a real problem, do you have a coherent approach, can you discuss the tradeoffs. I proposed event timestamping + idempotent state transitions and they seemed fine with it, asked a couple follow-ups.

sec_sasha

Did security come up at all in the system design? Curious if they asked about who can query package status and how that's auth'd. It's a legitimate concern for carrier-level logistics data.

quietquit_quincy

Miro tip is underrated. I've shown up to virtual system design rounds where I'm just... verbally describing boxes. Painful for everyone. Having a visual out front changes the dynamic.

director_dee

As someone who's on the other side of this kind of interview: the quantification piece is huge. 'How many packages?' is often the first question I ask and maybe 40% of candidates have no idea. If you walked in with a rough QPS estimate you already cleared a big filter.