went through the Reddit L5 system design loop a couple months ago. sharing notes because i couldn't find anything current when i was prepping.
they do two system design rounds at the senior/L5 level. both are 45 minutes. one is more infrastructure-leaning (think: design a content feed, design a notification system), the other is more product-leaning (something like: how would you redesign the voting system at scale).
what they actually care about: can you define the problem before you start drawing boxes do you know when to use a queue vs. direct API calls can you talk about trade-offs without being prompted do you have actual opinions about data storage, or do you just say 'it depends' and wait
the interviewers ranged. one was very conversational, almost collaborative. the other was quiet and let me drive for maybe 20 minutes before asking anything. don't mistake the silence for approval or disapproval, just keep talking.
Reddit's infra is genuinely interesting. they moved a lot of their feed architecture to a ranking-service model a few years back and some of the interviewers will drop hints about real problems they've worked on. lean into that if you can. asking 'how do you handle vote manipulation at scale' hits different when the interviewer has actually built the anti-spam layer.
one thing that tripped me up: i over-indexed on availability and didn't talk enough about consistency trade-offs for the voting round. CAP theorem is not just interview trivia here, it's a real product constraint for them.
leveling felt like it hinged on whether you proactively brought up the hard problems, not just answered them when asked. if you want L5 credit, surface the edge cases yourself.
overall i thought the rounds were fair. not algorithmic-puzzle hard, more 'can you actually think through a distributed system' hard. which is worse if you've been grinding leetcode and not reading about kafka.