Snowflake Software Engineer Interview Questions
Master your tech interview with our curated database of real questions from top companies.
Implement course scheduling and rate limiter analysis
You are given two independent coding problems. --- Problem 1: Course Scheduling You are planning to take a set of courses and are given prerequisite r...
Set second tree values by subtree sums
Given the roots of two complete binary trees T1 and T2 that have identical structure and the same number of nodes, replace each value in T2 with the s...
Check balanced parentheses with multiple bracket types
Given a string containing only parentheses '()', determine whether it is balanced. Follow-up: extend the solution to also support '[]' and '{}' with c...
Design a multi-tenant quota system
Design a Global Multi-Tenant Quota Service (Single Global Quota per User) Context Multiple upstream products (e.g., Drive, Photos) share a single glob...
Solve build ordering and expression evaluation
Part A — Dependency ordering: You are given an integer n (0 ≤ n ≤ 200000) representing tasks labeled 0..n-1 and a list of prerequisite pairs [a, b] me...
Filter hierarchical paths after deletions
Given two arrays: ( 1) paths — slash-delimited hierarchical strings such as "California", "California/San Francisco", "California/San Francisco/7th St...
Design multi-core service startup scheduler
Service Startup Scheduler on a Host with M CPU Cores Context You are given a directed acyclic graph (DAG) of services where an edge u → v means servic...
Design a distributed system end-to-end
System Design: Multi-Tenant Interactive Analytics Platform Context Design a distributed, multi-tenant analytics service that lets customers: - Ingest ...
Design a concurrent web crawler
Web Crawler System Design (Onsite) Problem Design and implement a concurrent web crawler that: - Starts from a given URL. - Uses a provided interface ...
Compute task order and layered execution
You have N tasks labeled 0..N-1 and prerequisite pairs (a, b) meaning task a must complete before task b can start. Return any valid execution order o...
Find longest substring with at most k distinct
Given a string s and an integer k, return the length of the longest contiguous substring that contains at most k distinct characters. Provide an O(n) ...
Design error detection and propagation algorithms
You are given three related sub-problems about error detection and propagation. A) Log search: You have a chronologically ordered array of log lines. ...
Design cache for DAG-based query views
System Design: Caching Strategy for a DAG of Materialized Views Context You are designing an analytics system that computes materialized query views. ...
Transform tree using counterpart subtree sums
Given the roots of two complete binary trees with identical structure, modify the node values of the second tree so that each node equals the sum of a...
Implement crawler and bracket validator
Implement two tasks: ( 1) Write a function crawl(start_urls, fetch, max_depth, domain_filter) that visits pages starting from the given seed URLs usin...
Discuss challenges and cross-functional collaboration
Behavioral: Your Most Challenging Project (Software Engineer Onsite) Provide a concise, structured story about a challenging project. Use a STAR-L flo...
Design resilient auth with flaky third-party tokens
System Design: Resilient, Secure Request Flow with Unreliable Third‑Party Authorization Context You are designing a multi‑region, HTTP/JSON API where ...
Schedule dependent services with layered startup
You are given N services and dependency pairs (u -> v) meaning u must start before v. 1) Produce a valid startup order if one exists; otherwise detect...
Compute shortest path between tree nodes
You are given the root of a binary tree with unique integer values and two target values u and v. Return the sequence of node values along the shortes...
Design under vague distributed requirements
System Design Prompt: Distributed Metadata Catalog and Schema Registry Context Design a multi-tenant distributed Metadata Catalog and Schema Registry ...