← Applied intuition Interview Insights

Applied intuition·Software Engineer·Onsite - System Design / Architecture·Senior

Senior
Apr 2026

Summary

Applied Intuition system design round for a software engineering role. The whole session was basically one big deep-dive into building a transactional key-value store from scratch, which sounds contained until you realize how many edge cases they want you to think through.

Questions Asked (1)

Q1

Design and implement an in-memory key-value store that supports transactions, including nested transactions, with get, set, delete, begin, commit, and rollback operations.

System DesignAlgorithms & Data StructuresTechnical Trade-offs
Author's notes

I started with the basic get/set/delete part, which felt fine, then they said 'now add transactions' and I kind of froze for a second.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and constraints, then propose a design using a stack of transaction layers, each with its own key-value map and a reference to its parent. Explain how operations like get, set, and delete traverse the stack, and how commit and rollback manipulate the stack. Finally, discuss trade-offs and potential optimizations.

Pro tip: Emphasize that nested transactions require a stack of layers, and that commit merges changes into the parent while rollback discards the top layer. Mention that this design ensures isolation and atomicity within transactions.

1. Clarify Requirements

Ask about expected operations, concurrency, persistence, and performance constraints to scope the design appropriately.

2. Design Data Structures

Propose a stack of transaction layers, each containing a map for key-value pairs and a reference to its parent layer.

3. Define Operation Semantics

Explain how get, set, and delete work by searching from the top layer down to the base, and how begin, commit, and rollback manipulate the stack.

4. Discuss Trade-offs and Optimizations

Address time/space complexity, potential optimizations like copy-on-write or lazy propagation, and handling of edge cases.

5. Implement and Test

Sketch code for the core operations and outline test cases for nested transactions, rollbacks, and commits.

Key Points to Mention

  • Use a stack of transaction layers to support nesting.
  • Get operations search from the top layer down to the base.
  • Set and delete operations only affect the top layer.
  • Commit merges the top layer into its parent and pops it.
  • Rollback discards the top layer.
  • Consider thread-safety and performance implications.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.