[ OK ] 524 — full content available
[ INFO ] category: System Design difficulty: hard freq: high first seen: 2026-01-13
[HARD][SYSTEM DESIGN][HIGH]data_engineeringwebbackendStreamingCryptoReal-timeWebSocketinfrastructure
$ cat problem.md
Design https://www.coinbase.com/explore - a page showing real-time cryptocurrency prices.
Requirements:
- Display ~20,000 cryptocurrencies
- Real-time price updates from exchange feeds
- Support sorting, filtering, search
- Handle high traffic (millions of concurrent users)
Key Components:
- Price Aggregation Service (from multiple exchanges)
- WebSocket Server (push updates to clients)
- Price Cache (Redis)
- History Database (time-series DB like InfluxDB)
- CDN for static assets
Discussion Points:
- Push vs Pull for price updates (WebSocket vs Polling)
- Price aggregation from multiple exchanges
- Handling stale data
- Client-side rendering optimization (virtualization)
- WebSocket scaling (connection limits)
Data Flow:
- Exchange feeds → Price Aggregator
- Aggregator → Redis Cache + Kafka
- WebSocket servers subscribe to Kafka
- Clients connect to WebSocket servers
// Functionality to add full integration TBD, in the meantime, please check out the problem description to see what you might expect in the interview!