← valon Interview Insights

valon·Software Engineer·Technical Phone Screen·Intermediate

Intermediate
Apr 2026

Summary

Valon SWE interview had me building a mini in-memory database from scratch, which sounds like a toy problem until you're actually in it trying to remember how to handle dynamic schemas and NULL semantics on the fly.

Questions Asked (1)

Q1

Design and implement an in-memory database that supports INSERT and SELECT operations, where each table has a dynamic schema built from the union of all column names seen across inserts, and missing columns are treated as NULL.

System DesignAlgorithms & Data StructuresData Modeling
Author's notes

I jumped straight to a map of table names to lists of row maps, which was the right call, but I fumbled explaining the schema part.

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 hash map for tables, each storing rows as dictionaries and a set of column names. Explain how INSERT updates the schema and how SELECT handles missing columns as NULL, and discuss trade-offs and potential optimizations.

Pro tip: Demonstrate awareness of schema evolution and query performance by discussing indexing strategies and the cost of schema updates, showing you think beyond basic functionality.

1. Clarify Requirements

Ask about expected operations, concurrency, performance needs, and whether schema changes affect existing rows.

2. Design Data Structures

Propose using a hash map for tables, each table storing rows as dictionaries and a set of column names for the schema.

3. Implement INSERT

On insert, update the table's schema with any new columns and store the row, filling missing columns with NULL.

4. Implement SELECT

For select, iterate over rows, and for each requested column, return the value or NULL if absent.

5. Discuss Trade-offs and Optimizations

Talk about time/space complexity, indexing for faster queries, and handling concurrent access.

Key Points to Mention

  • Dynamic schema management: union of column names across inserts
  • Using hash maps for tables and rows for O(1) average access
  • Handling missing columns as NULL in SELECT
  • Time and space complexity of operations
  • Potential indexing strategies for performance
  • Concurrency considerations and locking mechanisms

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