Snowflake Coding Interview Questions
These are the 87 Snowflake coding interview questions AceOffer has reconstructed from candidate reports, sorted by how often each was reported. Course Schedule / Prerequisites / Task Completion / Topological Sort leads at 16×. Every question shows when it was last reported; the catalog refreshes monthly.
Key facts
- •87 distinct coding questions indexed
- •194 candidate reports across those questions
- •Most reported: Course Schedule / Prerequisites / Task Completion / Topological Sort — 16× (last seen August 2026)
- •Refreshed monthly · last updated September 2026
Which Snowflake rounds ask coding questions?
Snowflake draws coding questions from the rounds below. Counts are distinct questions, not times asked.
Most reported: Course Schedule / Prerequisites / Task Completion / Topological Sort — 16×
Most reported: Tax Calculation — 4×
Most reported: Dynamic Programming OA Problems — 2×
Which Snowflake coding questions get asked most?
Sorted by candidate-report frequency. Click any question for the full breakdown.
| Question | Round | Reported | Last seen |
|---|---|---|---|
| Course Schedule / Prerequisites / Task Completion / Topological Sort You are given a list of courses (or tasks) with prerequisite/dependency relationships forming a directed graph. Core questions asked across variants include:… | Phone Screen | 16× | August 2026 |
| Closest Cake / Minimum Distance Between People and CakesFree You are given a 1D array where each element is 0 (empty), 1 (person), or 2 (cake). Part 1 (base): Find the… | Phone Screen | 12× | July 2026 |
| Tree Max Height After Node Deletion You are given an n-ary tree (not necessarily binary) and a list of node IDs to delete. When a node is deleted,… | Phone Screen | 11× | September 2026 |
| Key-Value Store Implementation Implement a key-value store class supporting core CRUD operations: get(key), set/put(key, value), update(key, value), and delete/remove(key). The problem typically extends in multiple… | Phone Screen | 10× | July 2026 |
| Role Permission with Inheritance and Deny Rules You are given a role hierarchy represented as a directed acyclic graph (DAG). Roles are numbered 0 to n-1. An array grants… | Phone Screen | 8× | August 2026 |
| Binary Tree Node Sum Given two complete binary trees with identical structure (same number of nodes, same topology), modify each node in the second tree so… | Phone Screen | 7× | July 2026 |
| N-ary Tree Node Count via Distributed Message Passing You are given an N-ary tree where each node is an independent distributed process running on a different host. Nodes can only… | Phone Screen | 7× | July 2026 |
| Top K Frequent Elements Given a collection of elements (search words, hashtags, book titles, event keys, etc.) each associated with a count or frequency, find the… | Phone Screen | 6× | August 2026 |
| Connect Four / Four-in-a-Row Game Implement a Connect Four (four-in-a-row) game on an m×n board. The core problems seen across reports are: 1. Win detection (canPlayWin /… | Phone Screen | 5× | September 2026 |
| Binary Search on Sorted/Log Data A collection of coding problems centered on binary search, observed in Snowflake phone screens. The most concrete variant: given a log history… | Phone Screen | 5× | July 2026 |
| Wiki Page Shortest Path / BFS Traversal Given a start wiki/web page and a target wiki/web page, find the minimum number of clicks (hops) needed to navigate from the… | Phone Screen | 4× | September 2026 |
| Rate Limiter Design Design and implement a rate limiter. In the most concrete variant: given an array where each index corresponds to a request ID… | Phone Screen | 4× | August 2026 |
| Tax CalculationFree Design and implement a class (OOP/OOD style) that calculates the amount of tax paid given a progressive (bracket-based) tax rate system. You… | Coding | 4× | June 2026 |
| Merge Two / K Sorted Arrays or Lists Given two sorted arrays (or linked lists), merge them into a single sorted array/list. Follow-up: generalize to merging K sorted arrays/lists into… | Phone Screen | 3× | September 2025 |
| Graph K-Colorability / Three-Color Graph Coloring Given an undirected graph represented as a list of nodes (locations) and a list of adjacency tuples (edges), determine whether the graph… | Phone Screen | 3× | July 2026 |
| Nearest Bathroom to Each Desk (multi-source BFS grid) Given a 2D grid where cells are labeled B (Bathroom), D (Desk), or _ (empty space), find the shortest distance from each… | Phone Screen | 3× | April 2026 |
| Find Anagrams in String/Array Given two arrays of strings (or a string and a pattern string), find all anagrams of the target(s) within the source and… | Coding | 3× | June 2025 |
| Event Timestamp Tracking with Time-Range Counting Design a system to process a stream of events. In the base version, implement two functions: (1) Receive(event_type, timestamp) — ingests an… | Phone Screen | 2× | August 2026 |
| Implement Event Emitter Implement a JavaScript EventEmitter class (or object) that supports the following methods: - subscribe(eventName, callback): Register a callback function to be called… | Phone Screen | 2× | March 2026 |
| Design In-Memory File System Design an in-memory file system that supports basic file system operations. This is based on LeetCode 588. You are required to implement… | Phone Screen | 2× | December 2025 |
| Binary Tree Shortest Path Between Two Nodes Given a binary tree (or graph of linked nodes), find the shortest path between two given nodes. In one variant: given any… | Phone Screen | 2× | April 2026 |
| Minimum Distance in Matrix (BFS Pathfinding) Given an m×n matrix containing 0s and 1s, find the minimum distance (number of steps) from a start cell (sr, sc) to… | Phone Screen | 2× | June 2026 |
| Sliding Window Problem A sliding window problem appearing in Snowflake phone screens. The most detailed variant described involves finding all-vowel substrings within a given string,… | Phone Screen | 2× | August 2025 |
| LeetCode Hard DP Problem A LeetCode Hard-difficulty dynamic programming problem posed during a Snowflake phone screen / OA. The exact problem statement is not fully recoverable… | Phone Screen | 2× | October 2025 |
| Happy Number (LC 202) Given a positive integer n, determine whether it is a 'happy number'. A happy number is defined by the following process: starting… | Coding | 2× | June 2026 |
| Snowfall / SnowCal Calculation Problem Implement an interpreter for 'SnowCal', a simple programming language that keeps a single integer X in memory (initially 0) and supports the… | Coding | 2× | July 2026 |
| Expression Evaluator / Simple Calculator Implement a simple calculator / expression evaluator. In one observed variant, you are given a series of string commands such as 'ADD… | Coding | 2× | February 2026 |
| JSON Parser Implement a JSON parser (or JSON validator) that handles the following element types: - number: non-negative integer, leading zeros allowed (e.g., '004'… | Coding | 2× | June 2026 |
| Copy List with Random Pointer (LC 138) Given a singly linked list where each node contains two pointers — 'next' pointing to the next node and 'random' pointing to… | Coding | 2× | August 2026 |
| Dynamic Programming OA ProblemsFree A set of dynamic programming problems commonly appearing in Snowflake and similar companies' OAs (HackerRank format, Java or C++ only). Reported problems… | OA | 2× | March 2025 |
| SQL: Employees Who Completed Projects Lasting >90 Days Given a database with employee and project information, write a SQL query to return the names of employees who have ever completed… | Phone Screen | 1× | June 2026 |
| Sliding Window: Users with 3+ Accesses within 60 Minutes Given a list of LogEntry objects, each containing a UserId and a Time, find and return all users who have accessed the… | Phone Screen | 1× | May 2025 |
| Two Sum (Trie Approach with Unbounded Alphabet) Solve the classic Two Sum problem, then extend the solution using a Trie data structure. The Trie implementation must not assume a… | Phone Screen | 1× | March 2025 |
| Implement Trie (Prefix Tree) Implement a Trie (prefix tree) data structure supporting insert, search, and startsWith operations. In a variant observed in this interview, the Trie… | Phone Screen | 1× | August 2025 |
| Parentheses Matching Given a string containing parentheses, determine whether the parentheses are balanced (valid). The base version uses only '()'. The follow-up… | Phone Screen | 1× | August 2025 |
| Word Pattern Matching / Word Storage API with Pattern Matching This question has two parts: Part 1 – Pattern Matching: Given a word (string of letters) and a pattern consisting of letters… | Phone Screen | 1× | May 2025 |
| Binary Tree Inorder Traversal (Space Optimization) Implement inorder traversal of a binary tree (LeetCode 94). First, produce a correct solution with O(n) time and O(n) space (e.g., using… | Phone Screen | 1× | June 2025 |
| Word/Sequence Transformation (BFS) Given a classic single-word transformation problem (e.g., transform one word into another by changing one letter at a time, where each intermediate… | Phone Screen | 1× | May 2025 |
| Maximum Number of Events That Can Be Attended Given an array of events where each event is represented as [startDay, endDay, value], and an integer k (maximum number of events… | Phone Screen | 1× | June 2026 |
| HTML/CSS: Implement Shapes and Flexbox Alignment Implement several common CSS visual elements from scratch: rectangular blocks, circles, and rounded-corner blocks (border-radius). Demonstrate knowledge of Flexbox alignment properties… | Phone Screen | 1× | April 2025 |
| Password Storage System Design Given a simple pre-described system for storing user passwords, analyze the design: identify system bottlenecks and discuss how to address them. The… | Phone Screen | 1× | June 2026 |
| Graph Privilege Inheritance with BFS Given N nodes, each associated with a privilege allowlist and a blocklist, and a list of directed edges [A, B] meaning 'B… | Phone Screen | 1× | May 2025 |
| Full Completed Balanced Tree Variant A variant of LeetCode 545 (Boundary of Binary Tree) where the condition is modified: instead of finding the boundary of a binary… | Phone Screen | 1× | February 2026 |
| LRU Cache Implement an LRU (Least Recently Used) Cache that supports two operations: get(key) — return the value of the key if it exists… | Phone Screen | 1× | August 2025 |
| Implement Debounce Implement a JavaScript debounce utility function. The function should take a callback function and a delay (in milliseconds) as arguments, and return… | Phone Screen | 1× | April 2025 |
| Path Deletion and Filtering with Trie Given a string array representing hierarchical paths (e.g., ['California', 'California/San Francisco', 'California/San Francisco/7th Street']) and a second array of paths to delete… | Phone Screen | 1× | July 2025 |
| N Queens Place N queens on an N×N chessboard such that no two queens attack each other (no two queens share the same row,… | Coding | 1× | June 2025 |
| Sort Colors / In-place Array Swap You are given a RecordCollection class that contains a list of Color objects, where each color is encoded as an integer: 0… | Coding | 1× | June 2026 |
| Minimum Window Substring Variant Given a document string (containing arbitrary characters: letters, digits, punctuation, etc.) and a list of target words (plain words, no punctuation), perform… | Coding | 1× | July 2025 |
| Task Priority Queue with Execution Tracking Implement a class (OO design) with two methods: 1. addTask(taskId, priority, timestamp) — adds a task to a queue. The same taskId… | Coding | 1× | August 2026 |
| Remove Duplicates from Grid You are given an m×n grid representing a Connect-4-style game board (initially all zeros). Implement two methods: 1. drop(color, col): Drop a… | Coding | 1× | May 2025 |
| Mountain Height Problem Given a mountain (peak/elevation) structure, calculate the height or maximum elevation. A commenter in the source thread asked what this question was… | Coding | 1× | April 2025 |
| Employee Contribution Per Project and Promotion Ranking Given a dataset of employee project contribution records, compute each employee's contribution per project, then sort/rank employees to identify who should be… | Coding | 1× | March 2025 |
| DFS to Find Longest Error Call Chain This is the third part of a multi-part problem set. Given a directed graph representing service dependencies (provided as an adjacency list,… | Coding | 1× | July 2025 |
| Test Pipeline Optimization You are given a test pipeline consisting of three test jobs: - Test_Job1: executes a build phase, then runs test_a, test_b, test_c… | Coding | 1× | July 2025 |
| SQL Database Engine with Virtual Functions Implement a SQL database engine using virtual functions (C++ or similar OOP language). The task involves designing and implementing query operators (e.g.,… | Coding | 1× | May 2026 |
| Reverse Alphanumeric Substrings Given a string, reverse only the consecutive alphanumeric substrings (substrings consisting solely of English letters and digits) in-place, while preserving all other… | Coding | 1× | June 2026 |
| Pathfinding with Add/Duplicate/Split Operations Given two positive integers a and b, implement a function that outputs any valid path (sequence of operations) transforming a into b.… | Coding | 1× | June 2026 |
| Minimum Coins for Payment with Change Given an infinite supply of coins with denominations [1, 5, 10, 50, 100, 200], find the minimum total number of coins needed… | Coding | 1× | February 2026 |
| LeetCode 295: Find Median from Data Stream Design a data structure that supports two operations on a stream of integers: (1) addNum(int num) — add an integer to the… | Coding | 1× | May 2025 |
| String Validation with Dot Delimiters Given an input string that may contain dots ('.') as delimiters between segments, determine whether the string is valid according to a… | Coding | 1× | March 2025 |
| Meeting Rooms / Minimum Buses for Schedule Given a list of bus schedules, each represented as a (departure_time, arrival_time) pair, find the minimum number of buses needed to serve… | Coding | 1× | September 2026 |
| Virtual Warehouse Query Type Selection for Profit Maximization You are the Snowflake CEO managing a virtual warehouse. You are given n query types, each with different characteristics (e.g., execution time,… | Coding | 1× | January 2026 |
| Recipe Matching from Ingredient Sequence Given a sorted/ordered ingredient list of n elements and a set of recipe specifications, where each recipe is defined as a consecutive… | Coding | 1× | January 2026 |
| In-Memory Database for Thermostat Device with Range Queries Design a backend in-memory database to store temperature readings from a thermostat device. Each reading is a pair of [timestamp (format: YYYY-MM-DD… | Coding | 1× | January 2025 |
| Web Server with Document Predicate Checking Design a web server that manages a collection of documents and exposes two core APIs: 1. InsertDoc(filename): Inserts/registers a document (by filename)… | Coding | 1× | April 2026 |
| Throne Inheritance Implement a Throne Inheritance system using OOP. The system models a royal family where a King is the root, and inheritance follows… | Coding | 1× | September 2026 |
| Tree Pre-Order Traversal with Marked Invalid Nodes Given a list of edges representing a tree, and a set of nodes marked as invalid/failed, compute the pre-order traversal of the… | Coding | 1× | December 2025 |
| Valid Tic-Tac-Toe State (Extended) An extended version of LeetCode 794 (Valid Tic-Tac-Toe State). Given a tic-tac-toe board state (represented as an array of strings), determine whether… | Coding | 1× | November 2025 |
| Delete Node from Forest / Tree Given a forest represented as an array where each element stores its parent node's index (0-based). Root nodes are self-referential: parent[i] ==… | Coding | 1× | June 2026 |
| Grid Marble Removal Given a 2D grid containing 'X' (marbles) and 'O' (empty cells). A marble can be removed if there exists at least one… | Coding | 1× | June 2025 |
| Serialize and Deserialize Trie Implement serialization and deserialization of a Trie (prefix tree / dictionary trie) data structure. Given a Trie that stores a set of… | Coding | 1× | August 2025 |
| Determine if Binary Tree is Perfect Given a binary tree, determine whether it is a 'perfect' binary tree — meaning every internal node has exactly 2 children and… | Coding | 1× | March 2025 |
| Minimum Operations to Convert Tree to Perfect Tree Given a binary tree, find the minimum number of add/remove operations to convert it into a perfect binary tree (i.e., every level… | Coding | 1× | March 2025 |
| Kanban Board with Status Navigation Implement a Kanban board UI in React + TypeScript. The board displays tasks grouped by status columns (e.g., To Do, In Progress,… | Coding | 1× | August 2026 |
| Tree Level-Order Traversal / BFS on Service Dependency Graph Given a graph of services where edges represent dependencies (one service calling another), and given the first service that crashes (starts throwing… | Coding | 1× | August 2025 |
| TTL Key-Value Store with Efficient Expiry Cleanup Implement a key-value store that supports get, set, update, and delete operations, each accepting a timestamp as an extra parameter. Each key-value… | Coding | 1× | July 2025 |
| String Formation OA Count the number of ways to form a target string by selecting characters from columns of a word… | OA | 1× | September 2025 |
| String Transformation (LeetCode 2851) Given strings, perform a series of transformations according to a defined pattern (LeetCode 2851 'String Transformation'). The problem involves transforming one string… | OA | 1× | March 2025 |
| Efficient Scaling OA You are given a data processing pipeline consisting of n services. The i-th service has an initial throughput of throughput[i], and each… | OA | 1× | September 2025 |
| Heap Problem: Repeatedly Halve Maximum Value Given a collection of values, repeatedly find the maximum value and halve it (integer or floating-point division). Perform this operation some number… | OA | 1× | March 2025 |
| Minimum Value Weight OA An optimization problem requiring minimization of a 'weight' value under certain constraints. Full problem details were shared via screenshots in the original… | OA | 1× | March 2025 |
| Filter System with Dynamic Blacklist Design an OOD filter system with three methods: 1. processFilter(int value) — dynamically add or remove a value from a blacklist filter.… | OA | 1× | June 2026 |
| String Pattern OA Given a string pattern problem (Snowflake OA classic question), determine whether a target string can be formed or matched according to certain… | OA | 1× | March 2025 |
| Work Schedule OA A schedule constraint satisfaction problem. Given a set of workers and scheduling constraints (such as shift assignments, availability windows, or coverage requirements),… | OA | 1× | March 2025 |
| New Network Protocol OA Given a string s, you need to transmit it over a network. The rules are: - If two adjacent characters in a… | OA | 1× | September 2025 |
| Unequal Elements OA Given an array or collection of integers, identify or count elements that are unequal/distinct — likely involving finding, counting, or rearranging elements… | OA | 1× | March 2025 |
FAQ
How many coding questions does Snowflake ask?▾
What is the most common Snowflake coding interview question?▾
How fresh is AceOffer's Snowflake coding question data?▾
Get the full Snowflake catalog
Every question, every candidate-reported follow-up, and what passers actually do. Monthly refresh.