Design a Resilient Chat System
Company: Anthropic
Role: Software Engineer
Category: System Design
Difficulty: medium
Interview Round: Technical Screen
Overview: Design a resilient direct and group chat system by tracing each message through persistence, fan-out, delivery, and offline replay. Evaluate ordering, idempotency, membership changes, reconnect gaps, partial failures, reconciliation, and the risks of acknowledging data held only in an in-memory broker.