PracHub
QuestionsPremiumLearningGuidesCheatsheetNEWCoaches
|Home/System Design/Google

Design at-least-once notification delivery

Last updated: Mar 29, 2026

Quick Overview

This question evaluates expertise in reliable distributed systems design, including at-least-once delivery semantics, idempotency and deduplication strategies, retry and dead-letter handling, API and message-schema design, ordering and out-of-order handling, and scalability for high-throughput multi-tenant notification platforms.

  • medium
  • Google
  • System Design
  • Software Engineer

Design at-least-once notification delivery

Company: Google

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Technical Screen

Design a notification system that guarantees at-least-once delivery. Define producer and consumer interfaces, deduplication keys, retry with exponential backoff, out-of-order handling, and user-facing idempotency to avoid duplicates.

Quick Answer: This question evaluates expertise in reliable distributed systems design, including at-least-once delivery semantics, idempotency and deduplication strategies, retry and dead-letter handling, API and message-schema design, ordering and out-of-order handling, and scalability for high-throughput multi-tenant notification platforms.

Related Interview Questions

  • Design an Online Coding Judge Platform - 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)
  • Design a global real-time notification system - Google (medium)
Google logo
Google
Sep 6, 2025, 12:00 AM
Software Engineer
Technical Screen
System Design
6
0

System Design: At-Least-Once Notification System

Context

Design a multi-channel notification platform (email, SMS, push, in-app) that guarantees at-least-once delivery. Duplicates are possible, so the system must be idempotent and provide a good user experience without showing duplicates. Assume high throughput (e.g., thousands of notifications per second), multi-tenant services, and retries across transient failures.

Requirements

  1. High-level architecture and flow that provides at-least-once delivery.
  2. Producer interface (API/SDK) and consumer/worker interface (message schema, ack/nack semantics).
  3. Deduplication strategy: keys, storage, TTL, and uniqueness constraints.
  4. Retry policy with exponential backoff and jitter; failure handling and dead-letter queues.
  5. Out-of-order handling across retries and parallelism; ordering guarantees per key.
  6. User-facing idempotency: ensure no duplicate notifications are displayed to users across channels.

Deliverables

  • Define producer API (fields, idempotency, responses) and consumer message interface (fields, ack/nack).
  • Specify deduplication key design and how/where it is stored.
  • Describe retry algorithm (exponential backoff with jitter), limits, and DLQ behavior.
  • Describe how to handle out-of-order events (partitioning keys, sequence numbers, buffering windows).
  • Describe user-facing idempotency for UI and downstream providers (e.g., collapse/replace semantics).
  • Call out assumptions and trade-offs.

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.