Snowflake Interview Questions (2026)
60 questions · 150 experiences · 1p3a_oj (91) · 1p3a (54) · InterviewDB (24) · LeetCode (34) · Reddit (7)
Browse by role
Top topics
210 entries
1/9Snowflake SWE AI/ML Intern Online Assessment Problems
Snowflake screening interviews coming up — system design + coding questions?
Recipe Sequence Matcher
Grep With Context Lines
Closest Cake and Global Assignment
Design a Quota System
Design Circular Queue
Grid Drop and Remove Duplicates
Web URL Crawler at Scale
Merge Intervals
Merge Two Sorted Lists
Design In-Memory File System
Snowflake Intern Technical Interview Algorithm Tree Height Problem
Rewrite Tree With Subtree Sums
Design Key-Value Store with Transactions
Serialize and Deserialize Dictionary Trie
Document Target Coverage and Minimum Window
Software Engineer Tech Phone Screen at Snowflake
EPAM Lead Data Engineer Interview Experience
Snowflake OA | Oct 14th
Snowflake OA
SDE SNOWFLAKE OA
Epam | 1st Round | Senior Data Engineer
Snowflake | Software Engineer | Phone/Code Screen
Coupon Management System: System Design Interview
Snowflake SWE AI/ML Intern Online Assessment Problems
Question Details
I recently gave the Snowflake SWE AI/ML Intern OA, and these were the three problems asked. The languages allowed were Go, Java, and Python only. --- # Problem 1: Simple Array Rotation Game ##
Description: You are given an array of distinct positive integers and another array that specifies the number of left circular rotations to be performed. ###
Rotation Rule A left circular rotation shifts all elements one position to the left: * The element at index 0 moves to the last position. * All other elements shift left by one index. ###
Task For each rotation value in the rotate array: * Perform the rotation on the original array (not cumulatively). * Determine the index of the maximum element after the rotation. --- ##
Function Description Complete the function getMaxElementIndexes. ###
Parameters: * int a[n]: Array of distinct integers. * int rotate[m]: Array representing the number of rotations. ###
Returns: * int[m]: Array where each element represents the index of the maximum element after corresponding rotations. --- ##
Constraints * 1 ≤ n, m ≤ 100000 * 1 ≤ a[i] ≤ 1000000000 * 0 ≤ rotate[i] ≤ 1000000000 --- ###
Example 1
Input:
a = [1, 2, 3] rotate = [1, 2, 3, 4]
Output:
[1, 0, 2, 1]
Explanation: * Rotation 1 → [2, 3, 1], max = 3 at index 1 * Rotation 2 → [3, 1, 2], max = 3 at index 0 * Rotation 3 → [1, 2, 3], max = 3 at index 2 * Rotation 4 → [2, 3, 1], max = 3 at index 1 --- # Problem 2: String Formation ##
Description: You are given an array of strings where each string has the same length, and a target string. ###
Rules for Formation * You can pick characters from any string. * The indices of chosen characters must be strictly increasing. * You can use multiple characters from the same string. * Different choices of indices or strings count as different ways. --- ##
Task Determine the total number of ways to form the target string.
Return the result modulo: [10^9 + 7] --- ##
Function Description Complete the function numWays. ###
Parameters: * string words[n]: Array of strings of equal length. * string target: Target string to form. ###
Returns: * int: Number of ways to form the target string modulo (10^9 + 7) --- ##
Constraints * 1 ≤ n ≤ 1000 * 1 ≤ length of words[i] ≤ 3000 *
Sum of length of all words ≤ 100000 * 1 ≤ length of target ≤ length of words[i] --- ##
Example ###
Example 1
Input:
words = ["adc", "aec", "efg"] target = "ac"
Output:
4
Explanation: The 4 valid ways: 1. Take 'a' from "adc" (index 1), 'c' from "adc" (index 3) 2. Take 'a' from "adc", 'c' from "aec" 3. Take 'a' from "aec", 'c' from "adc" 4. Take 'a' from "aec", 'c' from "aec" --- # Problem 3: Test the Hypothesis ##
Description: You are given two datasets and a confidence level. Your task is to determine whether their means are significantly different using a t-test. --- ##
Hypothesis Testing * Perform a two-tailed t-test. * Compare the computed t-statistic with the critical t-value at the given confidence level. --- ##
Output Requirements
Return: 1. "Yes" → if means are significantly different 2. "No" → otherwise Also return a magnitude value, defined as: magnitude = |t_computed - t_critical| * Rounded to 2 decimal places --- ##
Function Description Complete the function testHypothesis. ###
Parameters: * int n: Number of data points * float x[n]: First dataset * float y[n]: Second dataset * float confidence_level: Confidence level ###
Returns: * array[2]: * First element: "Yes" or "No" * Second element: magnitude (rounded to 2 decimals) --- ##
Example ###
Example 1
Input:
x = [4.461, 7.757, 17.317, 4.151] y = [8.911, 12.68, -10.593, 17.048] confidence_level = 0.95
Output:
["No", 2.47]
Explanation: * The t-test shows the means are not significantly different. * The margin by which the null hypothesis holds is 2.47.
Topics
More from Snowflake
Related companies
Snowflake Interview Process Overview
The Snowflake interview process typically includes a recruiter screen, one to two technical phone screens, and a 4-6 round on-site or virtual on-site loop. Each round serves a distinct calibration purpose: coding rounds measure correctness, code quality, and complexity reasoning; system design rounds measure architectural judgment at the appropriate level; behavioral rounds measure ownership, leadership scope, and collaboration. Reports tagged on LeakCode from 2024-2026 show Snowflake runs a calibrated process consistent with industry norms for companies of its tier.
Difficulty calibration: Snowflake coding rounds typically run medium difficulty with follow-up depth as the senior discriminator. System design rounds expect production-grade trade-off articulation at L4+ levels. Behavioral rounds expect quantified outcomes ("reduced p99 latency from 800ms to 120ms") rather than vague impact claims. The candidates who advance consistently demonstrate clear thinking out loud rather than perfect final answers.
How To Use Snowflake Question Reports
Real candidate-reported interview questions are a calibration tool, not a memorization target. Snowflake updates its question pool every 2-4 months; memorizing exact problems risks misleading you when the interviewer uses a variant. The high-leverage approach: identify the patterns that appear repeatedly in Snowflake reports, practice those patterns on similar (not identical) problems, and use the reports to understand the interviewer's typical follow-up depth.
Filter the questions above by round type, difficulty, and recency. Focus first on reports from the past 6-12 months; older reports may reference questions that have since rotated out of Snowflake's pool. Reports tagged with quantified difficulty and explicit round type are higher-signal than reports without those tags. The metadata filters help you build a focused study plan in 1-2 hours rather than 8-10 hours of unstructured browsing.
Common Snowflake Interview Mistakes
Reports tagged "no hire" at Snowflake consistently surface a few patterns: jumping into code without clarifying requirements, coding silently for extended periods, missing edge cases (empty input, single element, large input, overflow), producing working code the candidate cannot refactor when probed, and behavioral stories that use "we" instead of "I" diluting individual signal. Strong candidates explicitly avoid these patterns by following a consistent round template.
The single most predictive failure mode in recent reports: not asking clarifying questions. Interviewers are explicitly trained to weight this dimension. Strong candidates ask 3-5 clarifying questions even on problems that look obvious; weak candidates dive into implementation immediately. Strong candidates also verbalize their approach before writing code; weak candidates code in silence and lose the communication dimension of the round's calibration.
More Snowflake question views