Snowflake Software Engineer interview questions

118 Software Engineers have shared notes from their Snowflake interviews, with the questions they were asked in each round. That is 87% of the 135 Snowflake interview notes on Screna AI.

118 Software Engineer interview notes

Snowflake·Software Engineer·Technical Phone Screen

Jul 2026
Snowflake SWE interview with two coding problems back to back. The graph one was manageable but the rate limiter problem had a tricky sliding window constraint that took me a while to reason through cleanly.
  • Given n courses and a list of prerequisite pairs, determine whether it's possible to complete all courses (i.e., detect if the prerequisite graph contains a cycle).
  • Follow-up on the course scheduling problem: if it is possible to finish all courses, what is the minimum number of semesters needed, given that you can take any number of courses per semester as long as prerequisites are satisfied?
  • You're given a non-decreasing array of request timestamps. A rate limiter drops a request if it exceeds 3 requests at the same timestamp, or if processing it would push the count of processed requests in any 10-second sliding window above 20. Return the timestamps of all dropped requests in order.

“Classic cycle detection in a directed graph.”

View Post

Snowflake·Software Engineer·Onsite - System Design / Architecture

Jul 2026
Snowflake SWE interview focused on building a document storage service from scratch, starting with basic insert and search APIs, then scaling into distributed systems territory. Solid design problem that had more depth than I expected going in.
  • Design a document storage service with InsertDoc(filename, content) and CheckContains(filename, predicate) APIs, where the predicate supports boolean keyword expressions with && and || operators and operator precedence rules.
  • Extend the service with a GetAllFiles(predicate) API that returns all filenames whose documents match a given boolean keyword expression.
  • How would you scale this document service in a distributed environment? Describe a sharding strategy and a replication policy.

“The insert part was fine, basically just a hashmap from filename to content.”

View Post

Snowflake·Software Engineer·Onsite - Behavioral / Leadership

Jul 2026
Behavioral round at Snowflake for a software engineer role covering three classic prompts back to back: proudest project, a conflict, and a failure. The interviewer wanted specific first-person stories with real decisions and numbers, not team narratives.
  • Tell me about the project you're most proud of. What was your specific role, what was the hardest problem you personally solved, and what was the measurable impact?
  • Describe a significant disagreement you had with a coworker, another team, or a manager. How did you handle it and what came of it?
  • Tell me about a time you failed. What happened, what was your role in it, and what did you actually change afterward?
  • Looking across all three stories you shared, what pattern do you see in the kind of work and environment where you do your best?

“I overthought which project to pick and landed on something technically impressive but where my individual contribution was honestly a bit blurry.”

View Post

Snowflake·Software Engineer·Technical Phone Screen

Jul 2026
Snowflake SWE interview that was basically three connected problems about error detection and failure propagation. The sub-problem structure felt clever at first but by part C I was running on fumes.
  • You have a chronologically ordered log array where each line starts with '[Info]', '[Warn]', or '[Error]'. Once an '[Error]' appears, all subsequent lines are also errors, and there's at least one '[Warn]' right before the first error. Find the index of the first '[Error]' using as few reads as possible. What do you return if no error exists?
  • Given a directed service dependency graph where an edge U to V means U calls V, and given the ID of the first failing service, find all services that will eventually fail due to cascading upstream failures.
  • Using the same graph and initial failing service, find one of the longest possible chains of cascading failures starting from that service. State your assumptions about cycles and justify them.

“Binary search, obviously, but I fumbled explaining why the guarantees matter.”

View Post

Snowflake·Software Engineer·Technical Phone Screen

Jul 2026
Snowflake software engineer interview with a graph traversal problem. Pretty standard BFS setup but the edge cases tripped me up more than I expected.
  • Given a start and target wiki page URI, implement a function that returns the minimum number of clicks (link hops) to get from one to the other. You have access to an API that returns all outgoing links from a given page. Return 0 if they're the same page, -1 if unreachable.

“My first instinct was DFS and I'm glad I caught myself before coding it up because that would've been wrong.”

View Post

Snowflake·Software Engineer·Technical Phone Screen

Jul 2026
Quick Snowflake SWE coding round, just one problem but with a twist thrown in at the end that I wasn't fully prepared for.
  • Given a list of intervals that are NOT sorted in increasing order, merge or process them accordingly (a variant of the classic interval problem with unsorted input).

“The interviewer just dropped this on me right after the previous problem, no warmup.”

View Post

Snowflake·Software Engineer·Onsite - System Design / Architecture

Jul 2026
System design round at Snowflake for a software engineering role. The whole session was basically one big crawler question with a lot of follow-ups packed in, and they clearly wanted to see if you'd thought through the messy real-world stuff, not just the happy path.
  • Design and implement a web crawler that starts from a given URL, uses an interface to fetch outgoing links, and returns all pages under the same hostname without revisiting any URL. You also need to support a configurable concurrency limit.
  • How do you ensure thread-safe deduplication when multiple workers are crawling concurrently?
  • How would you handle URL normalization to avoid treating the same page as different URLs?
  • How would you implement politeness in the crawler, including rate limiting and respecting robots.txt rules?
  • How would you handle errors during crawling, such as failed fetches or unreachable pages?
  • How would you test this crawler for both correctness and performance?

“This is the kind of question that feels manageable until you actually start talking through it.”

View Post

Snowflake·Software Engineer·Onsite - System Design / Architecture

Jul 2026
System design round at Snowflake for a software engineer role, centered entirely on one gnarly distributed systems problem. The scope was massive and I definitely didn't cover everything they wanted, but it was a genuinely interesting problem to think through.
  • Design a global, multi-tenant quota service where multiple upstream products share a single per-user quota. The system must support consuming, releasing, and querying quota, while never allowing overdraft, and must scale to millions of daily active users.

“This one ate me alive a little.”

View Post

Snowflake·Software Engineer·Technical Phone Screen

Jul 2026
Snowflake software engineer interview with a pretty focused algorithmic problem around binary trees. The question had enough layers to it that I kept second-guessing my approach the whole time.
  • Given two complete binary trees with identical structure, update each node in the second tree so its value equals the sum of all values in the subtree rooted at the corresponding position in the first tree. The solution must run in linear time and use at most O(h) extra space where h is the tree height.

“My first instinct was a straightforward recursive postorder traversal, compute subtree sums in tree one and assign them to tree two simultaneously.”

View Post

Snowflake·Software Engineer·Technical Phone Screen

Jul 2026
Snowflake coding interview with a string manipulation problem that looks deceptively simple but has a few layers to it. The palindrome-via-swaps angle threw me a bit.
  • Given a string containing only two distinct characters, determine if it can be rearranged into a palindrome using only adjacent swaps. If yes, return the minimum number of adjacent swaps needed; otherwise return -1.

“I got the feasibility check pretty fast (odd-length strings can have one character with an odd count, even-length need both even) but the minimum swap part is where I started fumbling.”

View Post