PracHub
QuestionsLearningGuidesInterview Prep
|Home/System Design/Databricks

Design a Chat Application with a Partitioned Cache

Last updated: Jul 28, 2026

Quick 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.

  • medium
  • Databricks
  • System Design
  • Software Engineer

Design a Chat Application with a Partitioned Cache

Company: Databricks

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Technical Screen

# Design a Chat Application with a Partitioned Cache Design an end-to-end chat application that supports direct conversations and small group conversations. Cover client connectivity, message-send APIs, durable storage, delivery to online recipients, offline catch-up, ordering, and duplicate handling. Spend additional time on caching: identify which data should be cached, compare process-local memory with a shared cache, choose partition keys, describe cache-miss behavior, and explain how cache invalidation or expiration preserves correctness. ### Clarifying Questions to Ask - Is ordering required globally, per conversation, or only per sender? - Are edits, deletes, read receipts, and attachments in scope? - What acknowledgment means that a send succeeded? - How long can clients be disconnected, and how do they resume? - Which reads are latency-sensitive enough to justify caching? ### What a Strong Answer Covers ```premium-lock What a Strong Answer Covers ``` ### Follow-up Questions - How would you preserve order during a partition migration? - When is an application-process cache preferable to a shared cache? - How would you prevent a cache miss storm after a regional failure? - What changes for very large broadcast channels?

Quick Answer: 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.

Related Interview Questions

  • Design Chat Deletion Semantics Under Concurrent Sends - Databricks (medium)
  • Design a Durable Concurrent Event Writer - Databricks (hard)
  • Design a Collaborative Playlist Editor - Databricks (medium)
  • Design a Thread-Safe Buffered Writer with a Background Flush Thread - Databricks (medium)
|Home/System Design/Databricks

Design a Chat Application with a Partitioned Cache

Databricks logo
Databricks
May 27, 2026, 12:00 AM
mediumSoftware EngineerTechnical ScreenSystem Design
0
0

Design a Chat Application with a Partitioned Cache

Design an end-to-end chat application that supports direct conversations and small group conversations. Cover client connectivity, message-send APIs, durable storage, delivery to online recipients, offline catch-up, ordering, and duplicate handling.

Spend additional time on caching: identify which data should be cached, compare process-local memory with a shared cache, choose partition keys, describe cache-miss behavior, and explain how cache invalidation or expiration preserves correctness.

Clarifying Questions to Ask Guidance

  • Is ordering required globally, per conversation, or only per sender?
  • Are edits, deletes, read receipts, and attachments in scope?
  • What acknowledgment means that a send succeeded?
  • How long can clients be disconnected, and how do they resume?
  • Which reads are latency-sensitive enough to justify caching?

What a Strong Answer Covers Premium

Follow-up Questions Guidance

  • How would you preserve order during a partition migration?
  • When is an application-process cache preferable to a shared cache?
  • How would you prevent a cache miss storm after a regional failure?
  • What changes for very large broadcast channels?

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Databricks•More Software Engineer•Databricks Software Engineer•Databricks System Design•Software Engineer System Design

Your design canvas — auto-saved

PracHub

Master your tech interviews with 8,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • AI Coding Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.