Design a Real-Time Chat System
Company: Uber
Role: Software Engineer
Category: System Design
Difficulty: medium
Interview Round: Onsite
Quick Answer: 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.