Goldman Sachs | Analyst | Bengaluru | Oct 2024 [Offer]
Anonymous User
6590

My background: Total 2 years 3 months experience
Got a referral for an Associate role. Received hackerrank test link a week later.

Round 1 - OA

Don’t remember the questions but one was an easy level question and second was leetcode medium level. Was able to solve both of them.
The recruiter reached me and informed me that I would be considered for an Analyst profile as my years of experience are less than 3.

Round 2 - Coderpad (13th Sep 2024)

Question 1
https://leetcode.com/problems/fraction-to-recurring-decimal/description/

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

I explained the approach for the first problem and jumped into implementing it. For the second question, I discussed the extra space approach first and then explained the constant space approach and implemented it. I had to execute my code for some test cases. After that the interviewer added some more test cases. I had to handle some corner cases in the first problem in order to pass them.

Superday (18th Sep 2024)

Round 1 - Data Structures

Two interviewers were present, one question asked by each of them.
Question 1
https://leetcode.com/problems/pairs-of-songs-with-total-durations-divisible-by-60/description/

Question 2
https://leetcode.com/problems/median-of-two-sorted-arrays/description/

Again the expectation here was to produce an optimized working solution that should pass the test cases. For the second question, I first gave the approach using extra space but surprisingly the interviewer asked me to code and execute that. And after executing all the test cases, he asked me to optimize the approach. I was able to explain to him the optimized approach and was able to write the code, but some tests were failing and we ran out of time.

Round 2 - Software Engineering Practices

Two interviewers were present. The first interviewer asked this question.
Question 1
https://leetcode.com/problems/sliding-window-maximum/description/

The remaining 30 mins were dedicated to some discussion around my resume, operating system and system design concepts.
The interviewer went in depth in one of my recent projects in my current company.
After that he started asking OS questions like:

  • Difference between process and a thread
  • Deadlocks
  • What is semaphore and how it is used in OS

The interviewer then asked how to handle concurrency in a theater booking system, focusing on how to make sure two users don’t book the same seat at the same time. I was also asked about handling cases where payment doesn't go through and how to release the seat if the user doesn’t complete the payment. The interviewer asked about what would be the best customer experience during the entire process. Additionally, the interviewer wanted to know how to identify and prevent payment failures before the user even goes to the payment page. We discussed using locking methods, setting time limits for holding seats, checking seat availability in real-time, and doing checks before sending users to the payment page.

Round 3 - Software Design and Architecture

Question 1
Given a 2-D String array of student-marks, find the student with the highest average and output his average score. If the average is in decimals, floor it down to the nearest integer.

Input:  [{"Bob","87"}, {"Mike", "35"},{"Bob", "52"}, {"Jason","35"}, {"Mike", "55"}, {"Jessica", "99"}] Output: 99 
Explanation: Since Jessica's average is greater than Bob's, Mike's and Jason's average.

I explained the brute force as well as the optimized approach. Then was expected to code and execute the sample test cases. The interviewer then added some additional test cases for these. Some tests were failing due to negative scores. Fixed the cases.

The second interviewer asked me some Java related questions like:

  • Comparator and Comparable
  • Serialization and Deserialization in Java
  • Exception handling related questions

I was asked how to design a system where employee records are sent from an upstream service to my service, which then updates the data in a downstream service. Handling the communication between services (Kafka / SNS-SQS (I had experience with SNS-SQS)). The same employee record with a different timestamp can arrive, we have to update the previous record based on timestamp. This timestamp is different from the current timestamp. (Records can come in any order of timestamps).
I clarified the requirements but felt that the time left was too low. Proposed the approach to the interviewer, he then asked me about the database choices (SQL / NOSQL) and was asked to write a schema for the employee record.

Round 4 - Hiring Manager

It was a quick 20-25 mins call. The HM asked some questions like

  • Why I am leaving the current company
  • Why GS
  • Asked me to explain one of my recent projects in my current company, asked few questions on that
  • My expectations from GS and the role
  • My views on work from office culture
    I asked him the team charter and goals for the next couple of years.

Verdict: Received offer 2 weeks later.

Compensation Details: https://leetcode.com/discuss/compensation/5921924/goldman-sachs-vs-flipkart-bengaluru/2678378

Comments (7)