Databricks interview rundown

Databricks coding interviews

What the rounds look like, the kinds of problems people get, and what to study first.

From public guides and candidate reports · Reviewed November 2026 · Independent, not affiliated with Databricks

What the rounds are like

StageWhat people usually describe
Coding screenOne problem, about 60 minutes, often harder than most phone screens
Onsite codingBuild something that runs and passes test cases

Interviewers often push for a faster version or add constraints once you're done, so leave a little time at the end. One candidate said a round was graded more on clear reasoning and readable code than on the best runtime.

What people have been asked

These come up in candidates' own write-ups of their interviews. New-grad screens have also had House Robber and its circular follow-up. We wrote the example prompts ourselves, so the wording you get will be different.

Find paths in a Fibonacci tree

Navigate a tree that's built recursively and find paths between nodes using their labels. Reports differ on which side gets order k-1, so confirm with your interviewer.

The tree can be far too big to build, so you have to work things out from its structure.

How it might be asked

A Fibonacci tree of order k is a root with a left subtree of order k-2 and a right subtree of order k-1. Nodes are numbered in preorder. Given the order and a node's number, return the path from the root to that node.

Key concepts to know

Try this Interview

Build a compression encoder

Write an encoder and decoder that use run-length encoding and bit packing.

Getting the format exactly right and handling edge cases matters more than clever algorithms.

How it might be asked

Write an encoder and decoder for a list of integers. Use run-length encoding for repeated values and bit packing for the rest, and make sure decoding gives back exactly the original list.

Key concepts to know

Try this Interview

A set you can snapshot

Build a set with normal operations, plus iterators that see the set as it was when they were created.

Iteration has to be in order, so a built-in set won't do, and the interviewer may push you to make snapshot reads faster.

How it might be asked

Build a set with add, remove and contains, plus iterator(), which returns an iterator over the set as it was at that moment, in sorted order. Later adds and removes mustn't change what an existing iterator returns.

Key concepts to know

Try this Interview

IP firewall with CIDR rules

Decide whether an IP is allowed by an ordered list of ALLOW and DENY rules, then handle whole ranges.

You need to be comfortable turning IPs into numbers and masking bits. The range follow-up means you can't just check one address at a time.

How it might be asked

You get a list of firewall rules. Each one is ALLOW or DENY with a CIDR block like 192.168.1.0/24, and the first rule that matches wins. Write a function that says whether an IP is allowed. Then say whether every address in a given CIDR block is allowed.

Key concepts to know

Try this Interview

How to approach a problem

  1. Say it back and ask questions. How big is the input? What are the edge cases? What should you return?
  2. Start with brute force. Say it out loud with its complexity so you've got something to beat.
  3. Figure out what it really is. Is this secretly a graph? Would sorting help? Do the same subproblems keep coming up?
  4. Write it and test it. Walk through an example, then try the weird cases.

Key concepts to know

Sources