← Back to Directory

Databricks interview notes, page 20 of 22

Large Enterprises

Most of these Databricks write-ups come from Software Engineers (192), then Machine Learning Engineers (9) and Data Scientists (8). The most reported rounds are the technical phone screen (136), the system design round (57), the behavioral / leadership round (9) and the onsite coding round (6).

216 interview notes · updated Jul 2026

Databricks·Machine Learning Engineer·Onsite - System Design / Architecture

Jun 2026
Databricks ML Engineer interview with a meaty system design question around predicting out-of-memory failures in cloud notebook environments. One question, but it had a lot of surface area to cover and the conversation went pretty deep.
  • Design an ML system that predicts Out-of-Memory (OOM) failures for cloud-hosted notebooks. Walk through problem framing, feature design, labeling strategy, serving architecture, and how you'd close the feedback loop.

“This one sprawled in every direction and I underestimated how much the serving constraints would matter.”

View Post

Databricks·Technical Program Manager·Technical Phone Screen

Jun 2026
TPM interview at Databricks with a debugging scenario around a metric discrepancy. Short and focused, felt more like a technical problem-solving check than a full loop.
  • A metric is off by a certain percentage. Walk through how you'd debug it.

“My first instinct was to jump straight to data pipeline issues, which probably wasn't the best entry point.”

View Post

Databricks·Software Engineer·Technical Phone Screen

Jun 2026
Databricks software engineer interview with a system design follow-up that pushed into complexity territory I wasn't fully ready for. The nested/incremental revenue question felt like a natural extension but the read-heavy vs write-heavy tradeoff discussion is where things got interesting.
  • How would you compute and maintain per-customer revenue totals when the input is either nested (orders containing line items) or arrives as incremental delta updates?
  • What are the time and space complexities of your approach for maintaining revenue totals and answering a query for the k customers with the smallest total revenue?
  • How would your design change to optimize for a read-heavy workload with many leastK queries but infrequent updates, versus a write-heavy workload with frequent updates but rare queries?

“I started with a flat hashmap for customer totals and then talked through flattening the nested structure by traversing orders then items, accumulating into the map.”

View Post

Databricks·Software Engineer·Technical Phone Screen

Jun 2026
Databricks SWE interview with a system design coding question that was more nuanced than it looked on the surface. The core task was clean but the rate-tracking piece is where things get interesting.
  • Design a key-value store class with put and get methods, plus two methods that return the average number of put and get calls per second over the last 5 minutes. All four operations should run in close to O(1) time.

“The key-value part took me maybe two minutes, then I spent the rest of the time on the rate tracking.”

View Post

Databricks·Software Engineer·Onsite - System Design / Architecture

Jun 2026
System design round at Databricks for a software engineering role. The whole thing centered on building a key-value store with rate query support, which sounds manageable until you get into the weeds of windowed aggregation and concurrency.
  • Design an in-memory key-value store that supports PUT and GET operations, plus a query function that returns the average number of PUT or GET operations per second over an arbitrary time window (e.g. average GETs per second over the last 10 minutes). Cover your choice of data structures, how you'd handle variable window sizes, accuracy vs memory trade-offs, and concurrency.

“I went with per-second buckets in a circular array pretty quickly, which felt right, but then they asked about arbitrary window sizes and I stumbled.”

View Post

Databricks·AI Engineer·Onsite - System Design / Architecture

Jun 2026
System design round at Databricks for an AI Engineer role. The whole thing was basically one big deep-dive into cache design, which sounds manageable until they start layering in hit counting with time windows and thread safety and suddenly you're juggling four different problems at once.
  • Design a key-value cache that supports get and put operations with optional TTL, an LRU eviction policy, and an efficient hit-count query that returns cache hits overall and per key within a recent time window.

“I started with the hash map plus doubly linked list for LRU, which felt solid, but the hit-count-with-time-window part is where I fumbled.”

View Post

Databricks·Software Engineer·Technical Phone Screen

Jun 2026
Databricks SWE interview with a data aggregation problem that looked simple on the surface but had enough edge cases to keep you busy. Nothing too wild, but worth knowing your heap/sort tradeoffs going in.
  • Given a list of purchase events (each with a customer ID and an amount), find the k customers with the lowest total revenue. Handle ties and the case where there are fewer than k customers.

“The core grouping part was fine, just aggregate amounts by customer.”

View Post

Databricks·Software Engineer·Technical Phone Screen

Jun 2026
Databricks software engineering interview with a pretty involved graph/algorithm design question. The problem was well-constructed but had a few layers that took me a while to untangle, especially the constraint around not using Dijkstra and keeping the final selection step in linear time without sorting.
  • You're building a city route planner over an undirected graph with N intersections and M roads. Each road has a list of allowed transportation modes (walk, bike, drive, etc.), and each mode has a fixed time and cost per edge. For each mode, find the shortest path (by edge count) from a source to a destination using only roads that allow that mode, then pick the best mode by minimizing total time first, then cost. If no mode can reach the destination, return an unreachable signal. Describe your approach, complexity, and implement it.

“The BFS part clicked pretty fast since all edges within a given mode are uniform weight, so edge count is the right thing to minimize.”

View Post

Databricks·Software Engineer·Technical Phone Screen

Jun 2026
Databricks software engineering interview that went deep into networking fundamentals pretty fast. The main problem was a firewall rule evaluator and it had more layers than I expected going in.
  • Given a list of firewall rules in CIDR notation, each marked as allow or deny and evaluated in order with first match winning, write a function that determines whether a given IP address is allowed or blocked. Then discuss how you'd make the lookup efficient.

“I got the basic first-match logic down pretty quick but then they pushed on efficiency and I fumbled a bit.”

View Post

Databricks·Software Engineer·Technical Phone Screen

Jun 2026
Databricks SWE interview with a system design-flavored coding question about a hit counter. No code required, just the design reasoning, which honestly threw me off a little because I kept wanting to just write the solution.
  • Design a HitCounter class that tracks how many hits occurred in the last 5 minutes. It needs two operations: recording a hit at a given timestamp, and querying the total hits in the past 300 seconds. Timestamps are strictly increasing. Describe the data structures and algorithm you'd use, and analyze time and memory complexity.

“My first instinct was a queue, just push timestamps on hit and pop anything older than 300 seconds on getHits.”

View Post