Goldman Sachs | Associate | Bangalore | Dec 2024

goldman sachs logo
goldman sachs
associatebangalore2.5 yearsOffer
January 3, 202526 reads

Summary

I interviewed for an Associate role at Goldman Sachs in Bangalore and received an offer after a multi-round process, which included coding, core Java, system design, and managerial discussions.

Full Experience

I was approached by a recruiter on LinkedIn for an Associate position at Goldman Sachs in Bangalore. After applying through the shared job link, I went through a rigorous multi-round interview process.

Round 1: HackerRank Test
This was a 90-minute online assessment with two DSA questions (one Easy, one Medium on LeetCode equivalent scale). I successfully coded solutions for both problems.

Round 2: CoderPad Virtual Interview
A different recruiter scheduled a 1-hour virtual interview. The interviewer presented two DSA questions, both at a LeetCode Medium level. I solved both of them. One of the questions was Find First and Last Position of Element in Sorted Array. The other was not on LeetCode, but I managed to solve it using a heap-based approach.

The very next day, I received a call from the recruiter informing me that I had been selected for the 'Super Day', which comprised three interviews scheduled for a single day.

Round 3: DSA Round
This was a 1-hour interview focused solely on Data Structures and Algorithms. I successfully solved both questions. One was Container With Most Water, and the other was a variation of a 'Take, No Take' Dynamic Programming problem.

Round 4: DSA + Java Core Questions + Kafka
This round covered a broader range of technical topics. We discussed Java core concepts, concurrency, and messaging queues, alongside a DSA question. Topics included the differences and tradeoffs between Hashtable, HashMap, and ConcurrentHashMap; optimistic vs. pessimistic concurrency control (with a recommendation to watch a specific YouTube video); Kafka internals, its advantages, and disadvantages compared to RabbitMQ; and finally, finding the longest increasing or decreasing subarray.

Round 5: OOPs + Java Internals + LLD + HLD + CN
This interview, originally scheduled for 1 hour, extended to 1 hour and 30 minutes due to the depth of discussion. It began with various OOPs-based questions. We then delved into the entire process of deploying code to the cloud, covering Java compilation, Maven's role, JAR vs. WAR, JVM/JDK/JRE/JIT, and CI/CD pipelines. A significant part involved implementing a rate limiter algorithm to prevent users from requesting an OTP more than 3 times in 5 minutes. We also discussed HTTP vs. HTTPS and TCP vs. UDP. The round concluded with a High-Level Design question on how to implement the rate limiter algorithm within a larger system involving CDNs, API Gateways, and Load Balancers.

Round 6: Techno-Managerial Round
This final round started with my introduction, followed by a detailed discussion about my current company, projects, architecture, and my specific contributions. Most questions were tailored around the skills and experiences highlighted in my resume.

Verdict: Selected
I received the offer letter after three weeks and have happily accepted it. I also shared my compensation details and Flipkart interview experience in separate posts.

Interview Questions (10)

Q1
Find First and Last Position of Element in Sorted Array
Data Structures & AlgorithmsMedium

Given an array of integers nums sorted in non-decreasing order, find the starting and ending position of a given target value. If target is not found in the array, return [-1, -1].

Q2
Container With Most Water
Data Structures & AlgorithmsMedium

You are given an integer array height of length n. There are n vertical lines drawn such that the two endpoints of the i-th line are (i, 0) and (i, height[i]). Find two lines that together with the x-axis form a container, such that the container contains the most water. Return the maximum amount of water a container can store. Notice that you may not slant the container.

Q3
HASHTABLE vs HASHMAP vs CONCURRENT HASHMAP Comparison
Other

Discuss the tradeoffs, advantages, and use cases of Hashtable, HashMap, and ConcurrentHashMap in Java.

Q4
Optimistic vs Pessimistic Concurrency Control
Other

Explain the concepts of optimistic and pessimistic concurrency control, including their use cases, advantages, and disadvantages.

Q5
Kafka Internals and Comparison with RabbitMQ
System Design

Discuss the internal architecture and working principles of Apache Kafka, and compare its advantages and disadvantages against RabbitMQ.

Q6
Longest Increasing or Decreasing Subarray
Data Structures & AlgorithmsEasy

Find the length of the longest subarray that is either strictly increasing or strictly decreasing.

Q7
Java Code Deployment Process & Internals
System Design

Explain the end-to-end process of deploying Java code to the cloud, covering compilation, Maven's role, JAR vs. WAR, JVM/JDK/JRE/JIT concepts, and CI/CD pipeline steps.

Q8
Rate Limiter Design for OTP Requests
System Design

Design an algorithm or system to implement a rate limiter such that a user cannot request an OTP for password reset more than 3 times within a 5-minute window.

Q9
HTTP vs HTTPS and TCP vs UDP Comparison
Other

Discuss the differences, advantages, and disadvantages of HTTP vs HTTPS and TCP vs UDP protocols.

Q10
High-Level Design for Rate Limiter with CDN, Gateway, Load Balancers
System Design

Design a high-level system incorporating CDN, API Gateway, and Load Balancers to implement and scale the rate limiter algorithm discussed previously.

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!