← Roblox Interview Insights

Roblox·Software Engineer·Onsite - System Design / Architecture·Senior

SeniorPrefer not to say
Jun 2026

Summary

Roblox system design round focused entirely on building a social recommendation feed, the kind where you see what your friends are playing or liking. Pretty deep dive, covered a lot of ground in one question.

Questions Asked (1)

Q1

Design a social recommendation system that surfaces activity from a user's friends, such as games they played or content they liked. Walk through the data model, how you fan out activity events to followers, ranking, caching, and privacy rules.

System DesignData ModelingTechnical Trade-offs
Author's notes

This one is deceptively wide.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and scale, then design a data model for users, friendships, and activity events. Explain a fan-out strategy (push vs. pull) for delivering events to followers, and cover ranking, caching, and privacy enforcement. Trade-offs should be justified based on Roblox's social and gaming context.

Pro tip: Emphasize that privacy rules must be enforced at multiple layers (event creation, fan-out, and read time) to prevent leaks, and discuss how to handle edge cases like unfriending or blocking. Also, mention that ranking should balance recency, engagement, and social proximity to avoid noise.

1. Clarify Requirements and Scale

Ask about scale (DAU, events per user), latency requirements, and what types of activities to surface. Confirm privacy expectations and whether real-time updates are needed.

2. Design Data Model

Define entities: User, Friendship (graph), ActivityEvent (type, timestamp, payload), and Follow (if asymmetric). Consider storage choices (e.g., SQL for friendships, NoSQL for events) and indexing for efficient queries.

3. Choose Fan-out Strategy

Decide between push (write to followers' feeds on event creation) and pull (read from friends' events on demand). Discuss hybrid approaches and trade-offs in latency, storage, and consistency.

4. Ranking and Caching

Describe how to rank events (e.g., by recency, engagement, affinity) and cache feeds (e.g., Redis) to reduce latency. Mention precomputation and invalidation strategies.

5. Privacy and Edge Cases

Explain how privacy settings (public, friends-only, custom) are enforced at event creation, fan-out, and read time. Cover handling of unfriending, blocking, and deleted content.

Key Points to Mention

  • Fan-out on write vs. read: trade-offs in latency, storage, and complexity; hybrid approach for celebrities/high-fanout users.
  • Data model: graph for friendships, event store with time-series or wide-column DB, and denormalized feed cache.
  • Ranking: use signals like recency, event type, user affinity, and engagement to order feed items.
  • Caching: use Redis or similar for feed storage, with TTL and invalidation on new events or privacy changes.
  • Privacy: enforce at multiple layers; consider ACLs and filtering during fan-out and read.
  • Scalability: sharding by user ID, asynchronous processing with queues, and eventual consistency.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.