call(back)

Snowflake

A small, bank-driven loop: a handful of coding families recur, and the follow-ups plus your own test cases decide a round more than the base problem does. Prompts often start on a blank page with no signature, so clarify, pick the interface and write the tests yourself. System design is infrastructure — a job scheduler, a key-value store, an ACL service — and the interviewer drills one mechanism until the hour ends.

Typical loop

  1. 1Recruiter screen: ~30 min — background, location, work authorization
  2. 2Some applicants: a ~20 min AI-conducted voice pre-screen on two projects, a conflict, and how you use AI tools
  3. 3Technical phone screen: two 45–60 min CoderPad rounds — usually both coding, sometimes one coding and one system design
  4. 4Onsite, often in person: three to four 60 min rounds — one or two coding, one system design, one behavioral; some loops add a project deep dive or an AI-augmented coding round
  5. 5Team matching: hiring-manager and teammate chats, still evaluative

Questions

Callback's practice questions and the LeetCode questions Snowflake has been asking, filtered together.

Practice questions

Top Earners per Department

SQL & Data · Window functions beat self-joins — know why.

mediumSign in to star problems

Tell Me About a Conflict

Behavioral · The most common behavioral prompt, told in STAR: a disagreement where you changed the outcome, or changed your mind.

mediumSign in to star problems

Build a Todo List

Frontend · List state done right: keys, controlled input, and deletes.

mediumSign in to star problems

Build Tabs

Frontend · One active index drives the whole component.

easySign in to star problems

Design a Blob Storage Service

System Design · Metadata plane vs data plane, chunk replication, and the atomic-commit moment.

mediumSign in to star problems

Nested-Transaction KV Store

Algorithms & Data Structures · An undo log per open transaction: rollback replays it, commit hands it to the parent.

mediumSign in to star problems

In-Memory File System

Algorithms & Data Structures · A tree of nodes keyed by path segment — the OOD-style prompt where the implementation is the test.

mediumSign in to star problems

Connect Four

Frontend · Immutable board updates, gravity in dropPiece, and a win check that only looks through the last move.

mediumSign in to star problems

Transfer List

Frontend · Two arrays and one Set of checked ids — get a working version fast, then polish.

mediumSign in to star problems

Sliding-Window Rate Limiter

Algorithms & Data Structures · A queue of admitted timestamps per key: evict what aged out, admit while under the limit.

mediumSign in to star problems

Design and Scale a Yelp-like Reviews Platform

System Design · Geo plus text search over a read-heavy model, with review writes fanned out through queues to aggregates and the index.

hardSign in to star problems

Implement Array.prototype.flat

Frontend · Depth, holes and Infinity — without recursion, so 100,000 levels can't overflow the stack.

mediumSign in to star problems

Implement cloneDeep

Frontend · Cycles, shared references, Date, RegExp, Map, Set, prototypes and symbol keys: everything spread and JSON get wrong.

mediumSign in to star problems

Implement memoize

Frontend · A closure over a Map keyed on every argument — and has, not truthiness, so 0 and undefined still hit.

mediumSign in to star problems

Tic-Tac-Toe: N by N, M in a Row

Frontend · A board of any size, a win check that looks only through the last move, and a status line for turn, winner or draw.

mediumSign in to star problems

Implement Promise.all

Frontend · Store results by index, count down, resolve an empty input at once, reject on the first failure.

mediumSign in to star problems

Implement curry

Frontend · Collect arguments until fn.length have arrived — with a fresh array per call so partials stay independent.

mediumSign in to star problems

Implement Throttle

Frontend · A leading call, then at most one call per window — with a trailing call that carries the latest arguments.

mediumSign in to star problems

Nearest Bathroom for Every Desk

Algorithms & Data Structures · Seed the queue with every bathroom and expand once — one BFS for the whole floor, not one per desk.

mediumSign in to star problems

People and Cakes I

Algorithms & Data Structures · One pass and two remembered indexes — the last person and the last cake seen.

easySign in to star problems

People and Cakes II

Algorithms & Data Structures · Nearest-cake greedy is wrong; with both lists sorted, an optimal matching never crosses, so a 2-D DP finds it.

mediumSign in to star problems

Course Completion Time I

Algorithms & Data Structures · Courses run in waves, and a wave takes as long as its slowest course.

mediumSign in to star problems

Tree Height After Deletions II

Algorithms & Data Structures · Delete exactly the non-root nodes whose own subtree is k or more deep — one post-order pass, no DP.

hardSign in to star problems

Letter Permissions Down a DAG

Algorithms & Data Structures · Topological order with a 26-bit mask per node: inherited = AND of the parents, final = (inherited OR allow) AND NOT disallow.

mediumSign in to star problems

Wiki Page Links I

Algorithms & Data Structures · BFS over an implicit graph, fetching each page exactly once.

mediumSign in to star problems

Wiki Page Links II

Algorithms & Data Structures · Store one predecessor per page, not a path per queue entry, and walk it back from the target.

mediumSign in to star problems

Wiki Page Links III

Algorithms & Data Structures · A BFS that keeps going after the target is gone — and the thread-safety story that comes with it.

mediumSign in to star problems

Dropped Requests Under Two Rules

Algorithms & Data Structures · One queue of accepted timestamps per rule; dropped requests never enter either.

mediumSign in to star problems

Tiered Token-Bucket Limiter

Algorithms & Data Structures · Per-client (tokens, last seen), a tier config read on every call, and an explicit fallback for clients with no valid tier.

mediumSign in to star problems

Count Events in a Time Range

Algorithms & Data Structures · Timestamps arrive in order, so each type's list is already sorted and a count is two binary searches.

easySign in to star problems

SnowCal Interpreter

Algorithms & Data Structures · One register, a dictionary of recorded bodies, and a mode flag that says whether a line runs or is being stored.

mediumSign in to star problems

Priority Task Executor

Algorithms & Data Structures · A heap of entries with lazy deletion: a task added twice has two entries, and the stale one is skipped on the way out.

mediumSign in to star problems

Key-Value Store With Prefix Scan

Algorithms & Data Structures · A hash map for the point operations and a sorted key list for the scan — agree the smallest version, then extend.

mediumSign in to star problems

Reverse Each Alphanumeric Run

Algorithms & Data Structures · Two pointers per run: find where the run ends, reverse it in place, carry on from there.

easySign in to star problems

Grep With Context Lines

Algorithms & Data Structures · Turn each match into a clipped line range, merge ranges that touch, and print a separator between the groups left.

mediumSign in to star problems

JSON Parser

Algorithms & Data Structures · Recursive descent with one cursor: a value function that dispatches on the next character, and a parser per kind.

hardSign in to star problems

Document Store With Boolean Queries

Algorithms & Data Structures · An inverted index plus a tiny expression parser whose values are sets of document ids.

hardSign in to star problems

Does This Connect Four Move Win?

Algorithms & Data Structures · Only the four lines through the last move can have changed, so count outward in each direction from it.

easySign in to star problems

Valid Tic-Tac-Toe State

Algorithms & Data Structures · Count the pieces, then check who has a line: X leads by one if X won, counts are equal if O won, and both cannot win.

mediumSign in to star problems

Top K Search Terms, One Vote per User

Algorithms & Data Structures · Dedupe (user, term) pairs before counting, then sort by count with the term as the tie-break.

easySign in to star problems

Top K Selling Books After Each Sale

Algorithms & Data Structures · Totals in a map; the top K is recomputed from the map on each update, or kept in a bounded structure when K is small and the catalogue huge.

mediumSign in to star problems

Sort Colours Through an API

Algorithms & Data Structures · Dutch national flag with three pointers, using only getColor and swap — one pass, no counting.

mediumSign in to star problems

Course Completion Time II

Algorithms & Data Structures · A course may start once any one prerequisite is done: swap the max for a min and relax in topological order.

mediumSign in to star problems

Tree Height After Deletions I

Algorithms & Data Structures · A deleted node hands its children to its nearest surviving ancestor, so it simply adds no level.

mediumSign in to star problems

Most Credits With at Most K Classes

Algorithms & Data Structures · Weighted interval scheduling with a count budget: sort by end, binary-search the compatible predecessor, add a dimension for the cap.

hardSign in to star problems

Minimum Bus Fleet

Algorithms & Data Structures · Meeting rooms with stations: a bus is reusable only where it arrived, so keep the idle buses per station.

mediumSign in to star problems

Filter With a Dynamic Blacklist

Algorithms & Data Structures · Emitted items are final; held items wait in publish order and are re-checked whenever a word is unblocked.

mediumSign in to star problems

Is the Graph Three-Colourable?

Algorithms & Data Structures · Backtracking over the vertices: try each colour not used by a coloured neighbour, undo on failure.

mediumSign in to star problems

Fewest Coins When Change Is Given

Algorithms & Data Structures · Overpaying can save coins: minimise coins handed over plus coins handed back, over every payment up to one large coin above the price.

mediumSign in to star problems

Design a Distributed Job Scheduler

System Design · A job store as the source of truth, dispatchers that claim due runs with a unique key, leased workers, and a reaper — then the policies a template answer forgets.

hardSign in to star problems

Design a Distributed Key-Value Store

System Design · Non-functional requirements first, then one real decision per layer — and the large-value variant, where the lock must never cover the disk write.

hardSign in to star problems

Design an ACL Check Service

System Design · A durable source of truth for grants, a cache of compiled decisions on the caller's hot path, and a closed fail mode.

mediumSign in to star problems

Design a Cloud Queue Service

System Design · Start from a Queue class, then make every step survive a client, server or network failure in the middle of it.

mediumSign in to star problems

Design a Control Plane for Cloud Clusters

System Design · Desired state in a consistent store, controllers that reconcile, heartbeating agents, and a failure detector that fences before it replaces.

mediumSign in to star problems

Design an Audit Log Service

System Design · Append-only events partitioned by account then time, a hot store for recent queries, object storage for retention, and tamper evidence per account.

mediumSign in to star problems

Design a Pipeline From Bug Tickets to Generated Pull Requests

System Design · A ticket becomes a row with a state machine, a queue feeds long-running workers, and every step is idempotent because the AI step will be retried.

mediumSign in to star problems

Design an RPC Layer Over Hand-Written REST Calls

System Design · An interface definition that generates stubs and skeletons, with marshalling, discovery, deadlines, idempotent retries and versioning handled once.

mediumSign in to star problems

Design a Logging Library for Web and Mobile Clients

System Design · A non-blocking log() into a bounded buffer, flushed by size or time, persisted offline, with a stated policy for what to drop under pressure.

mediumSign in to star problems

Design a Client for an Unreliable Token Service

System Design · Cache tokens with expiry, refresh ahead of time with jitter, single-flight the refresh, and decide between a slightly stale token and a failed request.

mediumSign in to star problems

Design a Global Multi-Tenant Quota System

System Design · One usage record per tenant across every service, reserve-then-commit, idempotent usage events, and a chosen point between strict consistency and latency.

mediumSign in to star problems

Design a Distributed Metrics System

System Design · Agents batch to an ingest tier, a time-series store partitioned by metric and time, downsampling for age — and a hard line on cardinality.

mediumSign in to star problems

Design a Web Crawler at Scale

System Design · A frontier of URLs partitioned by host, fetchers that respect per-host limits, dedup by URL and by content, and failure handling that never stalls the crawl.

mediumSign in to star problems

Count the Nodes in a Tree of Servers

System Design · A request fans down the tree and counts fan back up; messages can be lost or duplicated, so every message carries an id and every handler is idempotent.

mediumSign in to star problems

The Project You Are Most Proud Of

Behavioral · Your flagship story: the goal, your role, the hardest technical problem, and a measurable result.

mediumSign in to star problems

Your Most Complex Back-End Work

Behavioral · The same flagship project, told through its hardest design decision.

mediumSign in to star problems

Your Hardest Situation at Work

Behavioral · A deadline or an incident where you had to cut scope and manage risk.

mediumSign in to star problems

A Time You Pushed Back

Behavioral · Declining or reshaping a request, with the reasoning and the result.

mediumSign in to star problems

Delivering Under a Tight Deadline

Behavioral · What you did when the time was not enough: sequencing, trade-offs, communication.

mediumSign in to star problems

Mentoring Someone

Behavioral · How you helped someone grow, and how you knew it worked.

mediumSign in to star problems

One Piece of Advice for Your Team

Behavioral · A specific process or technical improvement, its impact, and how you would measure it.

mediumSign in to star problems

Why Are You Leaving, and Why Snowflake?

Behavioral · Growth you want next, tied to something concrete about the work here.

mediumSign in to star problems

How Do You Use AI Tools?

Behavioral · Named tools, the tasks you use them for, a rough share of your coding, and how you verify the output.

mediumSign in to star problems

What Is MVCC?

SQL & Data · Writers create new versions instead of overwriting, so readers see a consistent snapshot without blocking writers.

easySign in to star problems

LSM Tree vs B-Tree

SQL & Data · LSM buffers writes in memory and merges sorted files later; a B-tree updates in place for steadier reads.

easySign in to star problems

Row vs Columnar Storage

SQL & Data · Rows suit point lookups and transactions; columns suit scans and aggregates and compress far better.

easySign in to star problems

What Is Vectorized Execution?

SQL & Data · Operators process batches of column values instead of one row at a time, cutting interpretation overhead and using CPU caches well.

easySign in to star problems

What Is a Write-Ahead Log?

SQL & Data · Record the change durably before applying it, so a crash can be replayed.

easySign in to star problems

Transaction Isolation Levels

SQL & Data · Read committed, repeatable read, snapshot, serializable — know which anomaly each permits.

easySign in to star problems

Snowflake's Three Layers

SQL & Data · Database storage, independent compute warehouses, and a cloud services layer — a hybrid of shared-disk and shared-nothing.

easySign in to star problems

What Is a Micro-Partition?

SQL & Data · Immutable 50–500 MB columnar chunks created automatically, with per-column metadata that lets queries skip them.

easySign in to star problems

Two-Phase Commit

System Design · Prepare on all participants, then commit; it blocks if the coordinator dies after prepare.

easySign in to star problems

How Does Raft Work?

System Design · A leader replicates a log to a majority before committing; a new leader is elected by majority vote.

easySign in to star problems

Document Coverage: The Shortest Window

Algorithms & Data Structures · Minimum window over tokens: expand until every term is covered, shrink while it stays covered, keep the shortest.

hardSign in to star problems

Pick the Query Type That Maximises Revenue

Algorithms & Data Structures · Committing to one type, you run it floor(k / duration) times; score every type and keep the best, earliest on ties.

easySign in to star problems

Reach a Target With +2, Double and Halve

Algorithms & Data Structures · Any sequence counts, so think constructively: +2 keeps parity, doubling then +2s then halving shifts it, and halving is how you get smaller.

mediumSign in to star problems

Drop and Remove Runs in a Grid

Algorithms & Data Structures · Mark every horizontal and vertical run of three or more, clear them all at once, let columns fall, and repeat until nothing is marked.

mediumSign in to star problems

Course Schedule With Retries

Algorithms & Data Structures · Kahn's queue over course objects; a failed attempt goes to the back of the queue and its dependants stay locked until it passes.

mediumSign in to star problems

Service-Failure Forensics

Algorithms & Data Structures · A failure is explained if something it depends on, transitively, failed first; the unexplained failures are the root causes.

mediumSign in to star problems

String-Command Calculator

Algorithms & Data Structures · A recursive-descent parser: a command's operand is either an integer or a parenthesised sub-program evaluated from zero.

mediumSign in to star problems

Count the Nodes of a Tree by Messages

Algorithms & Data Structures · A node asks every neighbour except the one that asked it, sums the replies plus one, and remembers answers so duplicates are harmless.

hardSign in to star problems

Serialize a Dictionary Trie

Algorithms & Data Structures · Pre-order with explicit end-of-word marks and parentheses around children; parsing it back is a recursive descent.

mediumSign in to star problems

Pre-Order Traversal Skipping Marked Nodes

Algorithms & Data Structures · A pre-order walk with a stack; a marked node is dropped before its children are pushed, so its whole subtree disappears.

easySign in to star problems

Delete a Node From a Forest Stored as a Parent Array

Algorithms & Data Structures · Children of the deleted node are re-parented to its parent; a deleted root's children become roots.

easySign in to star problems

Rewrite Two Complete Trees With Subtree Sums

Algorithms & Data Structures · In array form the children of i are 2i + 1 and 2i + 2, so merge by index and accumulate sums from the last index down.

mediumSign in to star problems

Design an Interactive SQL Notebook or Query Execution Service

System Design · A query is a record with a state machine: submit returns an id at once, workers stream results to storage, and clients fetch by id, never by connection.

mediumSign in to star problems

Design a Multi-Tenant Interactive Analytics Platform

System Design · Immutable columnar files in object storage, a transactional metadata service that commits snapshots, and stateless compute that scales per tenant.

hardSign in to star problems

Design a Metadata Catalog and Schema Registry

System Design · Versioned entities in a consistent store partitioned by tenant, a per-tenant change log that caches subscribe to, and soft deletes for undrop.

mediumSign in to star problems

Design a Cache for a DAG of Materialized Views

System Design · Key every entry by the view, its definition hash and the snapshot versions of all its inputs, so a changed input is a new key and nothing needs explicit invalidation.

mediumSign in to star problems

Design a Multi-Core Service Startup Scheduler

System Design · Kahn's algorithm with a ready queue and M running slots, where a service unblocks its dependants only after its health check passes and the longest remaining chain goes first.

mediumSign in to star problems

Design a Multi-Region API Whose Clients Need Tokens From a Flaky Third Party

System Design · Cache what the provider would tell you — signing keys, introspection results, permissions — so a provider outage degrades the API instead of taking it down.

mediumSign in to star problems

Rolling 7-Day Average Revenue

SQL & Data · A window frame of six preceding rows is right only when every day has a row; fill the calendar first.

mediumSign in to star problems

Extract Fields From a JSON Column

SQL & Data · Path into the document for scalars, cast them explicitly, and flatten arrays into rows before aggregating.

mediumSign in to star problems

Kanban Board

Frontend · Columns of cards with immutable moves: one pure moveCard function serves the buttons and the drag-and-drop alike.

mediumSign in to star problems

Grid Game: Lights Out

Frontend · State in one object, a pure toggle that flips a cell and its neighbours, one delegated click listener, and a render from state.

mediumSign in to star problems

Breadth-First Search Order

Algorithms & Data Structures · A queue with an index pointer, a visited set marked on enqueue, neighbours in the order given.

easySign in to star problems

Merge Sort

Algorithms & Data Structures · Split in half, sort each half, merge with two indices — stable, O(n log n), and the merge is the whole interview.

mediumSign in to star problems

Dijkstra's Shortest Distances

Algorithms & Data Structures · A priority queue of tentative distances; a node's distance is final the first time it is popped.

mediumSign in to star problems

Implement an Event Emitter

Frontend · A map from event name to listener list; copy the list before emitting so listeners can unsubscribe mid-emit.

mediumSign in to star problems

Implement deepEqual

Frontend · Primitives by value (NaN equals NaN), arrays by length and elements, plain objects by key set and values, recursively.

mediumSign in to star problems

Implement JSON.stringify

Frontend · A recursive serializer with the real rules: undefined vanishes from objects but becomes null in arrays, and strings need escaping.

mediumSign in to star problems

Undo/Redo Manager

Frontend · Two stacks: a new value pushes the old one onto undo and clears redo; undo and redo move values between them.

mediumSign in to star problems

Chessboard in React

Frontend · Derive the 64 squares in render — no board in state — then add selection and a move with one piece of state.

easySign in to star problems

Robot Eats Candies on a Grid

Frontend · Keyboard movement with walls and edges, then a breadth-first path to the nearest candy walked one cell at a time.

mediumSign in to star problems

Grid Lights

Frontend · Remember the order cells were lit; when all are lit, a self-re-arming timeout switches them off in reverse.

mediumSign in to star problems

Memory Game

Frontend · A shuffled deck, at most two face-up ids, a set of matched faces, and one effect that resolves each pair.

mediumSign in to star problems

Whack-a-Mole

Frontend · Two intervals owned by one effect keyed on the running flag, and a round that ends when the clock hits zero.

mediumSign in to star problems

Selectable Cells

Frontend · Two corners in state and a derived rectangle; pointer events on cells plus one document listener for the release.

mediumSign in to star problems

Pixel Art

Frontend · A flat array of 225 colours, a palette, draw and erase modes, and a stroke that paints while the pointer is held.

mediumSign in to star problems

Nested Checkboxes

Frontend · Store only the leaves; every parent's checked and indeterminate state is derived from the leaves beneath it.

mediumSign in to star problems

Data Table

Frontend · Three pieces of state — page, page size, sort — and rows derived from them in render.

mediumSign in to star problems

File Explorer

Frontend · A recursive component over nested data, with a set of expanded ids as the only state.

mediumSign in to star problems

useDebounce Hook

Frontend · A state copy of the value and one effect whose cleanup cancels the pending update on every change.

easySign in to star problems

Asked on LeetCode

164 questions · all time