HackTheRounds Interview Experiences
Goldman Sachs Quant Summer Analyst OA Interview Experience (2026) - Damaged Toy, Cyclic Key, k-Jump Maze, Offer
Goldman Sachs 2026 Quant Strategies Summer Analyst OA recap: three HackerRank coding problems (Josephus circle, encode/decode cyclic key, k jump maze BFS), nine
By Anonymous ยท 2026-03-25
Background
Goldman's Quant Summer Analyst OA is the version of the Goldman online assessment that has three coding problems instead of two, and the math block is heavier. I am a statistics-major student with a CS minor, applying for the 2026 Quant Strategies track. I had taken the standard two-problem CoderPad version last cycle for the tech track, so when the quant OA dropped I assumed I knew what to expect. I did not. The three problems are all in the LeetCode medium band, but the time pressure is real and the "business scenario" wrapper on each one costs you reading time you do not get back.
Timeline
- Submitted referred application: late February
- Recruiter phone intro: 8 days later
- OA link: same day as the recruiter call
- OA window: 5 days, attempted on day 2
- Math multiple choice block: same session, right after coding
- CoderPad technical VO: 12 days after OA
- Final-round super day: 10 days after VO
- Offer call: 3 days after super day
Total: 7 weeks from application to offer.
OA Format (3 coding + math MCQ, ~100 minutes)
HackerRank. Screen recording and microphone monitoring are on. Goldman will not tell you the exact grading rubric, but partial credit per test case is how their rubric actually works in practice. Write the brute force first, submit, and then optimize.
Problem 1: Find the Damaged Toy
Problem: N kids sit in a circle numbered 1 through N . A host starts handing out T toys, beginning at kid D , and wraps back to kid 1 after reaching kid N . Return the ID of the kid who receives the last (damaged) toy.
One line of modular arithmetic. The kid who gets the T -th toy starting from D is ((D - 1 + T - 1) mod N) + 1 . That is it. O(1) time, O(1) space.
I wrote the brute force loop first out of habit, then replaced it with the modular expression. The brute force is correct for all the visible test cases, so if you panic you can ship it and still pass. The modular one-liner is what the test writer is looking for, and it rolls off the fingers if you have seen the Josephus flavor before.
Problem 2: Encode or Decode with Cyclic Key
Problem: You are given an operation type (1 for encode, 2 for decode), a message string, and a positive integer key. For encode, repeat each character key[i] times, where key[i] cycles through the digits of the key. For decode, compress the run lengths in the message against the cyclic key. If any run length in the input does not match the expected key digit for that position, return -1 .
String simulation. Encode walks the message once and emits each character repeated according to the next digit of the key, incrementing a key index modulo the number of digits. Decode walks the encoded message, counts consecutive runs of the same character, compares each run length to the next expected key digit, and bails out with -1 on the first mismatch. O(n) time, O(n) space.
The gotcha is that the key is an integer, not an array. You have to convert the integer to its digit sequence first. I lost three minutes because I was indexing into str(key) with modular arithmetic but forgot that the key could be a single digit, which makes the modulus 1 and every character gets the same repeat count. Testing on the provided small example caught it.
Goldman specifically wants the -1 sentinel on bad decode inputs. Partial decoding is not accepted.
Problem 3: Minimum Moves in a k-Jump Maze
Problem: You are at (0, 0) of an n by m grid containing 0 (empty) and 1 (obstacle) cells. You can move in the four cardinal directions. In one move you may jump 1 to k steps in that direction, but only if every cell you would jump over is empty. Return the minimum number of moves to reach (n - 1, m - 1) , or -1 if unreachable.
BFS, but the neighbor set is bigger than the usual 4. From any cell, for each of the four directions, expand outward 1 step, 2 steps, up to k steps, breaking out of the inner loop as soon as you hit an obstacle or leave the grid. Every newly reached cell gets distance current + 1 and goes into the queue if it has not been visited. Complexity is O(n m k) in the worst case, which is fine at the given bounds (n, m, k up to 100).
The invariant to call out: the first time you dequeue the destination is the minimum move count, because BFS layers correspond exactly to move count in this formulation. I stated that out loud and moved on. Without the early break on obstacle, you will fail the maze test cases that stress the obstacle density.
Practice it: [[problem/842?company=43|Chess Bishop Minimum Moves]]
Math Multiple Choice
Goldman attaches the same nine-question math block to the quant OA as the tech OA, with the quant version leaning slightly harder on probability and linear algebra. Content I recall:
- Expected-value dice game with a reroll rule.
- Probability of drawing a specific count of a category from a small deck.
- General term of a series with an integral definition.
- Derivative of a definite integral with variable bounds (Leibniz).
- Uniqueness of solution for a 3x3 linear system.
- Path integral over a parametric curve.
- Eigenvalue, determinant, identity-matrix true-or-false triple.
- CLT probability for a sum of Bernoulli variables.
For the quant track, treat this block as the primary filter. A clean coding score will not carry you if the math is under 70 percent.
CoderPad VO (1 hour)
The VO was one extended coding problem, not a loop. I was asked to implement a rolling percentile estimator over a stream of floating-point inputs, then extend it to support a sliding window of the last N observations. I used a sorted multiset approach with bisect in Python, then walked through a two-heap refinement for the sliding-window extension. The interviewer kept probing edge cases: duplicate values, repeated inserts of the same value, empty window queries.
No standalone behavioral in the VO. The interviewer asked "why Goldman Quant" at the start and "any questions" at the end, and that was the behavioral footprint.
Super Day
Three 45-minute rounds.
- Round 1: a PM asked me to walk through a regression output and identify likely sources of bias. Part brainteaser, part diagnostic.
- Round 2: brainteaser plus probability whiteboard questions. Expected-value flavor with a twist on a random-walk on a bounded interval.
- Round 3: behavioral plus team fit. Who on the team have you talked to, what drew you to this desk specifically, where do you want to be in three years.
Result
Offer landed three business days after the super day. Recruiter said the turnaround is that fast because Goldman Quant runs a single-batch decision process rather than rolling.
Tips
- Memorize the one-line Josephus-style formula. For the "last toy" problem, the modular expression `((D - 1 + T - 1) mod N) + 1` is the intended solution. Writing the brute force loop costs you zero correctness but signals that you did not recognize the pattern.
- Convert integer keys to digit sequences up front. On Problem 2, extract `[int(d) for d in str(key)]` first. Every later index operation becomes trivial. Mixing modular arithmetic on raw integers with string indexing is where the off-by-one bugs live.
- For k-jump BFS, break inner loops on obstacle immediately. Do not expand further in that direction. Without the early break, you will pass the easy test cases and fail the dense-maze ones.
- Treat the math block as the primary filter for quant. Nine questions in 40 minutes on probability, linear algebra, and calculus. A weekend of review on CLT, Leibniz, eigenvalue intuition, and consistency of linear systems is the exact surface they test.
- For the VO rolling-percentile problem, reach for sorted multiset first and two-heap second. The interviewer expects you to articulate the tradeoffs, not just ship one approach. Start with the simpler structure, then optimize under push.
- On super day, have a specific reason for the desk. "Quant Strategies is interesting" gets filtered. "I spoke with X on the Equity Derivatives Strats desk at the networking event and want to work on Y specific problem area" is what gets you the offer.