PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/System Design/Meta

Design a product notifications system

Last updated: Mar 29, 2026

Quick Overview

This question evaluates system design competencies for building a large-scale notifications platform—covering architecture, APIs, data modeling, event pipelines, delivery semantics (retries, deduplication, idempotency), targeting/segmentation, localization, monitoring, and legal compliance such as GDPR/CCPA.

  • hard
  • Meta
  • System Design
  • Software Engineer

Design a product notifications system

Company: Meta

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Onsite

Design a push notifications and in-app messaging platform for a large consumer mobile app. Support user preference management (channels, quiet hours), segmentation and targeting, deduplication, rate limiting, retries and backoff, idempotency, scheduling and batching, A/B experiments, and localization. Describe the APIs, data model, event pipeline, delivery workers, and integration with iOS/Android push services. Address scalability to millions of DAUs, multi-region deployment, consistency vs availability trade-offs, monitoring/alerting, GDPR/CCPA compliance, and failure handling. Propose capacity estimates and a rollout plan.

Quick Answer: This question evaluates system design competencies for building a large-scale notifications platform—covering architecture, APIs, data modeling, event pipelines, delivery semantics (retries, deduplication, idempotency), targeting/segmentation, localization, monitoring, and legal compliance such as GDPR/CCPA.

Related Interview Questions

  • Design Top-K, Crawler, and Chess Systems - Meta (hard)
  • Design Search And Web Crawling Systems - Meta (medium)
  • Design an Instagram-Style Social Feed - Meta (medium)
  • Design an Online Game Leaderboard - Meta (hard)
  • Design an On-Demand Delivery Platform - Meta (medium)
Meta logo
Meta
Aug 14, 2025, 12:00 AM
Software Engineer
Onsite
System Design
1
0

System Design: Push Notifications and In‑App Messaging Platform

Context

Design a notifications platform for a large consumer mobile app with millions of daily active users. The platform must support both push notifications (iOS/Android) and in‑app messaging, with rich targeting, personalization, and compliance.

Functional Requirements

  1. User preferences and consent
    • Channels: push, in‑app (future‑proof for email/SMS)
    • Topics/categories, frequency caps
    • Quiet hours and time zone handling
  2. Segmentation and targeting
    • Dynamic segments, real‑time triggers, and scheduled campaigns
  3. Deduplication
    • Across retries and overlapping campaigns; vendor collapse keys
  4. Rate limiting and throttling
    • Per user, per campaign, and global/vendor limits
  5. Retries, backoff, and idempotency
  6. Scheduling and batching
    • Future send times and batching for efficiency
  7. A/B experiments
    • Randomized assignment, holdouts, metrics
  8. Localization
    • Templates, placeholders, pluralization, fallbacks
  9. In‑app messaging
    • Message inbox, triggers, display rules, and impression tracking

System Requirements

  • Describe APIs, data model, event pipeline, delivery workers
  • Integrate with APNs (iOS) and FCM (Android)
  • Scale to millions of DAUs and bursty traffic
  • Multi‑region deployment and CAP trade‑offs
  • Monitoring, alerting, and SLOs
  • GDPR/CCPA compliance
  • Failure handling and graceful degradation
  • Capacity estimates and a safe rollout plan

Solution

Show

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Meta•More Software Engineer•Meta Software Engineer•Meta System Design•Software Engineer System Design
PracHub

Master your tech interviews with 8,000+ 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.