This SIG OA I recently did with my students. The overall pace is relatively fast—4 pure algorithm questions in 70 minutes. The platform is Codesignal, so it's essentially the same as the 70-minute OAs on TikTok, Visa, Capital One, and Robinhood: they all use the Codesignal question bank and are based on the question bank, not customized by the company.
A brief word of science:
- 70min = 4 Leetcode-style algorithmic problems (programmable or not OOD)
- 90min = 4 OOD questions (class design, interface implementation)
The two sets of essential questions are different, but both are part of Codesignal's commercial question bank and are not exclusive to SIG.

SIG OA Real Questions Review
Problem 1: Case Toggling Feature
Description Imagine you are developing a messaging application, and you want to include a feature that allows users to playfully toggle the case of text, making it more Given a string inputText that includes uppercase and lowercase English letters, spaces, digits, and punctuation marks, your task is to write a function that toggles the case of each alphabetic character in the string (converting uppercase to lowercase, and vice versa), while leaving all other characters the same.
Return the processed string with the case of each alphabetic character toggled.
Example
- For
inputText = "Python 3.9 is SUPER cool!", the output should besolution(inputText) = "pYTHON 3.9 IS super COOL!".
Input/Output
- [execution time limit] 3 seconds
- [input] string
inputText - [output] string
Problem 2: Consonant Substitution Cipher
Description You're implementing a simple substitution cipher that only affects consonant characters in a memo. This cipher works by shifting every k-th consonant to the following consonant in the alphabet, while leaving vowels and other characters unchanged.
Notes.
- Only consonant characters are affected.
b, c, d, f, g, h, j, k, l, m, n, p, q, r, s, t, v, w, x, y, z. - When shifting from
z, it wraps around tob. - The case of each character must be preserved (uppercase stays uppercase, lowercase stays lowercase).
Example
- For
memo = "Hello World"Andk = 2, the output should besolution(memo, k) = "Hemlo XorMd".Explanation. The consonants in the memo are: 'H', 'l', 'l', 'W ', 'r', 'l', 'd'.- 1st consonant 'H': Unchanged.
- 2nd consonant 'l': Shifts to 'm'.
- 3rd consonant 'l': Unchanged (counter resets).
- 4th consonant 'W': Shifts to 'X'.
- 5th consonant 'r': Unchanged.
- 6th consonant 'l': Shifts to 'm'.
- 7th consonant 'd': Unchanged.
Input/Output
- [execution time limit] 3 seconds
- [input] string
memo - [input] integer
k - [output] string
Problem 3: Matrix Restoration
Description The given matrix mat contains only one 4 x 4 Your task is to find the missing value denoted by ? in it and replace the ? It is guaranteed that the 4 x 4 square contains unique values from the range [1..16].
Example
- For.
mat = [
["1", "2", "3", "4" ], ["5", "6", "?
["5", "6", "?" , "8"].
["9", "10", "11", "12"].
["13", "14", "15", "16"]
]
The output should be.
solution(mat) = [
["1", "2", "3", "4"],
["9", "10", "11", "12"].
["13", "14", "15", "16"]
]
- Explanation. The missing number in the sequence 1 through 16 is 7.
Input/Output
- [execution time limit] 3 seconds
- [input] array.array.string
mat - [output] array.array.string
Problem 4: Molecular Bond Stability
Description You are a chemist working in a laboratory that studies molecular compounds. You have two arrays representing the atomic weights of elements in two You have two arrays representing the atomic weights of elements in two different compounds. X represents the primary elements and y represents the secondary elements.
Your research has shown that when two compounds have the same "balance factor" (calculated as the difference between primary Your research has shown that when two compounds have the same "balance factor" (calculated as the difference between primary and secondary atomic weights), they can potentially form stable molecular bonds.
Your task is to analyze these compound arrays and determine how many unique molecular pairings could potentially form stable bonds. A stable bond occurs when the balance factor of one compound position matches the balance factor of another position.
Count the total number of valid molecular pairings (i,j) where i <= j and the balance factors are equal. x[i] - y[j] = x[j] - y[i].
Example
- For
x = [5, 2, 8, 4]Andy = [5, 8, 4, 6], the output should besolution(x, y) = 7.Explanation. The conditionx[i] - y[j] = x[j] - y[i]can be rewritten asx[i] + y[i] = x[j] + y[j]. Let's calculate the sum for each index.- Index 0: 5 + 5 = 10
- Index 1: 2 + 8 = 10
- Index 2: 8 + 4 = 12
- Index 3: 4 + 6 = 10
Valid pairs (i, j) where sums are equal and i <= j.
- Sum 10: (0,0), (0,1), (0,3), (1,1), (1,3), (3,3) -> 6 pairs.
- Sum 12: (2,2) -> 1 pair.
- Total = 7.
Input/Output
- [execution time limit] 3 seconds
- [input] array.integer
X - [input] array.integer
y - [output] integer
Overall Experience & Codesignal Science
SIG's OA is actually very "topic-oriented"--
No weird simulations, no company-specific difficulties, just pure Codesignal algorithm questions.
There were 4 questions / 70 minutes, and they were the kind of questions that you have to be familiar with in order to pass them. The logic wasn't too difficult, but the time frame was tight.
Also re-emphasize:
All the companies on the Codesignal platform (TikTok / Capital One / Visa / SIG / Robinhood ...) have the same algorithmic question bank in the 70min set.
So the preparation method is also shared:
- High Frequency String Processing
- Counting class map
- simple data structure
- simulation-based
- Some basic combinations / math problems
It's not on the hard side overall, but it's easy to roll over on the realization details.
If you've also been preparing for Codesignal sets recently (TikTok / SIG / Visa / Capital One...)
Wanted:
- stable
- (of a car) stay on the road without overturning
- Don't let the timer drive you down.
- Not getting pitted by boundary details
- Or you may want to brush up on the "same questions" in advance.
Feel free to talk to me anytime.
We're so familiar with it, and the 70min set has been taken so many times, that you don't have to risk your own pressure seconds at all.
How do we get an assist?
✔ Use ToDesk to connect without traces, the whole process is safe and stable
✔ You concentrate on writing on the front end, I'll remind you of key details in my voice
✔ The choke point will immediately indicate the direction to prevent going the wrong way
✔ Early warning of pitfalls (boundaries, case, counting methods)
✔ Timer helps you steady your rhythm when you're stressed out
✔ Codesignal / HackerRank / Codility are very familiar with all types of question banks
✔ The goal is:One write, zero debugging, solid delivery.
If you can stabilize, don't gamble.
This is a philosophy that Programhelp has always adhered to.