
By Mukul Raina
Created by Mukul Raina (Senior Software Engineer & Tech Lead at Microsoft, Oxford MSc), this course uses a ride-sharing platform (Uber-like) as the primary case study to walk you through the complete system design interview process. It covers requirements scoping (functional/non-functional, graceful degradation, consistency tiers), capacity estimation (1.25M GPS writes/sec, ride requests, storage/bandwidth, peak-to-average scaling), high-level architecture (API Gateway vs WebSocket Gateway, Matching Service with spatial indexing, Pricing/Surge logic, Kafka event bus, service boundaries), data flow & state machine (ride matching E2E, trip state transitions, race conditions, latency budgets), database design (Database Per Service, PostGIS for geospatial, Redis for real-time positions, time-series location storage, geographic sharding, indexing strategies), and API design (REST endpoints, WebSocket events, JWT authentication, tiered rate limiting, pagination, versioning). The course includes interview frameworks (4-minute requirements, 2-minute estimation, 5-move database presentation) and common mistakes—equipping you to ace Uber/ride-sharing system design problems at FAANG and beyond.