PracHub
QuestionsPremiumLearningGuidesInterview PrepCoaches
|Home/System Design/Roblox

Design resource loader and ROS-like pub/sub

Last updated: Mar 29, 2026

Quick Overview

This question evaluates system design and distributed-systems competencies including resource management, async concurrency, caching and eviction, streaming and partial loads, dependency resolution, failure isolation, observability, and pub/sub concerns such as topic/schema/versioning, discovery, QoS, ordering, replay, partitioning, latency, clock semantics, and security. Commonly asked to assess architectural reasoning about scalability, low-latency trade-offs, fault tolerance, and deployment/topology choices, it is categorized under System Design and tests both high-level conceptual understanding and practical application-level design decisions; English.

  • hard
  • Roblox
  • System Design
  • Software Engineer

Design resource loader and ROS-like pub/sub

Company: Roblox

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Onsite

Part A – Design a Resource Loader that supports multiple resource types (e.g., images, configs, ML models). Specify the public APIs, how new types are plugged in, async/concurrent loading, prioritization, batching, caching (memory/disk), eviction, deduplication, retries/timeouts, dependency resolution, streaming/partial loads, failure isolation, thread-safety, and observability (metrics/logging/tracing). Discuss deployment, scaling, and trade-offs. Part B – Design a ROS-like publish/subscribe system. Define topics, message schema/serialization, discovery, QoS/reliability options (best-effort vs. reliable), ordering, replay/durability, backpressure and flow control, handling slow or disconnected subscribers, partitioning and scaling across nodes, latency/real-time considerations, clock synchronization, fault tolerance, and security (authn/z, encryption). Compare brokered vs. brokerless and federated topologies and justify your choices.

Quick Answer: This question evaluates system design and distributed-systems competencies including resource management, async concurrency, caching and eviction, streaming and partial loads, dependency resolution, failure isolation, observability, and pub/sub concerns such as topic/schema/versioning, discovery, QoS, ordering, replay, partitioning, latency, clock semantics, and security. Commonly asked to assess architectural reasoning about scalability, low-latency trade-offs, fault tolerance, and deployment/topology choices, it is categorized under System Design and tests both high-level conceptual understanding and practical application-level design decisions; English.

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
Sep 6, 2025, 12:00 AM
Software Engineer
Onsite
System Design
12
0

System Design: Resource Loader and ROS-like Publish/Subscribe

Context

You are designing two foundational systems for a large-scale, real-time interactive platform with both client and server components. The platform must run across heterogeneous devices and networks, support low-latency experiences, and scale to millions of users and thousands of services.

Part A — Resource Loader

Design a Resource Loader that supports multiple resource types (e.g., images, configs, ML models, audio). Provide:

  1. Public APIs and data model
  2. How new resource types are plugged in (extensibility)
  3. Async/concurrent loading and cancellation
  4. Prioritization and dynamic reprioritization
  5. Batching and coalescing
  6. Caching: memory and disk; eviction policies; cache keys; validation
  7. Deduplication of in-flight requests
  8. Retries, timeouts, and hedged requests
  9. Dependency resolution (manifests, topological loading)
  10. Streaming/partial loads (e.g., progressive textures, range requests)
  11. Failure isolation and fault containment (e.g., decoder crashes)
  12. Thread-safety and correctness under concurrency
  13. Observability (metrics, logs, tracing)
  14. Deployment, scaling strategies (client/server, edge), and trade-offs

Part B — ROS-like Publish/Subscribe System

Design a ROS-like pub/sub system for distributed nodes (clients, services, simulators, and ML components). Define:

  1. Topics, message schema/serialization, and versioning
  2. Discovery mechanisms (LAN/WAN, NAT) and routing
  3. QoS and reliability options (best-effort vs reliable), delivery semantics
  4. Ordering guarantees (per-publisher, per-key)
  5. Replay and durability options
  6. Backpressure/flow control and handling slow/disconnected subscribers
  7. Partitioning and scaling across nodes and regions
  8. Latency/real-time considerations and zero-copy paths
  9. Clock synchronization and time semantics
  10. Fault tolerance, high availability, and failover
  11. Security (authentication, authorization, encryption)
  12. Comparison and justification of brokered vs brokerless and federated topologies

Be explicit about key trade-offs and justify your choices with concise reasoning.

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.