PracHub
QuestionsPremiumLearningGuidesInterview PrepNEWCoaches
|Home/System Design/Google

Design distributed message queue service

Last updated: Mar 29, 2026

Quick Overview

This question evaluates a candidate's competency in distributed systems and messaging architecture, including scalability, high-throughput design, large-payload storage strategies, API/resource modeling, reliability and multi-tenant operational concerns.

  • hard
  • Google
  • System Design
  • Software Engineer

Design distributed message queue service

Company: Google

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Technical Screen

Design a distributed message queue system that supports high-throughput producers and consumers with large payloads. Start from APIs for topics or queues (create, update, delete, list), produce and consume semantics, and deployment management. Explain strategies to handle failures, prevent data loss, and recover (acks, retries, deduplication). Contrast an in-memory queue class and API with a multi-tenant cloud service; describe storage choices, partitioning, replication, and resource isolation among different users.

Quick Answer: This question evaluates a candidate's competency in distributed systems and messaging architecture, including scalability, high-throughput design, large-payload storage strategies, API/resource modeling, reliability and multi-tenant operational concerns.

Related Interview Questions

  • Design an Online Coding Judge Platform - Google (medium)
  • Design Calendar Event Conflict Handling - Google (medium)
  • Design a pub-sub replay system - Google (hard)
  • How to host many domains on one IP? - Google (medium)
  • Design street-view image ingestion and storage system - Google (hard)
Google logo
Google
Sep 6, 2025, 12:00 AM
Software Engineer
Technical Screen
System Design
10
0

Design a Distributed Message Queue for High Throughput and Large Payloads

Context

You are asked to design a distributed message queue system that supports very high throughput for producers and consumers and can handle large message payloads. The system should support both a simple in-process queue (for a single application) and a multi-tenant, cloud-hosted service.

Requirements

  1. APIs and Resource Model
    • Topics/queues: create, update, delete, list.
    • Produce and consume semantics: batching, acknowledgments, consumer groups, ordering, and offset management.
    • Deployment/administration: provisioning, scaling, health, metrics, and upgrades.
  2. Reliability and Recovery
    • Strategies to prevent data loss and handle failures: acknowledgments, retries, backoff, dead-letter queues (DLQ), deduplication, and recovery from broker or consumer failures.
  3. Architecture and Trade-offs
    • Contrast a single-process, in-memory queue class + API against a multi-tenant cloud service.
    • Storage choices for large payloads; partitioning and sharding strategy; replication and placement; resource isolation across tenants.
  4. Performance
    • Consider throughput, latency, batching, flow control/backpressure, and scaling strategies.

Provide a clear design, API sketches, and rationale for key choices.

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Google•More Software Engineer•Google Software Engineer•Google 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.