Snowflake

A recruiter screen that turns many candidates away, two back-to-back coding screens, then an onsite (virtual or in person) of more coding, system design and a behavioral or hiring-manager round, then a hiring-manager call.

84 questions

  • Limit tree height by deleting nodesCodingYou are given a rooted N-ary tree. Every node has a unique integer id. The tree is passed as children: dictint, listint (a node with no entry has no children) together with the…
    Last asked Oct 2026
  • Design a distributed web crawlerSystem designCrawl billions of web pages politely and repeatedly, deduplicating URLs and content, to feed a search index or a training-data pipeline.
    Last asked Oct 2026
  • Build reporting trees from employee-manager pairsCodingYou get a list of employee, manager pairs, where each person is a positive integer id and the pair means the employee reports directly to that manager. Build the org chart…
    Last asked Sep 2026
  • Insert, delete and get random in O(1) with duplicatesCodingDesign a collection of integers that allows duplicates and supports, each in average O(1) time: 1. insert(val): add one copy of val; return whether val was absent before. 2…
    Last asked Sep 2026
  • Four in a row: check a winning moveCodingTwo players, "a" and "b", play on a rectangular grid. board is a 2D list of strings; each cell is "a", "b", or "" (empty). Implement: move = (row, col) is the cell where player…
    Last asked Sep 2026
  • Project deep dive: present a project you ledBehavioralPresent a project you led in about 20 minutes: context, your role, the architecture, three hard trade-offs, metrics, cost and return, and what you would change. Then take 25…
    Last asked Sep 2026
  • Maximum overlap of closed intervalsCodingGiven a list of closed intervals start, end (both endpoints included), return the largest number of intervals that contain one point on the number line. Two intervals that only…
    Last asked Sep 2026
  • Build and test a rate limiter with an AI assistantCodingIn a round where AI coding assistants are allowed, design and build a rate limiter from scratch. You choose the algorithm and the interface, use the assistant as you like, and…
    Last asked Sep 2026
  • Components of an LLM agent's memoryML designName the common components of an LLM agent's memory (for example the context window, a short-term scratchpad or conversation buffer, long-term stores of facts and past episodes…
    Last asked Sep 2026
  • Design a pipeline that distills reusable agent skillsAI systemEnterprise customers run AI agents on their own tasks. Design a pipeline that automatically extracts reusable skills from that usage: a skill is a named package of instructions…
    Last asked Sep 2026
  • Minimum buses to run a timetableCodingA bus depot has a timetable of trips, each with a departure time and an arrival time. A bus can take a new trip once it has arrived from its previous one. Return the fewest buses…
    Last asked Sep 2026
  • Fewest clicks between two wiki pagesCodingWiki pages link to other pages. Given a start page and a target page, return the fewest clicks needed to get from one to the other, or report that the target can't be reached. You…
    Last asked Sep 2026
  • Throne inheritance without an initial kingCodingModel a royal family's line of succession: people are born to parents, people die, and you return the current order of inheritance (a pre-order walk of the family tree that skips…
    Last asked Sep 2026
  • In-memory file system with files and foldersCodingImplement an in-memory file system with path-based file and folder access, plus follow-ups on per-directory limits, duplicate names and identical contents. Covers the bank's vault…
    Last asked Aug 2026
  • Design an interactive query notebookSystem designDesign a notebook product where users write queries in cells, run them interactively against a data warehouse, and see results stream back into the notebook. Cover the session…
    Last asked Aug 2026
  • Group dependent tasks into parallel levelsCodingYou run a build system. Each task has a unique, non-empty lowercase name. Some tasks depend on others: a dependency before, after means before must finish before after can start…
    Last asked Aug 2026
  • Copy list with random pointerCodingEach node of a singly linked list has a next pointer and a random pointer that may point to any node in the list or to nothing. Return a deep copy of the list in which no pointer…
    Last asked Aug 2026
  • Recruiter screen: motivation, background and logisticsBehavioralA short first call with a recruiter: a few standard behavioral questions about your background and why you want the role, then timeline, location and compensation expectations…
    Last asked Aug 2026
  • Rate limiter with multiple sliding-window rulesCodingBuild a rate limiter that enforces several rules at once. Each rule is a pair (limit, window): at most limit accepted requests may fall in any window of window time units. Use the…
    Last asked Aug 2026
  • Tiered rate limiter with limits that change at runtimeCodingBuild a rate-limiting service in Python. Each client belongs to a tier (for example free, pro, enterprise), and each tier has its own limit. A request arrives with a client id…
    Last asked Aug 2026
  • Arrow-key controlled kanban board in ReactCodingBuild a kanban board in React with columns of cards. A card can be selected, and the arrow keys move the selection or the selected card between positions and columns. Keep the…
    Last asked Aug 2026
  • Design calendar front-end state for recurring eventsSystem designDesign the client-side state for a calendar app that supports recurring events. Cover how recurrence rules are stored versus expanded into visible occurrences, how a single…
    Last asked Aug 2026
  • Unique and most frequent keys in a recent time windowCodingEvents arrive with a key and a timestamp. Build a structure that, for the most recent window of time, answers which keys appeared exactly once and which key appeared most often…
    Last asked Aug 2026
  • Distance from every desk to its nearest bathroomCodingAn office floor plan is a grid of bathrooms, desks and open floor. For every desk, return how many steps (up, down, left, right) it takes to reach the closest bathroom. Expect…
    Last asked Jul 2026
  • Concurrent same-host web crawlerCodingImplement a web crawler that finds every page reachable from a start URL on the same host, and fetches pages concurrently. You are given a blocking helper: Write: python def…
    Last asked Jul 2026
  • Boundary of a binary treeCodingWalk around the outside of a binary tree starting at the root: down the left edge, along the leaves from left to right, then up the right edge. The nodes you pass form the…
    Last asked Jul 2026
  • Design a nearby points-of-interest serviceSystem designGiven a user's location, return the closest restaurants, shops and other places of interest within a radius, fast, for a read-heavy global audience.
    Last asked Jul 2026
  • Find every set in a hand of Set cardsCodingEach card in the game Set has four attributes (color, shape, number, shading), and each attribute takes one of three values, so a card is four numbers from 0 to 2. Three cards…
    Last asked Jul 2026
  • Count and map a cluster tree with message passingCodingA cluster of n machines is wired as a rooted tree (any number of children per node). Each machine knows only three things: its own id (a string such as "4"), its parent's id ("-1"…
    Last asked Jun 2026
  • Design an audit log serviceSystem designDesign a service that records who did what to which resource across a platform, for security and compliance. Cover the event schema, how producers write reliably without slowing…
    Last asked Jun 2026
  • Sort colors in placeCodingYou get an array of records, each tagged red, green or blue. Sort it in place so all reds come first, then greens, then blues, in one pass and constant extra space (the Dutch…
    Last asked Jun 2026
  • Design a system that turns Jira tickets into pull requestsAI systemDesign an automated system that picks up a Jira ticket, uses an AI coding agent to write the change in the right repository, and opens a pull request for review. Cover how tickets…
    Last asked Jun 2026
  • Implement a JSON parserCodingWrite a parser that turns a JSON string into native values: objects, arrays, strings with escapes, numbers, true, false and null. Use a recursive-descent design, skip whitespace…
    Last asked Jun 2026
  • Three-color map coloringCodingYou are given a map as a list of location names, locations, and a list of pairs, adjacencies. Each pair a, b means locations a and b share a border. Implement colormap(locations…
    Last asked Jun 2026
  • Design a distributed job schedulerSystem designDesign a service that runs millions of scheduled and on-demand jobs (cron-like and one-off) reliably across a fleet of workers.
    Last asked Jun 2026
  • Priority task executor with duplicate task idsCodingImplement an executor that accepts tasks, each with an id and a priority, and runs them highest priority first. The same task id can be submitted more than once. Decide and…
    Last asked Jun 2026
  • Sliding-window request rate limiterCodingImplement a rate limiter that accepts at most limit requests in any window of ttl milliseconds. - allow(timestamp) is called once per incoming request. timestamp is in…
    Last asked Jun 2026
  • Design a disk-backed key-value store under heavy contentionSystem designDesign a key-value store that keeps its data on disk and serves many concurrent readers and writers, some of them hammering the same keys. Cover the on-disk layout, the write path…
    Last asked Mar 2026
  • Fewest coins when change can be given backCodingYou need to pay an amount using coins of given denominations, but you may overpay and receive change back in the same denominations. Return the fewest coins that change hands in…
    Last asked Mar 2026
  • Key-value store with nested transaction rollbackCodingImplement an in-memory key-value store whose string keys map to string values. It supports transactions, and transactions can be nested. Implement the class KeyValueStore: -…
    Last asked Feb 2026
  • Grep with context linesCodingImplement a simplified grep. You get a list of text lines, a search string target, and a non-negative integer k. Return every line that contains target, together with up to k…
    Last asked Feb 2026
  • Design a quota serviceSystem designTrack and enforce how much of each resource (API calls, storage, compute) every tenant may use, with fast checks and limits that stay accurate across regions.
    Last asked Feb 2026
  • Minimum distance between two nodes in an N-ary treeCodingYou are given the root of an N-ary tree. Every node has an integer val, unique within the tree, and a list children of its direct children. There are no parent pointers…
    Last asked Feb 2026
  • Shortest path between two cells in a gridCodingGiven a grid with open and blocked cells, return the length of the shortest path from a start cell to a target cell moving up, down, left and right. A follow-up changes the…
    Last asked Feb 2026
  • Live top-k best-selling books leaderboardCodingA bookstore wants a live leaderboard of its best-selling books. Sales arrive one at a time, and the leaderboard can be read at any moment. Implement a BookSalesTracker class: -…
    Last asked Feb 2026
  • Word search with a word search II follow-upCodingFind words on a letter grid by adjacent moves, then extend the solution to finding many words at once efficiently. Reported on 1point3acres' Glean bank; reconstructed in our own…
    Last asked Jan 2026
  • Fixed-capacity circular bufferCodingImplement a generic FIFO buffer with a fixed capacity, allocated once up front, with constant-time push and pop. Discuss how to signal full and empty and how the buffer would be…
    Last asked Jan 2026
  • Pick the most profitable repeated queryCodingA data warehouse has a time budget of k minutes and n query types. Query type i takes timesi minutes per run and earns profitsi per completed run. You must commit to one query…
    Last asked Jan 2026
  • Implement an event emitterCodingImplement an event emitter class: on(event, handler), off(event, handler), once(event, handler) and emit(event, ...args). Handlers run in the order they were added. Handle a…
    Last asked Jan 2026
  • React class components, lifecycle methods and hooksCodingExplain how React class components work and the order of their lifecycle methods (mount, update, unmount), then how the same behavior is written with hooks: useState, useEffect…
    Last asked Jan 2026
  • Design an access management systemSystem designDecide who can do what to which resource across many services: roles, groups, fine-grained permissions, fast checks on every request, and auditable changes.
    Last asked Jan 2026
  • Design an S3-like object storage systemSystem designStore trillions of objects of any size with eleven nines of durability, and serve reads and writes over an HTTP API at high throughput.
    Last asked Dec 2025
  • Validate a tic-tac-toe board stateCodingGiven a tic-tac-toe board in the middle or at the end of a game, decide whether it could have been reached by legal play: X moves first, players alternate, and nobody moves after…
    Last asked Dec 2025
  • Design a metrics monitoring systemSystem designCollect metrics from every host and service, store them as time series, power dashboards over months of data, and alert when thresholds are crossed.
    Last asked Dec 2025
  • Evaluate an arithmetic expression with variablesCodingEvaluate an arithmetic expression string with numbers, +, -, , /, parentheses and variable names whose values are given in a map. Respect precedence and parentheses, and decide…
    Possibly retired
  • Fill a second tree with subtree sums of the firstCodingYou get the roots of two complete binary trees with exactly the same shape. For every node of the second tree, set its value to the sum of the subtree rooted at the matching node…
    Possibly retired
  • Longest substring without repeating charactersCodingReturn the length of the longest substring with no repeated character, with a sliding window that remembers the last index of each character.
    Possibly retired
  • Valid parenthesesCodingGiven a string of brackets (), and {}, decide whether every bracket is closed by the matching type in the right order.
    Possibly retired
  • Design a cache for query views that depend on each otherSystem designIn a data warehouse, views are defined on top of tables and other views, so the views form a DAG. Design a cache that speeds up queries over these views and keeps it correct when…
    Possibly retired
  • Design reliable sign-in on top of a flaky token providerSystem designClients get a token from a third-party auth server and present it to your main server. The third-party server is unreliable: requests fail sometimes, and sometimes it answers with…
    Possibly retired
  • Serialize and deserialize a trieCodingDesign and implement serialize and deserialize for a dictionary trie, so that the trie can be written to a string and rebuilt exactly, including which nodes mark the end of a…
    Possibly retired
  • Design a distributed key-value storeSystem designStore and serve billions of keys with low latency, partitioned across machines and replicated to survive failures, with tunable consistency.
  • Design a logging serviceSystem designIngest logs from every service at terabytes per day, make them searchable within seconds, and keep them cheaply for months.
  • Design a news feedSystem designDesign the home feed for a social network with 1B users: posts from people you follow, ranked, fresh within seconds.
  • Design a rate limiterSystem designDesign a service that limits how many requests each API client can make. It sits in front of every API endpoint at high traffic.
  • Design a stock trading platformSystem designUsers place market and limit orders; match them, update balances and positions exactly once, and stream prices in real time.
  • Design LeetCodeSystem designUsers solve coding problems in the browser; run their submissions safely against hidden tests, return verdicts quickly, and support live contests with leaderboards.
  • Fill a weekly work schedule to an exact hour totalCodingA week's work plan is written as a 7-character string pattern, one character per day. A digit (0-9) is a day whose hours are already set. A ? is a day that is still open…
  • Guess the number with one-call delayed feedbackCodingA hidden integer secret lies in 1, n, inclusive. You can't read it. The only way to learn about it is a comparison service with one method: The service answers one call late. Each…
  • IP routing table with longest prefix matchCodingBuild the forwarding table of an IPv4 router. Routes are CIDR prefixes mapped to a next-hop name. When a packet arrives, the router must send it to the next hop of the most…
  • Key-value store with prefix searchCodingBuild an in-memory key-value store whose values can also be looked up by key prefix. Keys are strings and values are integers. Implement the KVStore class: - KVStore() creates an…
  • Longest subsequence with at most k value changesCodingYou get an integer array elements and a non-negative integer k. Choose a subsequence of elements: delete any number of items (possibly none) and keep the rest in their original…
  • LRU cache with runtime resizingCodingImplement a least recently used (LRU) cache whose capacity can change while it is in use. - get(key) returns the value for key, or -1 if it is not cached. A successful get makes…
  • Maximize pipeline throughput within a scaling budgetCodingA message pipeline has n services in series, and every message passes through all of them. The pipeline's throughput is therefore the minimum throughput of any service. You are…