← Back to Directory

Databricks interview notes, page 2 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·Onsite - System Design / Architecture

Apr 2026
Databricks system design round, full Slack clone from scratch. The scope was brutal and I definitely underestimated how deep they wanted to go on fan-out and presence.
  • Design a Slack-like team messaging service with workspaces, public and private channels, direct messages, real-time delivery, message history, presence, typing indicators, file attachments, search, and notifications.
  • How would you handle message ordering and storage at scale for a high-volume messaging system?
  • How would you design the presence service to track which users are online across millions of concurrent connections?
  • How would you scale fan-out for very large channels, say tens of thousands of members receiving the same message simultaneously?
  • How would you build search across message history for a system with billions of messages?
  • Walk through your API design for core messaging operations like sending a message, fetching history, and managing channel membership.

“I started with the API layer and felt okay there, but the moment they pushed on persistent connections I got a bit shaky.”

View Post

Databricks·Software Engineer·Technical Phone Screen

Apr 2026
Databricks coding round, one question but it had a twist I didn't fully see coming. The base version of the problem I knew, but they pushed further and that's where things got interesting.
  • Given two strings s1 and s2, find all starting indices in s2 where the substring of length |s1| is an anagram (permutation) of s1. Return every such index.

“I knew the permutation-in-string problem so the setup felt familiar, but returning all matches instead of just true/false tripped me up for a minute.”

View Post

Databricks·Software Engineer·Onsite - System Design / Architecture

Apr 2026
System design round at Databricks for a software engineer role. The prompt was a full-scale global card payment network, think Visa, and it covered pretty much everything you can imagine from authorization flows to chargebacks. Dense question, lots of surface area.
  • Design a global card payment system similar to Visa, covering the full lifecycle from authorization through clearing and settlement, and including actors like the cardholder, merchant, acquiring bank, card network, and issuing bank.
  • How would you handle idempotency for payment requests in a distributed system where retries are common?
  • How would you prevent double-spend in a high-throughput payment network?
  • How do you design for multi-region availability and consistency given the strict latency requirements for card authorization, roughly a few hundred milliseconds end to end?
  • Walk through how you'd handle reconciliation, chargebacks, and refunds in this system.

“This thing sprawled in every direction.”

View Post

Databricks·Software Engineer·Technical Phone Screen

Apr 2026
Databricks SWE interview that was heavier on system design fundamentals than I expected. The whole session basically revolved around building a cache from scratch and then defending every design choice you made.
  • Design and implement an in-memory key-value cache supporting put(key, value), get(key), and hit_count(key), where hit count only increments on successful gets. Optionally add a fixed capacity with an eviction policy.
  • Walk through the expected time complexity for each operation and explain which data structures you'd use to achieve O(1) for put, get, and hit_count.
  • Compare LRU and LFU eviction policies, specifically in the context of a cache that also needs to expose accurate hit counts per key.

“Started with the basic HashMap approach which was fine, but the hit_count requirement tripped me up a little because I initially stored it separately and then had to reconcile that with eviction.”

View Post

Databricks·Software Engineer·Technical Phone Screen

Apr 2026
Interviewed for a Software Engineer role at Databricks and got burned by going in with assumptions. One coding question, one rejection.
  • Implement a snapshot iterator. The iterator does not need to preserve the original insertion order of elements.

“I'd seen this question before and immediately locked in on order-preservation because every writeup I'd read made that sound like a hard requirement.”

View Post

Databricks·Software Engineer·Technical Phone Screen

Apr 2026
Databricks technical phone screen with a networking/systems-flavored coding problem. The question was more involved than I expected for a phone round, basically a mini firewall simulator with a tricky edge case around CIDR block queries.
  • You're given an ordered list of firewall rules, each associating a CIDR range with either 'allow' or 'deny'. First matching rule wins. Given a query that can be either a single IP or a CIDR block, determine whether it's allowed or denied. For CIDR block queries, you need to handle partial overlaps and return 'mixed' if some IPs in the block would be allowed and others denied.

“The single IP case came together fast.”

View Post

Databricks·Software Engineer·Technical Phone Screen

Apr 2026
Interviewed for a data engineer role at Databricks. One technical question about Delta Lake, which makes sense given the company but still felt like they wanted to see how deep you'd actually go rather than just recite a definition.
  • What is Delta Lake? Explain what it is, when you'd choose to use it, and whether you've worked with it directly.

“I knew the basics well enough but the 'when to use it' part is where I stumbled a bit.”

View Post

Databricks·Software Engineer·Technical Phone Screen

Apr 2026
Databricks software engineering interview with a networking/IP routing problem that looked approachable on the surface but had a lot of hidden depth once you got into the weeds of prefix matching and data structures.
  • Given a list of CIDR rules (each pairing a network range with an 'allow' or 'deny' action), write a function that takes an IPv4 address and returns whether it is allowed or denied, using longest-prefix-match semantics and a defined default when no rule matches.

“I knew what CIDR was but hadn't implemented it from scratch, so parsing the dotted-quad into a 32-bit integer took me longer than it should have.”

View Post

Databricks·Software Engineer·Technical Phone Screen

Apr 2026
Databricks SWE interview that was mostly a system design / coding hybrid. The main problem was a hit counter, which sounds trivial until you actually have to think through concurrency and stale data at the same time.
  • Design a hit counter that supports two operations: recording a hit at a given timestamp, and returning the total number of hits in the past 300 seconds. Timestamps are guaranteed to be non-decreasing.
  • How would you modify this hit counter to handle high concurrency safely?

“I went straight to the circular array approach, 300 buckets, index by timestamp mod 300, reset stale buckets on write.”

View Post

Databricks·Software Engineer·Technical Phone Screen

Apr 2026
Databricks SWE interview with a grid pathfinding problem that sounds straightforward until you realize they want you to reason through multiple algorithmic approaches and justify your choices. Felt more like a design discussion than a pure coding round.
  • Given an m x n grid where each cell has a non-negative cost, a source cell, and a destination cell, find the minimum cost path from source to destination. You can move to any of the four adjacent cells. The path cost is the sum of all cell costs visited, including source and destination.

“I started with BFS and they immediately asked what happens when costs aren't uniform.”

View Post