Just finished it recently Snowflake New Grad OA, summed up in one sentence: 3 questions, 120 minutes, medium to high difficulty, obvious time pressure. The style of Snowflake OA is different from that of traditional major manufacturers. It focuses more on DP, string processing, task scheduling and engineering optimization. Many questions are variations of LeetCode Medium-Hard or require strong modeling capabilities.
The platform is HackerRank, which has higher requirements on time complexity and boundary processing. Below I share the latest practical high-frequency question types in 2026 and my speedrunning experience.

Question 1 Array segment sort compliance statistics
Question description
Given an array A containing N integers. You can split the array into two non-empty parts: left and right, sort the elements in the two parts independently, and then splice them back together.
For example, given the array A = [1, 3, 2, 4], there are the following 3 ways to split it:
- Left = [1], right = [3, 2, 4]: Sort separately and then concatenate to get [1, 2, 3, 4]
- Left = [1, 3], right = [2, 4]: Sort separately and then concatenate to get [1, 3, 2, 4]
- Left = [1, 3, 2], right = [4]: Sort separately and then splice to get [1, 2, 3, 4]
Your task is to count how many splitting methods there are so that after the two parts are sorted and rejoined, the final array is non-decreasingly ordered **.
For the example above, the answer is 2: splits 1 and 3 result in an ordered array.
Question 2 Single-element sign flipping minimizes absolute sum
Question description
Given an array A containing N integers. You can select up to one element and multiply it by -1, with the goal of getting the sum of all elements of the array as close to 0 as possible (i.e. Minimizing the absolute value of the sum).
Please write the function: int solution(vector &A);
This function receives an array A and returns the absolute value of the smallest sum that can be obtained by the above operation.
Example
- For A = [1, 3, 2, 5]: Multiply the last element by -1, and the array becomes [1, 3, 2, -5], which sums to 1, which is the closest result to 0 you can get, and the function returns 1.
- For A = [-4, 0, -3, -3]: Multiply -4 by -1, the array becomes [4, 0, -3, -3], the sum is -2, the absolute value is 2, and the function returns 2.
- For A = [4, -3, 5, -7]: The sum of the original array is -1, no elements need to be modified, and the function returns 1.
Question 3 Maximum efficiency score of balanced bracket sequence
Question description
Users have a tool called the Parentheses Perfection Kit, which contains different types of parentheses, each with a specific efficiency score.
The goal is to construct a balanced bracket sequence by adding 0 or more unused brackets from the toolkit to the initial sequence and maximize the total efficiency score (EfficiencyScore) of the sequence, which is equal to the sum of the efficiency scores of all used brackets.
Definition of balancing brackets
A sequence is balanced if and only if:
- Left bracket
(And right bracket)The quantities are equal; - Each left bracket has a right bracket that matches in the correct order (i.e. No cyclic matches can occur). For example:
(),0(empty string),(()())Is balanced;)(,((),())Not balanced.
Enter description
- Initial bracket sequence: string
S - Brackets in Toolkit: String
KitParentheses - Efficiency score corresponding to each bracket: array
EfficiencyRatings(The lengths are allM) - The initial sequence's overall efficiency score is initially 0, and you can use any number of unused brackets in the toolkit, as long as the final sequence is balanced.
Task
Find the maximum possible overall efficiency score that the final equilibrium sequence can achieve.
Note: The question guarantees that the initial sequence can be made balanced by adding 0 or more brackets from the toolkit.
Example
Enter:
S = ")("KitParentheses = ")()())"M = 6EfficiencyRatings = [3, 4, 2, -4, -1, -3]
Brackets and corresponding scores in the toolkit:
| Type | ) |
( |
( |
) |
) |
) |
|---|---|---|---|---|---|---|
| Score | 3 | 4 | 2 | -4 | -1 | -3 |
Best way to add parentheses:
| Added bracket index | New sequence | Overall efficiency score |
|---|---|---|
| 1 | ()( |
0 + 4 = 4 |
| 0 | ()() |
4 + 3 = 7 |
| 4 | ()()) |
7 + (-1) = 6 |
The final equilibrium sequence has a maximum overall efficiency score of 6, and no higher combinations exist.
Function requirements
Completion function FindMaxEfficiencyScore:
- Parameter:
String s: initial bracket sequenceString kitParentheses:Brackets in the toolkitInt efficiencyRatings[m]:Efficiency score corresponding to each bracket
- Return:
LongType, the maximum possible overall efficiency score for the final equilibrium sequence
Constraint:1 ≤ |s| < 2 * 10^5
Snowflake 2026 OA Exam preparation advice
If you're preparing for Snowflake 2026 OA, timing is critical.
If you have enough time, it is recommended that you systematically answer the questions + do a few more real simulations to practice the rhythm and feel; if you are tight on time, or you are investing in many companies at the same time, there is no need to blindly answer the questions, but prepare strategically.
It’s not that many people don’t know how to do the questions, but they are stuck because they don’t have enough time, debugging is time-consuming, and the last question has not been optimized.
Especially in the following situations: I have just started to prepare and my sense of the questions is not yet stable; I am in a hurry; or I often have the problem of "I can write but I can't pass the test case"...
In this case, you can consider Programhelp’s professional OA assistance service, which provides OA ghostwriting(Supports platforms such as HackerRank to ensure that all test cases pass 100%, and there is no charge for failure), as well as real-time idea guidance and full-process package solutions. Many students successfully obtained the Snowflake Offer through their targeted coaching.