
The Snowflake OA is hosted on the HackerRank platform. There are three coding questions with a total time limit of 120 minutes. Overall, the questions are quite challenging, and the interview process tends to take a long time to progress.
I am really grateful for the tool Linkjob.ai, and that's also why I'm sharing my entire interview experience here. Having an invisible AI assistant during the interview is indeed very convenient.

My problem-solving approach:
Precompute all primes up to 10^6 using the Sieve of Eratosthenes to quickly check primality. Use dynamic programming where dp[i] represents the number of valid splits for the first i digits. For each position i, loop back to j (from 0 to i-1), extract the substring s[j..i-1], ensure it has no leading zeros and is a prime, then add dp[j] to dp[i]. Finally, return dp[n] % (10^9 + 7).


My problem-solving approach:
To find prefixScore, iterate through each suffix of prefixString and check the longest match with a substring ending at each position in text. Similarly, for suffixScore, check the longest match of suffixString’s prefix with substrings starting at each position in text. For every possible start and end in text that align with these matches, compute textScore as the sum of their lengths. Keep track of the substring with the highest textScore; if there’s a tie, select the lexicographically smallest one.


My problem-solving approach:
First, verify if src can be rotated into target (if not, return 0 immediately). Use dynamic programming or matrix exponentiation to count the number of valid suffix splits at each step. Each step involves transforming the current string by moving a suffix to the front, so we track valid transitions that lead to target in exactly k steps. Return the result modulo 10^9 + 7.
The assessment usually gives you three coding questions. These questions test your skills in data structures and algorithms. Most of the time, the problems range from medium to hard difficulty. If you have practiced on platforms like LeetCode, you will notice that many questions feel familiar.
Snowflake's HackerRank OA focuses heavily on algorithms and data structures, with dynamic programming (DP), string manipulation, and mathematical logic being dominant. For example, problems like "Prime String" require sieve-based prime checks combined with DP to count valid splits. Another type, like "Text Scoring", emphasizes string matching for prefix and suffix overlaps. Topics such as graph traversal (BFS/DFS) and efficient data structure usage (heaps, treemaps) also appear frequently, as seen in problems involving optimal transformations or interval management.
Before the Online Assessment (OA) starts, prepare a concise library of commonly used code snippets. It should include core content such as the Sieve of Eratosthenes for prime checks, standard Dynamic Programming (DP) initialization frameworks, and string matching helpers. This saves valuable time during the test. You don’t need to write basic logic from scratch, but can directly adapt these templates to fit the problem, reducing typos and allowing you to focus on core problem-solving.
Right after drafting your solution, be sure to validate edge cases immediately. For string-related problems, check scenarios like empty strings, single-character inputs, and leading/trailing zeros; for DP problems, confirm base cases and boundary conditions. Identifying these issues early prevents failing hidden test cases and saves time on later debugging.
If you can’t think of an efficient solution right away, use a brute-force approach first to ensure correctness. For example, in "Text Scoring", start with a simple loop to check all possible prefix/suffix matches, then optimize by cutting redundant checks. Brute-force helps you grasp the core logic of the problem and pass small test cases; once it works, identify performance bottlenecks and replace them with optimized methods.
Focus on the high-frequency topics in Snowflake’s OA: Dynamic Programming (DP), string manipulation, and basic mathematical logic. Spend 60% of your practice time on DP. Master classic patterns like split-counting, subsequence matching, and state transition optimization. For string problems, practice prefix/suffix matching, rotation checks, and efficient substring validation to handle questions like "Text Scoring" and "String Transformation" smoothly.
Adopt a timed training mode, strictly following the OA standard of "completing 3 questions in 120 minutes" to avoid rhythm chaos in the actual exam due to lack of time pressure during practice.
Create custom question banks on platforms like LeetCode and HackerRank, combining DP, string, and math problems in a ratio of "2 medium-difficulty + 1 harder-difficulty" to replicate the problem combination logic of the exam.
Conduct a review after each simulation: not only correct wrong answers but also record the time spent on each question. Focus on optimizing questions that take more than 30 minutes to prevent the overall exam from being affected by timeout on a single question.
Gather OA recall questions from forums like Blind and Glassdoor, or from recent candidates’ blogs. Sort out high-frequency question types and answering pitfalls for targeted intensive practice.
Use a personalized mock interview platform like Linkjob.ai for practice. It tailors interview questions based on your resume and the position you’re applying for. After you answer, it follows up with probing questions, creating an experience that closely replicates a real interview.
There are no specific language restrictions for the Snowflake HackerRank test. Languages like C++, Java, and Python are all allowed.
After passing the OA, the subsequent process usually includes three core interviews, each lasting 60 minutes:
The first is a Coding Interview, focusing on algorithms and data structures. The difficulty is similar to that of the OA but places more emphasis on on-site derivation of problem-solving ideas.
The second is a Behavioral Interview (BQ), which asks questions around scenarios such as personal project experience, team collaboration, and problem-solving to assess the candidate's fit with Snowflake's culture.
The third is a System Design Interview, requiring the design of technical solutions for business scenarios to evaluate architecture design and technology selection capabilities.
The scoring adopts a dual standard of "correctness + efficiency", with both weights being basically equal. First, the code must pass all test cases to ensure correctness. Second, the time complexity and space complexity of the algorithm will affect the final score. For example, when solving "Prime String", the score of code using the Sieve of Eratosthenes (O(n log log n)) will be higher than that of code using brute-force prime checking (O(n√n)), even if both pass the tests. In addition, code readability is also a hidden scoring item.