Katkat

Design real-time game matchmaking service

RobloxSoftware Engineer · Onsite

Last updated

This question evaluates a candidate's competence in designing scalable, low-latency distributed systems and matchmaking algorithms, including skills in queue management, skill-based matching, regional sharding, SLO-driven latency targets, consistency models, failure handling, and monitoring.

Design a real-time game matchmaking service for an online multiplayer game. Specify goals (latency targets, fairness/skill balance, regional constraints), APIs (join, leave, heartbeat), data model, match formation algorithm (e.g., skill bands/ELO, queueing, timeouts, backfilling), scaling and sharding strategy, consistency model, and how you will handle failures, hotspots, and monitoring/metrics. Provide capacity estimates and discuss trade-offs.