Design a Chat Application with a Partitioned Cache
Company: Databricks
Role: Software Engineer
Category: System Design
Difficulty: medium
Interview Round: Technical Screen
Overview: Design a direct and small-group chat application with durable messaging, online delivery, offline catch-up, ordering, and duplicate handling. Examine what belongs in local or shared caches, how keys are partitioned, and how misses, stale data, hot conversations, and outages affect correctness.