PracHub
QuestionsPremiumLearningGuidesInterview PrepCoaches
|Home/System Design/Roblox

Design a real-time favorites service at scale

Last updated: May 27, 2026

Quick Overview

This question evaluates a candidate's competency in large-scale distributed system design, covering scalability, low-latency real-time counter aggregation, consistency models, idempotency and deduplication, data partitioning and indexing, caching and hot-key mitigation, streaming and batch aggregation, multi-region replication, security, and observability. It is commonly asked to probe architectural trade-offs for a high-throughput favorites/counts service under heavy read/write skew and strict SLOs, falls under the System Design domain, and primarily tests practical application of architectural patterns with required conceptual understanding of distributed systems and operational concerns.

  • hard
  • Roblox
  • System Design
  • Software Engineer

Design a real-time favorites service at scale

Company: Roblox

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Technical Screen

Design a favorites/unfavorites service for items (e.g., posts, products) that shows each item's favorite count in real time. Handle traffic at 1,000,000 QPS reads (count lookups) and 100,000 QPS writes (favorite/unfavorite actions). Specify: APIs and request/response contracts; data model and indexing; consistency model (exact vs. eventual) and target latencies; idempotency/deduplication and exactly-once semantics; counter design (e.g., sharded or aggregated counters) and mitigation of hot keys/skew; caching strategy and cache invalidation; storage choices and partitioning; streaming/batch aggregation for near-real-time counts; multi-region deployment, replication, and failover; handling unfavorite, deletes, and recount/backfill; rate limiting and abuse prevention; security/authorization; observability (metrics, alerts), capacity planning, and cost trade-offs; test strategy and load testing plan.

Quick Answer: This question evaluates a candidate's competency in large-scale distributed system design, covering scalability, low-latency real-time counter aggregation, consistency models, idempotency and deduplication, data partitioning and indexing, caching and hot-key mitigation, streaming and batch aggregation, multi-region replication, security, and observability. It is commonly asked to probe architectural trade-offs for a high-throughput favorites/counts service under heavy read/write skew and strict SLOs, falls under the System Design domain, and primarily tests practical application of architectural patterns with required conceptual understanding of distributed systems and operational concerns.

Related Interview Questions

  • Design Multi-Dimensional Request Rate Limiting - Roblox (easy)
  • Design a Scalable Likes System - Roblox (medium)
  • Design favorites and social game recommendations - Roblox (medium)
  • Design a rate limiter - Roblox (medium)
  • Design a Scalable Like Counter - Roblox (medium)
Roblox logo
Roblox
Aug 12, 2025, 12:00 AM
Software Engineer
Technical Screen
System Design
13
0

Design: Real-Time Favorites/Unfavorites Service at High Scale

Context

Design a backend service that lets users favorite/unfavorite items (e.g., posts, products) and exposes each item's favorite count in near real time. The system must support very high traffic with low latency and strong reliability. Assume clients are web/mobile, traffic is global, and items can be extremely skewed in popularity.

Functional Requirements

  • Users can favorite or unfavorite an item exactly once (per user-item pair).
  • Show favorite counts on item pages in near real time.
  • Provide bulk count lookups for feeds/lists.
  • Idempotent APIs resilient to retries and network issues.
  • Support item deletion and recount/backfill.

Non-Functional Requirements

  • Scale: ~1,000,000 QPS reads (count lookups), ~100,000 QPS writes (favorite/unfavorite).
  • Latency targets: reads p50 ≤ 10 ms, p95 ≤ 20 ms, p99 ≤ 50 ms (from edge); writes p95 ≤ 50 ms to accept and reflect within ≤ 1–2 s globally.
  • Availability: ≥ 99.99% for reads; ≥ 99.9% for writes.
  • Consistency: event-driven eventual consistency for counts (≤ 1–2 s). Strong per-user semantics (cannot favorite twice; unfavorite is a no-op if not favorited).

Specify

  1. APIs and request/response contracts.
  2. Data model and indexing.
  3. Consistency model and latency SLOs.
  4. Idempotency/dedup and exactly-once semantics.
  5. Counter design (sharded/aggregated) and hot-key mitigation.
  6. Caching and invalidation.
  7. Storage choices and partitioning.
  8. Streaming/batch aggregation for near-real-time counts.
  9. Multi-region deployment, replication, and failover.
  10. Handling unfavorite, deletes, recount/backfill.
  11. Rate limiting and abuse prevention.
  12. Security and authorization.
  13. Observability (metrics, alerts), capacity planning, and cost trade-offs.
  14. Test strategy and load testing plan.

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Roblox•More Software Engineer•Roblox Software Engineer•Roblox System Design•Software Engineer System Design
PracHub

Master your tech interviews with 7,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.