Roblox - System Design

roblox logo
roblox
October 21, 202520 reads

Summary

I recently had a system design interview with Roblox, where I was challenged to design a scalable matchmaking service for their multiplayer gaming platform.

Full Experience

During my interview at Roblox, I was presented with a comprehensive system design problem. The core challenge was to design a matchmaking service for millions of multiplayer game sessions daily. This service needed to allow users to join a waiting queue, group them by skill level, and then allocate them to a new game server simultaneously. I had to consider a popular game potentially having up to 500k concurrent players and hundreds joining per second, grouping users into sets of 16, and ensuring a user only queues for one game at a time. The problem provided specific ID types and a UserSkill table to guide my design process.

Interview Questions (1)

Q1
Roblox Scalable Matchmaking Service Design
System DesignHard

Roblox hosts millions of multiplayer game sessions daily. It is planning to release a Matchmaking Service for game developers such that users can join a waiting queue, be grouped together by skill level and join a new gameserver at the same time.

A popular game may have upto 500k concurrent players, hundreds of players joining per second.

A user may have a skill level e.g userid : skill (0-100)

Design a service to help organize these users into groups of 16 before allocating them a new empty gameserver.

A user may only queue for 1 game at a time

You may assume the following ID types exist: long GameID long UserID long ServerID

And the following table: Table UserSkill - long GameID long UserID int Skill

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!