Goldman Sachs | Interview Experience | Associate | Selected | Feb '25

goldman sachs logo
goldman sachs
AssociateBangalore4.5 years
April 14, 20254 reads

Summary

I successfully interviewed for an Associate role at Goldman Sachs in February 2025, navigating through online assessments, multiple technical rounds (DSA, LLD, HLD), managerial discussions, and an HR round, ultimately receiving a job offer.

Full Experience

Background

  • College: Tier 1
  • Experience: 4.5 yrs
  • Current Company: SAP Labs

1. Online Assessment (Hackerrank)

  1. https://leetcode.com/problems/group-anagrams/description/
  2. https://leetcode.com/problems/count-number-of-teams/description/
I was able to complete it in about half an hour.

2. CoderPad

After a quick intro of me, the interviewer jumped right into the problem. And as soon as he entered the Q, there was a power cut at my place and I lost the internet connection. I quickly switched to my phone's hotspot and reconnected. I had not seen the Q that he had presented me with, but he changed that Q and I was then given the below problems to solve.

  1. https://leetcode.com/problems/first-unique-character-in-a-string/description/

Gave the optimised approach directly, as I had already lost some time due to the power cut. Then he asked me to code it. There were some Qs around the approach as I was using C++ and perhaps the interviewer had more experience in Java. But I clarified all the doubts he had regarding the data structures I used.

  1. https://leetcode.com/problems/trapping-rain-water/description/

It was a variation with snow getting filled between the hills. You can find the Q at multiple places on the internet.

I gave the brute force approach first, then optimised it using max height arrays and coded the solution. Once the solution worked correctly, I slided in the fact that the problem can be solved using two pointers in a more optimised way. Seemed like the interviewer was not expecting it and since there was still 10-12 mins left, he asked me to code that approach as well. Which I was able to complete just in time.
After almost 2 months of waiting and thinking that the position might have already been filled by some other candidate, I out of the blue received the call from the recruiter for the next rounds and the super day was scheduled 2 days later.

3. Super Day

All the rounds had 2 interviewers where each interviewer came up with 1 Q each. All rounds were of 1 hour each which started with my introduction and ended with whether I had any Qs for them.

Round 1 - Technical (DSA)

  1. https://leetcode.com/problems/maximum-population-year/description/
It took me a couple of minutes to think and come up with the optimised approach. Then I was able to code it pretty quickly.
  1. Create a "Set" Data Structure with min. memory consumption.

    This was an interesting Q and revolved around math operations like mod, left shift, right shift, etc. The idea was to not use complete bytes to store the value in the array but to divide the bytes into bits and use each bit as a storage unit.

Round 2 - Technical (DSA + LLD)

  1. https://leetcode.com/problems/partition-equal-subset-sum/description/
  1. LLD - Design a food delivery application

The round went pretty smooth, I was able to solve both the problems.

Round 3 - Technical (DSA + LLD)

  1. You have written "Design Principles" in your resume. Could you tell us about what design principles you have used in your projects?

    I had not revised design principles in months!! And there were cross questions on everything I was saying. It didn't go well.

  2. Then he asked me to design the classes and functions (LLD) for a timesheet entry application. A tool that employees use in an organisation to put in their daily working hours.

    (The Q was detailed with multiple features he was interested in, but I don't remember all the details.) I even struggled in this Q. With just 10 mins remaining and I not anywhere near the complete solution, they decided to skip it and move to the next Q.

  3. Given the rth row and cth column of the pascal's triangle. Return the value at that position of the triangle.

    The interviewer wanted me to come up with the recursive solution. He specifically mentioned that there is a formula for this but he doesn't want me to use that. I solved the problem in just under 3 mins (with code).

Received a call from the recruiter that the result of the last round was not good. It was a mix. Therefore, they would like to retake the round.

Round 4 (Round 3 again) - Technical (DSA + HLD)

I was presented with a long 8-10 lines of problem statement along with multiple enums, classes, methods and test-cases already written. I was supposed to complete the one empty method present in the program.

After a 15-20 mins discussion around the problem statement and clarifying all my doubts, the problem came down to something similar as https://leetcode.com/problems/optimal-account-balancing/description/ ( or Minimising the no. of transaction in splitwise). It was a variation in terms of transactions of buying and selling of assets.

I immediately told them the approach using 2 priority queues and explained how it would work. They asked me to code it. Since a lot of the time had passed in clarifying the problem statement and I was on the right track with my approach, they stopped me half way through the code stating that they were satisfied and would like to move to the 2nd part of the interview.

Then they asked me some Qs about scaling the same application (HLD). Some of the Qs were -

  • What kind of database would you use?
  • Database schema if SQL is used.
  • API design
  • How will you scale it?
  • How will you keep it running all the time (availability)?
  • What deployment strategy would you use?

The round went really well. Probably the best one so far.

Round 5 - Managerial

It started with my Introduction. Then we delved deep into the projects I worked on in my current organisation. I took my time and explained everything in detail. Answered all the counter questions in detail as well.

Then there were some other standard Qs like what the development lifecycle looks like in my current project. How do I debug an issue raised by a customer on the production system and how is the process different from what I do when I encounter bugs while testing my own development?

At last there were situation based Qs around ethics.

The Day finally ended and I was pretty happy with my performance.


4. HR Round

It was a standard HR Round where I was asked about my family background, why am I looking for a switch and why I want to move to Bangalore (my current location is Gurgaon)? What was my current compensation and what was I looking for?


Final Verdict - Accepted!!

Interview Questions (15)

Q1
Group Anagrams
Data Structures & AlgorithmsMedium

Given an array of strings strs, group the anagrams together. You can return the answer in any order.

Q2
Count Number of Teams
Data Structures & AlgorithmsMedium

There are n soldiers standing in a line. Each soldier is assigned a unique rating value. You have to form a team of 3 soldiers amongst them such that their ratings are in strictly increasing or strictly decreasing order.

Q3
First Unique Character in a String
Data Structures & AlgorithmsEasy

Given a string s, find the first non-repeating character in it and return its index. If it does not exist, return -1.

Q4
Trapping Rain Water Variation (with snow)
Data Structures & AlgorithmsHard

It was a variation of the Trapping Rain Water problem, with snow getting filled between hills. The core idea is to calculate how much 'snow' (or water) can be trapped between elevation points. This problem is similar to LeetCode's Trapping Rain Water.

Q5
Maximum Population Year
Data Structures & AlgorithmsEasy

You are given a 2D integer array logs where logs[i] = [birth_i, death_i] indicates the birth and death years of the ith person. The population of some year x is the number of people alive during that year. The ith person is alive in year x if birth_i <= x < death_i. Return the earliest year with the maximum population.

Q6
Create a Set Data Structure with minimum memory consumption
Data Structures & Algorithms

The task was to create a 'Set' data structure emphasizing minimal memory consumption. The discussion revolved around mathematical operations like modulo, left shift, and right shift. The core idea was to avoid using complete bytes for storage in an array, instead dividing bytes into bits and utilizing each bit as a storage unit.

Q7
Partition Equal Subset Sum
Data Structures & AlgorithmsMedium

Given a non-empty array nums containing only positive integers, find if the array can be partitioned into two subsets such that the sum of elements in both subsets is equal.

Q8
Design a food delivery application
System Design

Low-Level Design (LLD) for a food delivery application.

Q9
Design Principles in Projects
Behavioral

Questions based on design principles mentioned in my resume, asking for specific examples of design principles used in past projects.

Q10
Design a timesheet entry application (LLD)
System Design

Low-Level Design (LLD) for a timesheet entry application. This tool allows employees in an organization to record their daily working hours. The problem statement was detailed with multiple features of interest, though I don't recall all specifics.

Q11
Pascal's Triangle Value at (r, c)
Data Structures & Algorithms

Given the rth row and cth column of Pascal's triangle, return the value at that specific position. The interviewer specifically requested a recursive solution and explicitly stated not to use a direct formula.

Q12
Optimal Account Balancing Variation (Asset Transactions)
Data Structures & AlgorithmsHard

A complex problem statement with existing enums, classes, methods, and test cases, requiring the completion of one empty method. The problem was a variation of optimal account balancing (like Minimizing the number of transactions in Splitwise), focused on transactions involving buying and selling assets.

Q13
Scaling the Asset Transaction Application (HLD)
System Design

High-Level Design (HLD) questions regarding scaling the previously discussed asset transaction application. Specific questions included: What kind of database would you use? Database schema if SQL is used. API design. How will you scale it? How will you keep it running all the time (availability)? What deployment strategy would you use?

Q14
Managerial and Behavioral Questions
Behavioral

The round began with my introduction, followed by an in-depth discussion of projects from my current organization. Standard questions were asked regarding the development lifecycle in my current project, debugging processes for customer-raised production issues versus self-found bugs, and situation-based questions on ethics.

Q15
HR Round Questions
Behavioral

A standard HR round covering family background, reasons for switching jobs, motivation to move to Bangalore (from Gurgaon), current compensation, and salary expectations.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!