Roblox·Software Engineer·Onsite - System Design / Architecture
May 2026
System design round at Roblox for a software engineer role. The core problem was designing the backend for that little social proof line you see on a game page, something like 'Alice, Bob, and 12,345 people have played this.' Deceptively simple on the surface but it pulls in a lot of moving parts once you start thinking about scale.
- Design the backend system that powers a personalized social proof line on a game's detail page, showing the viewer's friends who played and a total unique player count.
- How do you deduplicate play events so that a single user's multiple sessions only count as one unique player, especially given at-least-once event delivery?
- How do you handle write pressure on a single game's player count when that game goes viral and thousands of events per second converge on the same counter?
- If a user has millions of friends (think a celebrity account), how do you keep the friends-who-played intersection fast without scanning the entire friend list?
- How would your design change if the product requirement shifted from 'total players ever' to 'players who played this week' using a sliding time window?
- A bug caused an hour of play events to be double-published. Walk through whether your design absorbs this or how you'd repair the count.
- What clarifying questions would you ask before designing this system, and what assumptions are you making about the definition of 'played' and the privacy rules around showing friend names?
“This one looked like a display problem until I actually started drawing it out.” The rest of the author's notes on Software Engineer interview at Roblox, Onsite - System Design / Architecture round, covers how they worked through the question, what the panel pushed back on, and what they would do differently.
View Post