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 might have 500k concurrent players, hundreds of players joining per second. A user may have skill level e.g. userId : skill (1-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
System DesignStaff+
Design a Matchmaking Service for Multiplayer Games
Design a matchmaking service that allows users to join waiting queues, get grouped by skill level into teams of 16, and be allocated to new game servers for multiplayer sessions.
Contextos reais
Onde essa pergunta já apareceu
Use esses exemplos para entender em que contexto ela costuma cair e adaptar sua prática.
Robloxstaff_plusset. de 2025
Anexos públicos
Materiais associados
Nenhum anexo público associado a esta pergunta.
Próximo passo
Depois de treinar essa pergunta, vale abrir outras do mesmo tipo e da mesma senioridade para comparar padrões de resposta.
Isso ajuda a sair da memorização de uma resposta só e entrar em repertório real de entrevista.
Continue a preparação com o banco completo
No app você encontra perguntas parecidas, compara empresas e aprofunda essa busca com mais filtros.