Goldman Sachs | Associate | Bangalore | [Offer]

goldman sachs logo
goldman sachs
Associate Software Engineerbangalore4 yearsOffer
October 9, 202229 reads

Summary

I successfully interviewed for an Associate Software Engineer position at Goldman Sachs in Bangalore, navigating through five rigorous rounds of technical and coding challenges, ultimately receiving an offer.

Full Experience

I recently interviewed for the Associate Software Engineer position at Goldman Sachs in Bangalore, India, bringing 4 years of experience to the table. My interview process consisted of five challenging rounds, with rounds 2, 3, and 4 occurring on the same day, followed by round 5 a week later.

First Round (Coderpad - 1 hour)

This round focused on data structures and algorithms. I was given two problems:

  • An easy problem involving counting the number of islands in a 2D matrix.
  • A medium-level problem which was a modified version of the Russian Doll Envelopes, where the goal was to stack cuboids to achieve maximum height.

Second Round (Coderpad - 1 hour)

This round included another coding problem and some theoretical questions:

  • A medium LeetCode problem: "Remove All Adjacent Duplicates in String II".
  • Basic Java and Object-Oriented Programming (OOPs) concepts, specifically around abstraction.

Third Round (Coderpad - 1 hour)

The third round was also a mix of coding and discussion:

  • The classic "Rod Cutting problem".
  • Several questions centered around my current projects mentioned in my resume.

Fourth Round (Coderpad - 45 minutes)

This was a quick but intense round with multiple problems:

  • An easy problem to determine the square root of a number N without using any built-in functions, with an expectation of an O(log n) solution.
  • An easy problem to detect and remove a cycle in a linked list. The interviewer grilled me specifically on why the fast pointer moves twice as fast as the slow pointer, and why other ratios aren't typically used.
  • Another easy problem: to mirror a binary tree in-place.
  • Further Java questions, this time focusing on multiple inheritance.

Fifth Round (Hiring Manager/Coderpad - 1.5 hours)

The final round was a combination of coding and deeper project discussions:

  • A medium LeetCode problem: "Partition Equal Subset Sum".
  • A medium problem where, given an array of building heights from East to West, I had to return the indices of buildings from where one could see the sunset.
  • A deep dive into the projects listed on my resume.

I felt confident after almost solving all the problems within the time limits and was expecting an offer, which I eventually received.

Interview Questions (9)

Q1
Number of Islands
Data Structures & AlgorithmsEasy

Given a 2D binary grid, which represents a map of '1's (land) and '0's (water), count the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or or vertically.

Q2
Modified Russian Doll Envelopes
Data Structures & AlgorithmsMedium

Given a set of cuboids (instead of envelopes), stack them such that each cuboid is strictly larger than the one below it in all dimensions, and maximize the total height of the stack.

Q3
Remove All Adjacent Duplicates in String II
Data Structures & AlgorithmsMedium

Given a string s and an integer k, a k-duplicate removal consists of choosing k adjacent and identical letters and removing them. Repeat this procedure until no more k-duplicate removals can be made. Return the final string after all such removals.

Q4
Rod Cutting Problem
Data Structures & Algorithms

Given a rod of length n and an array of prices prices where prices[i] is the price of a piece of length i+1, determine the maximum value obtainable by cutting up the rod and selling the pieces.

Q5
Integer Square Root
Data Structures & AlgorithmsEasy

Implement int sqrt(int x). Compute and return the square root of x. Since the return type is an integer, the decimal digits are truncated, and only the integer part of the result is returned. The solution should aim for O(log n) time complexity.

Q6
Detect and Remove Cycle in Linked List
Data Structures & AlgorithmsEasy

Given the head of a singly linked list, return the node where the cycle begins. If there is no cycle, return null. Also, remove the detected cycle. The interviewer specifically asked to explain why the fast pointer moves twice as fast as the slow pointer, and why other ratios are not typically used.

Q7
Mirror a Binary Tree (In-Place)
Data Structures & AlgorithmsEasy

Given the root of a binary tree, invert the tree, and return its root. The inversion should be performed in-place.

Q8
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.

Q9
Buildings With Sunset View
Data Structures & AlgorithmsMedium

Given an array heights of building heights from East to West (left to right), return a list of the indices of the buildings that can see the sunset. A building can see the sunset if all the buildings to its West (right) are strictly shorter than it.

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!