Design market price change notifications

Quick Overview

This question evaluates expertise in designing scalable, real-time data ingestion and fan-out notification systems, covering competencies such as stream processing, pub/sub architectures, subscription management, backpressure handling, rate limiting, deduplication, ordering, and reliable delivery.

Design market price change notifications

Company: SoFi

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Technical Screen

Design a system that notifies users when market prices change for the symbols they track. Context and requirements: - Users maintain a watchlist of symbols (e.g., AAPL, TSLA). - You have a 3rd-party market data vendor API that supports both REST polling and WebSocket streaming. - The system should push near-real-time price change notifications to users (e.g., via mobile push, email, or in-app/WebSocket). Design goals to address: 1. Ingesting market price updates efficiently (prefer streaming when possible). 2. Fan-out: delivering updates to only the users watching the symbol. 3. Scalability (many users, many symbols), reliability, backpressure, and rate limits. 4. Handling subscription changes (users add/remove symbols) without excessive vendor calls. 5. Deduplication/ordering expectations and retry strategy. Provide a high-level architecture, key components, data model, and the main flows for (a) ingesting price updates and (b) notifying users.

Quick Answer: This question evaluates expertise in designing scalable, real-time data ingestion and fan-out notification systems, covering competencies such as stream processing, pub/sub architectures, subscription management, backpressure handling, rate limiting, deduplication, ordering, and reliable delivery.

|Home/System Design/SoFi
SoFi logo
SoFi
Feb 4, 2026, 12:00 AM
mediumSoftware EngineerTechnical ScreenSystem Design
14
0

Design a system that notifies users when market prices change for the symbols they track.

Context and requirements:

  • Users maintain a watchlist of symbols (e.g., AAPL, TSLA).
  • You have a 3rd-party market data vendor API that supports both REST polling and WebSocket streaming.
  • The system should push near-real-time price change notifications to users (e.g., via mobile push, email, or in-app/WebSocket).

Design goals to address:

  1. Ingesting market price updates efficiently (prefer streaming when possible).
  2. Fan-out: delivering updates to only the users watching the symbol.
  3. Scalability (many users, many symbols), reliability, backpressure, and rate limits.
  4. Handling subscription changes (users add/remove symbols) without excessive vendor calls.
  5. Deduplication/ordering expectations and retry strategy.

Provide a high-level architecture, key components, data model, and the main flows for (a) ingesting price updates and (b) notifying users.

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...