databricks logo

Databricks Interviews

1 experience15 reads
Databricks Interview SDE
databricks logo
Databricks
SDE I
March 11, 202515 reads

Summary

I interviewed for a Software Development Engineer (SDE) position at Databricks. The process involved a technical phone screen and two subsequent coding rounds, covering algorithms, data structures, and a challenging machine coding system design problem.

Full Experience

My interview journey for the SDE role at Databricks started with a phone screen. The question I received was precisely the one detailed in a specific LeetCode Discuss post concerning a BFS problem. Following this, I proceeded to two coding rounds.

The first round focused on algorithms, where I was tasked with a problem identical to one I'd found on Stack Overflow: finding a path between two nodes in a K-th order Fibonacci tree. The second, a machine coding round, challenged me to design a Map structure capable of put(string key, string value) and get(string key) operations. Crucially, it also required instrumentation methods like measure_put_load() and measure_get_load() to report the average number of calls within a 5-minute rolling window. A significant follow-up involved designing this system to handle a high volume of concurrent calls arriving in rapid succession, such as multiple operations within milliseconds. This design problem bore conceptual similarities to the LeetCode 'Time Based Key-Value Store' problem, but with added real-time load measurement and concurrency considerations.

Interview Questions (3)

Q1
BFS Problem (Databricks Phone Screen)
Data Structures & Algorithms

This question was exactly the same as described in the linked LeetCode Discuss post, which involved a Breadth-First Search (BFS) problem.

Q2
Finding a path between two nodes in a K-th order Fibonacci tree
Data Structures & Algorithms

The problem involved finding a path between two given nodes within a K-th order Fibonacci tree. I was asked this problem exactly as described in the provided Stack Overflow link.

Q3
Design a Time-Windowed Key-Value Store with Load Instrumentation
System Design

I was asked to design a Map structure with put(string key, string value) and get(string key) methods. Additionally, it needed instrumentation methods like measure_put_load() and measure_get_load() to return the average calls made within a 5-minute window. A follow-up asked about handling multiple calls coming in fractions of a second (e.g., 10 calls at 0.01, 0.02, etc.). The problem was similar to the LeetCode 'Time Based Key-Value Store' problem but with these specific instrumentation and concurrency requirements.

Have a Databricks Interview Experience to Share?

Help other candidates by sharing your interview experience. Your insights could make the difference for someone preparing for their dream job at Databricks.