Low Level Design & OOP
Design a Locking Key-Value Store with Batch Writes
Asked by:Databricks
concurrencyinterfacesobject_modelingstate_managementtesting
Problem Overview & Object Oriented Requirements
Design and implement a single-process key-value store whose individual and batched mutations remain atomic under concurrency.
Design Principles: Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion (SOLID).
Topics & Patterns: concurrency, interfaces, object_modeling, state_management, testing.
Class Design Breakdown
1. Identify Core Entities
List primary objects, state enums, value objects, and domain controllers.
2. Class Relationships
Define inheritance, composition, aggregation, and interface abstractions.
3. Apply Design Patterns
Incorporate Strategy, Factory, Observer, State, or Decorator design patterns.
4. Concurrency & Extensibility
Handle thread locks, synchronization, and future extensions cleanly.