Interview experience - Goldman Sachs - Analyst
Summary
I went through a comprehensive, multi-stage interview process at Goldman Sachs for an Analyst role, which included an online assessment, multiple technical rounds covering data structures, algorithms, debugging, system design, and behavioral questions. I successfully cleared all rounds and received a job offer.
Full Experience
I applied through referral on GS portal and recieved an online assesment link after few days.
Round 1 - Online Assesment
Q1 - Decode ways
Q2 - Given a range of numbers [l, r] and an integer q. The task is to count all such number in the given range such that any digit of the number does not match with any digit in its product with the given number q.
I completed both the questions and got an email asking for my details and that interview will be scheduled soon.
Round 2 - Coderpad.
Got a call from HR, 2 months after the OA for scheduling interview.
Q1 -Trapping rainwater disguised as compute snowpac.
Q2. The question asked was about a bishop on an 8x8 chessboard. I was given the starting and target coordinates and had to find the minimum number of moves for the bishop to reach the target. If it was impossible, I needed to return -1.
Since I completed both the questions with optimal implementation and edge cases, interviewer asked me a third debugging question.
Q3 - Given a program to find number of characters (including spaces) between the given positions of two words. Debug the program so that it works for all the given test cases.
Interviewer gave around 5 test cases on which the program was failing. I was able to find three bugs and interviewer wrapped it up
Super day
From here on every round had a panel of two interviewers interviewing.
Round 3 - DSA (Mandatory)
First interviewer asked first two DSA questions. Q1. Min Stack - A variation of this question was asked where I had to implement max stack instead of min. Q2. Number of Islands - A slight variation of this question was asked.
Second interviewer joined a little late and started with resume grilling and asked lots of question on project in current company.
Q3. Max path sum -A variation of this question was asked where we could make only diagonal and downwards movement.
Round 4 - Software engineering principles (Mandatory)
Q1. Given a logger class and three functions - a - startTime function with startTime and process id as parameters. b - endTime function with endTime and process id as parameters. c - print function - Prints all the completed process whenever invoked in ascending order of start time.
The program works as a stream class with continuous inputs being fed to it.
Q2. Convert integer to words - A variation of this question was asked where in the conversion has to be in Indian format instead of International. Q3. Decode ways Q4. Design a distributed cache system and some questions on scalability, load balancing, etc were asked. Q5. Some basic questions revolving around performance improvement in the cache system were also asked towards the end of the interview.
Wemt very well and was able to answer all the questions.
Round 5 - Design and Architecture
Q1. SQL query to find all employees whose salary is greater than their manager.
Q2. Predict the winner - Was asked to print the path of each of the players as well.
Q3. Find shortest distance from bottom left vertex to upper right vertex of a cube.
One of the interviewers did not join this round, so I had design round again next day.
Round 6 - Design and Architecture
Q1. Design LLD for BookMyShow (with full implementation).
Q2. How will you scale the system in case of increased traffic load?
Q3. Design LLD for rate limiter.
Q4. How will you handle a situation in a rate limiter where the window has space for just one request and multiple requests come at once from same user through different devices.
Round 7 - Hiring Manager
Q1. Why are you looking for switch so early Q2. Why GS Q3. Couple of behavioural questions.
Verdict - Selected
Interview Questions (21)
Decode Ways
Count Numbers with No Matching Digits in Product
Given a range of numbers [l, r] and an integer q. The task is to count all such number in the given range such that any digit of the number does not match with any digit in its product with the given number q.
Trapping Rain Water (Snowpack variation)
The classic 'Trapping Rain Water' problem, disguised as computing snowpack.
Minimum Moves for Bishop on Chessboard
Given an 8x8 chessboard with starting and target coordinates for a bishop, find the minimum number of moves for the bishop to reach the target. Return -1 if impossible.
Debug Program: Characters Between Words
Given a program to find number of characters (including spaces) between the given positions of two words. Debug the program so that it works for all the given test cases. I was able to find three bugs given around 5 failing test cases.
Max Stack (Min Stack variation)
A variation of the Min Stack problem; I had to implement a Max Stack instead of a Min Stack.
Number of Islands (variation)
Minimum Path Sum (Diagonal/Downwards variation)
A variation of the Minimum Path Sum problem where movement was restricted to only diagonal and downwards.
Design a Logger Class with Time-Ordered Process Printing
Given a logger class and three functions: startTime(startTime, processId), endTime(endTime, processId), and print(). The print() function should print all completed processes whenever invoked, in ascending order of start time. The program should handle continuous inputs as a stream.
Convert Integer to Indian English Words (variation)
A variation of the 'Integer to English Words' problem, where the conversion needs to be in Indian number format instead of International.
Decode Ways
Standard LeetCode problem Decode Ways.
Design a Distributed Cache System
Design a distributed cache system. Questions on scalability, load balancing, and performance improvement were also asked.
SQL Query: Employees with Salary > Manager's Salary
Write an SQL query to find all employees whose salary is greater than their manager's salary.
Predict the Winner (with path printing)
A variation of the 'Predict the Winner' problem, with an additional requirement to print the path of each player.
Shortest Distance in a Cube
Find the shortest distance from the bottom-left vertex to the upper-right vertex of a cube.
LLD Design: BookMyShow
Low-level design for a system like BookMyShow, including full implementation details.
Scaling a System for Increased Traffic
Discuss strategies to scale a system in case of increased traffic load.
LLD Design: Rate Limiter
Low-level design for a rate limiter.
Rate Limiter Edge Case: Multiple Requests from One User/Device
How to handle a situation in a rate limiter where the window has space for just one request, but multiple requests come simultaneously from the same user through different devices.
Behavioral: Why are you looking for a switch so early?
Behavioral question: Why are you looking to switch jobs so early?
Behavioral: Why Goldman Sachs?
Behavioral question: Why are you interested in Goldman Sachs?