Snowflake’s interview process is generally quite challenging. You can prepare by referring to this website.
First Two Rounds: Coding (60 minutes each; either one hard problem or two medium-difficulty LeetCode-style questions per round)
Round 1: Coding (60 minutes)
Problem 1: You’re given a Test Pipeline with three Test Jobs:
Test_Job1: run build, then test_a, test_b, test_c
Test_Job2: run build, then test_d, test_e, test_f
Test_Job3: run build, then test_x, test_y, test_z
Each job and test step has a given runtime. You must propose a way to optimize the pipeline’s end-to-end execution time.
Problem 2: Given a board, two players take turns placing pieces, and whoever connects four in a row wins. Implement canPlayWin(board, x, y, player) to determine if placing at (x, y) makes that player win. (This one isn’t on LeetCode, but it’s not hard—focus on writing clean, concise code.)
Round 2: Behavioral Questions (60 minutes)
Deep dive into your “most proud project.”
Third Round: System Design (60 minutes)
Design a key-value store with global versioning and time-travel capabilities.
Overall, Snowflake’s interviews are on the tougher side and can take quite a while to complete, so be sure to review related interview experiences in advance.