Design a Real-Time Chat System
Company: Uber
Role: Software Engineer
Category: System Design
Difficulty: medium
Interview Round: Onsite
Overview: This system design question tests a candidate's ability to architect a scalable real-time messaging platform, focusing on transport protocol selection and the trade-offs between live delivery and durable offline catch-up. It evaluates practical knowledge of distributed systems concepts including WebSocket vs. polling strategies, stateful connection management, and message persistence at scale.
Read the full Uber Software Engineer interview experience this question came from