Design market price change notifications

Read the full interview experience this question came from →

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.

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.

Read the full SoFi Software Engineer interview experience this question came from

SoFi logo
SoFi
Feb 4, 2026
mediumSoftware EngineerTechnical ScreenSystem Design
15
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.