Snowflake's OA is a hard gate for many candidates targeting cloud data warehouse roles. The difficulty itself is not extreme, but what you draw varies sharply across batches. Some candidates face three pure LeetCode mediums, others get a single hard problem oriented around data structure design, and a few see SQL-flavored query problems. Reading only one debrief and walking in usually means hitting that batch's specific trap list.
This article stops focusing on a single batch or single problem. Instead it aggregates several Snowflake OA debriefs from this site into a batch-based topic distribution map, with a representative problem and Python solution per batch. You also get a batch variance cheat sheet so you know which traps to watch for once you have done the rest of our Snowflake series.
Hiring Pipeline: Where Snowflake OA Sits
| Stage | Platform | Length | Pass bar |
|---|---|---|---|
| Online Assessment | HackerRank | 90-120 min | At least 2 fully accepted, or 1 full + 1 partial |
| Recruiter Screen | Zoom | 30 min | Behavioral plus resume deep dive |
| Technical Phone | Zoom + CoderPad | 60 min | 1 medium / hard algorithm |
| Virtual Onsite | 4-5 rounds | 1 working day | Algorithm / system design / SQL / behavioral |
Cadence: OA -> Recruiter -> Phone -> Onsite usually spans 4-6 weeks. Snowflake holds a strict OA pass bar - near-full AC is required to advance.
Topic Distribution Matrix: Four Core Batches
The table below groups the Snowflake OA real questions logged on this site into four "batch time windows," with the dominant topic per batch.
| Batch | Window | Question count | Dominant topics | Difficulty |
|---|---|---|---|---|
| A | early | 3 | Cake Allocation / Min Distance / Word Search | Medium |
| B | mid | 2 | Unequal Elements + String Search | Medium-Hard |
| C | recent | 3 | Longest Consecutive + Group Anagrams + Rotate Image | Medium |
| D | current | 2-3 | Vowel DP + Interval Scheduling | Medium-Hard |
The site already hosts deep walkthroughs for batches A, B, C, and D. This article serves as the navigation map plus batch variance reference.
Batch A: Three-Question Mix (Cake / Min Distance / Word Search)
Representative: Cake Allocation
N cakes line up with weights
w[i]. K people split contiguous segments. Maximize the minimum total weight any single person receives.
Approach: classic answer-binary-search.
def cake_allocation(w, K):
def can_split(limit):
cnt, cur = 1, 0
for x in w:
if cur + x > limit:
cnt += 1
cur = x
else:
cur += x
return cnt <= K
lo, hi = max(w), sum(w)
while lo < hi:
mid = (lo + hi) // 2
if can_split(mid):
hi = mid
else:
lo = mid + 1
return lo
Time complexity: O(N log(sum w)).
Trap: lo must start at max(w). Otherwise a single oversize cake leaves no feasible answer.
Batch B: Unequal Elements + String Search
Representative: Unequal Elements
Given array
a[], find the longest subarray where adjacent elements differ.
Approach: sliding window with last-duplicate tracking.
def longest_unequal(a):
best = left = 0
for i in range(1, len(a)):
if a[i] == a[i-1]:
left = i
best = max(best, i - left + 1)
return best if a else 0
Time complexity: O(N). Trap: the second batch B problem (String Search) leans on answer-binary-search. Two problems in 90 minutes is tight pacing. Reserve 25 minutes for the second one.
Batch C: Longest Consecutive + Group Anagrams + Rotate Image
Representative: Rotate Image (in-place)
Rotate an N x N matrix 90 degrees clockwise in place.
Approach: transpose first, then reverse each row.
def rotate_image(M):
n = len(M)
for i in range(n):
for j in range(i+1, n):
M[i][j], M[j][i] = M[j][i], M[i][j]
for row in M:
row.reverse()
Time complexity: O(N^2), in place.
Trap: batch C is a three-problem mix. Save time for Group Anagrams character-count keys - tuple(sorted(s)) is slower than a 26-tuple under large inputs.
Batch D: Vowel DP + Interval Scheduling
Representative: Weighted Interval Scheduling
Given N intervals each with weight
w[i], choose a non-overlapping subset that maximizes total weight.
Approach: sort by right endpoint, then DP with binary search to find the previous compatible interval.
from bisect import bisect_right
def weighted_interval(intervals):
intervals.sort(key=lambda x: x[1])
ends = [x[1] for x in intervals]
n = len(intervals)
dp = [0] * (n + 1)
for i in range(1, n + 1):
s, e, w = intervals[i-1]
j = bisect_right(ends, s) - 1
dp[i] = max(dp[i-1], dp[j+1] + w if j >= -1 else w)
return dp[n]
Time complexity: O(N log N). Trap: the other batch D problem (Vowel DP) looks easy, but inputs may include non-ASCII characters. Normalize before counting.
Batch Variance Cheat Sheet: What to Watch For
| Batch | Key trap | Suggested time split |
|---|---|---|
| A | Word Search can silently land at O(MN4^L) and time out | 30 / 30 / 30 |
| B | String Search answer-binary-search edge cases | 35 / 55 |
| C | Group Anagrams key choice | 25 / 30 / 35 |
| D | Vowel DP non-ASCII normalization | 40 / 50 |
Preparation Roadmap: Three Phases over Two Weeks
| Phase | Content |
|---|---|
| Week 1 | Work through all four Snowflake batch articles on this site, flagging follow-ups you cannot finish |
| Week 2 | Pick 10 each of sliding window, answer-binary-search, and DP from LeetCode Top 100 medium |
| Mock | Run two 90-minute mock sessions on HackerRank's open problem set, mimicking the dual-question pacing of batches B/D |
FAQ
Q1: Does Snowflake OA require full AC to pass? Not strictly, but at least one problem at 100 percent AC plus another close to AC is the lower bound for almost all positive cases. A few batches grade by corner case count, where ~80 percent AC can still advance.
Q2: How big is the gap between OA and onsite difficulty? Onsite leans toward LeetCode Hard plus system design - one full level above OA. Passing OA does not equal passing onsite. Phone screen is the real filter.
Q3: Common HackerRank Python pitfalls?
Python 3.10 by default with functools.cache available. Recursion limit defaults to 1000, so for deep DP either rewrite as a stack or call sys.setrecursionlimit(10**6).
Q4: Is the batch you draw random? Roughly random, but candidates within the same hiring window often draw the same batch. After applying, ask a referrer or alum to confirm what is being seen this week.
Q5: If OA is mediocre, can you still advance? Yes, with a strong referral or standout resume. But aim for "near full AC on both" instead of relying on uncontrollable factors.
Preparing for Snowflake OA?
If you want to know which problems are showing up in the current batch, or you want a real person doing OA proxy / VO proxy live shadowing on interview day, we can walk through a full OA assist / VO assist plan.
Contact
Need real interview questions and a custom prep plan? Add WeChat Coding0201 now to get questions.
Email: [email protected] Telegram: @OAVOProxy