← Back to Directory

Databricks interview notes, page 8 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·Software Engineer·Technical Phone Screen

May 2026
Got a technical scenario question for a data engineer role at Databricks, focused on SQL endpoint performance. Pretty focused interview, just one meaty problem to work through.
  • A single user is experiencing slow query performance on a Databricks SQL endpoint, and every query they run sequentially is affected. No other users are on the endpoint. How do you diagnose and fix the latency?

“The single-user constraint is what threw me a bit.”

View Post

Databricks·Software Engineer·Onsite - Coding / Algorithms

May 2026
Databricks system coding round where they asked me to implement a Key-Value Cache with a Write-Ahead Log. Pretty involved for a single session and I left unsure how well I'd done.
  • Implement a Key-Value Cache that uses a Write-Ahead Log (WAL) for durability.

“This is more involved than a plain LRU cache question.”

View Post

Databricks·Software Engineer·Hiring Manager Screen

May 2026
Hiring manager screen for an infra role at Databricks. Pretty standard format: they intro the team, you walk through your background, and then they pick something you said and dig in. The follow-up is where it gets real.
  • Walk me through the infrastructure work you've done previously, including the systems you owned, the scale you operated at, and your specific contributions.
  • You mentioned [specific item from your intro]. Can you go deeper on that?

“Three to five minutes sounds short until you're actually in it and realize you're rambling about tech choices nobody asked about.”

View Post

Databricks·Software Engineer·Onsite - System Design / Architecture

May 2026
System design round at Databricks for a software engineering role. The problem was a price-watching service for books, which sounds manageable until you start thinking through the scale and timing constraints.
  • Design a book price-watching system where users set a target price and a time window (like 24 hours), the system polls multiple bookstores for price updates, and automatically purchases the book if the price drops to or below the target.

“I started with the obvious stuff: a job scheduler polling each bookstore's API on some interval, a database of user requests with expiry timestamps, and a comparison step that triggers a purchase.”

View Post

Databricks·Software Engineer·Technical Phone Screen

May 2026
Databricks full-stack round that was basically a DP deep-dive disguised as a file system problem. Not what I expected going in.
  • Given a list of file path strings that may share common prefixes, design an encoding scheme that minimizes total encoded length by exploiting shared structure. Define the DP state precisely over sorted paths and prefix length, and analyze time and space complexity.

“This one took me a minute to even parse what they were asking.”

View Post

Databricks·Software Engineer·Technical Phone Screen

May 2026
Databricks SWE interview with a system design coding problem that blends data structures with metrics tracking. The problem looked like a simple key-value store until the QPS window query came in and things got interesting fast.
  • Design an in-memory key-value store that supports PUT and DELETE operations, and can also return the average queries per second over a variable-length recent time window ending at a given timestamp.

“The key-value part was fine, I knocked that out pretty quick.”

View Post

Databricks·Software Engineer·Technical Phone Screen

May 2026
Databricks data engineer interview with a scheduling/dependency scenario question. Pretty focused on practical pipeline reliability rather than anything algorithmic.
  • You have two nightly jobs where the second depends on the first. The first is scheduled at midnight and usually finishes in 20 minutes, so the second is set to kick off at 12:30 AM. But sometimes the first job runs long and the second fails. How do you fix this?

“My first instinct was to just say 'add a buffer, schedule it at 1 AM' which is obviously wrong because you're just pushing the same problem further down the road.”

View Post

Databricks·Software Engineer·Onsite - System Design / Architecture

May 2026
Databricks system design round, one question the whole time: a hit counter. Sounds straightforward but they pushed pretty hard on the concurrency angle at the end, which I was not fully ready for.
  • Design a hit counter that can record hits and return the total number of hits in the past 300 seconds. The hit(timestamp) and getHits(timestamp) functions receive monotonically non-decreasing timestamps in seconds. Walk through your design choices and how you'd handle scale.

“I went straight to the circular array with 300 buckets, which is the move, but I fumbled explaining why you reset a bucket when the timestamp gap exceeds 300.”

View Post

Databricks·Software Engineer·Onsite - Coding / Algorithms

May 2026
Databricks SWE interview threw a pretty gnarly tree problem at me. The whole thing revolves around Fibonacci trees and navigating them implicitly since the tree can have trillions of nodes. Solid algorithmic challenge, probably onsite-level difficulty.
  • Given a Fibonacci tree of order k (defined recursively where T(k) has T(k-1) as left subtree and T(k-2) as right subtree), nodes are numbered in preorder from 1 to size(k). For two given node indices a and b, return the sequence of preorder indices along the simple path from a to b. The tree can be astronomically large so you cannot build it explicitly.

“This one took me a while to even parse.”

View Post

Databricks·Software Engineer·Technical Phone Screen

May 2026
Databricks SWE interview with a pretty gnarly networking/algorithms problem. The kind of question that sounds manageable until you're actually implementing CIDR subtraction on a whiteboard.
  • Given a target CIDR block and an ordered list of allow/deny CIDR rules, determine whether the target is fully covered by allow rules. Processing must stop immediately on any deny overlap, and allow rules should subtract their overlapping portion from the target. Return true only if the target ends up completely covered.

“This one required actually implementing CIDR intersection and then subtraction, which can split a block into multiple smaller CIDRs.”

View Post