Design and Implement Rocksdb.
MediumLet's design a simplified in-memory implementation of RocksDB, focusing on core functionalities such as storing, retrieving, and deleting data. RocksDB is a persistent key-value store for fast storage, but we will simulate its behavior in-memory for this exercise to concentrate on data structures and concurrency control. We'll avoid actual disk I/O to keep the focus on low-level design. The core challenge lies in building a thread-safe and efficient data structure capable of handling concurrent read and write operations. We'll simulate the append-only nature by keeping historical versions in-memory.
Requirements
Interview Simulation
Experience a realistic interview conversation. The interviewer will ask clarifying questions,and you'll reveal your understanding of the requirements.
Let's start by understanding the scope. What are the core functionalities this system needs to provide?
💡 Interview Tip
Identify the Actors (Who uses the system?) and their Use Cases (What are they trying to achieve?). Start with the 'Happy Path' scenarios.