Microsoft · System design 1 of 1

Design a multi-channel notification system.

Event modeling, user preferences, delivery reliability, and scale.

Practice question: an editorial practice prompt, not a claim that Microsoft asks this exact question. Interviews vary by role, level, team, and location.

How to approach this question

A focused three-stage walkthrough

  1. 1
    Scope

    Clarify channels, urgency, ordering, and volume.

  2. 2
    Design

    Define events, preferences, queues, workers, and provider adapters.

  3. 3
    Stress-test

    Cover retries, idempotency, rate limits, and observability.

System design framework

Make every architecture choice traceable

Scope

Clarify users, core operations, scale, latency, consistency, retention, and what is explicitly out of scope.

Design

Define APIs and data models, then connect components through the critical read and write paths.

Stress-test

Identify bottlenecks, failures, security concerns, and the trade-offs behind your scaling choices.

Self-review rubric

What a strong practice attempt includes

  • Requirements drive the architecture
  • APIs and data ownership are explicit
  • Scale and failure modes are addressed
  • Trade-offs are explained instead of hidden
Likely follow-ups

Answer the main question first, then take these on one at a time:

  • How do you prevent duplicates?
  • How are preferences enforced?
  • What if a provider is down?
Avoid these mistakes

Check your recording or written solution against this list:

  • One queue for every priority
  • No idempotency
  • Ignoring user preferences
Sources and methodology

This guide combines general interview-practice patterns with the public hiring material below. The practice prompt and coaching are PiriPiri AI editorial content, not official Microsoft questions or answers.

Official sources reviewed 20 September 2026.