← Back to Directory

Databricks interview notes, page 22 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·Data Scientist·Technical Phone Screen

Jul 2026
Databricks data scientist interview with a meaty technical question on evaluation metrics. Just one question but it had six sub-parts and they clearly wanted you to go deep, not just recite definitions.
  • You've trained a binary classifier that outputs predicted probabilities. Walk through ROC-AUC vs PR-AUC: what each curve actually plots, how class imbalance affects them, when they disagree, which you'd prefer for model selection, how you'd think about it if the business goal is catching as many positives as possible within a fixed review budget, and what practical pitfalls exist with either metric.

“This is the kind of question where you think you know it and then halfway through you realize you're just reciting things you memorized.”

View Post

Databricks·Software Engineer·Recruiter / HR Screen

Jul 2026
Behavioral screen for a software engineering role at Databricks, basically just a walk me through your background question. Pretty standard stuff but I fumbled a bit trying to tie everything together into a coherent story.
  • Walk me through your background, covering your most relevant roles, the technologies you worked with, the scale of systems you built, and the impact you had. What drove each career move, and why does this role fit where you want to go?

“This is the kind of question that feels easy until you're actually in it.”

View Post

Databricks·Software Engineer·Onsite - System Design / Architecture

Jul 2026
Databricks system design round focused on concurrency in a key-value store and hit counter. The depth they expected was pretty serious, way beyond just naming mutex vs rwlock.
  • Given a key-value store and a hit counter running under concurrent access, identify the race conditions that could arise, propose thread-safety mechanisms ranging from coarse-grained locks to lock-free designs, discuss the correctness and performance trade-offs of each approach, and explain how you would test and validate the concurrency behavior.

“I started with the obvious stuff, coarse lock over the whole map, then moved to read/write locks since reads dominate in a hit counter scenario.”

View Post

Databricks·Software Engineer·Onsite - System Design / Architecture

Jul 2026
Databricks system design round focused entirely on building a versioned, snapshot-capable set data structure from scratch. The question had a lot of moving parts and the design discussion went deep fast.
  • Design a SnapshotSet data structure supporting add, remove, contains, snapshot (returning a snapshot ID), and iterate over a past snapshot. It needs to handle many concurrent snapshots while the live set keeps changing, with O(log n) updates and O(1) amortized iterator next.
  • Walk through the memory usage and snapshot reclamation strategy for your design. How do you free memory from old snapshots that are no longer referenced?
  • What are the trade-offs between copy-on-write, a persistent balanced tree, and versioned hash buckets for this use case?
  • Describe the unit tests you would write for this data structure, specifically covering an empty set, deletions before and after a snapshot, and concurrent mutation during iteration.

“This one sprawled in ways I didn't expect.”

View Post

Databricks·Software Engineer·Technical Phone Screen

Jul 2026
Databricks SWE interview threw a full codec design problem at me, streaming compression with RLE and bit-packing. More involved than I expected for a single session, felt like a take-home crammed into live coding.
  • Design and implement a streaming integer codec that supports two encoding strategies: run-length encoding for repeated values and bit-packed encoding for variable values. The encoder receives values one at a time and must decide per block which strategy to use.
  • Define the exact in-memory structure for both RLE and bit-packed blocks, including how the bit-packed payload is stored and how bit-width is determined per block.
  • Implement the Decoder as an iterator that reconstructs the original integer sequence from a list of encoded blocks, handling both RLE and bit-packed block types correctly.
  • Write unit tests covering: sequences with no repeats, long single-value runs, alternating RLE and bit-packed patterns, edge values like Integer.MAX_VALUE and Integer.MIN_VALUE, and the empty input case.

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

View Post

Databricks·Backend Engineer·Technical Phone Screen

Jul 2026
Databricks backend round, pretty algorithmic in nature. The main problem was a sliding window thing and then they pivoted to a system design follow-up that I was not expecting at all.
  • Given two strings, find the starting index of the first substring in the first string that is an anagram of the second string. Return -1 if none exists.
  • How would your approach change if the input text was extremely large, streamed in chunks, or spread across multiple machines?

“Knew immediately it was a sliding window with frequency counts.”

View Post