Goldman Sachs | Associate | Bengaluru | Aug 2024 [Reject]

goldman sachs logo
goldman sachs
associatebengaluru3 yearsRejected
August 17, 2024 β€’ 22 reads

Summary

I interviewed for an Associate role at Goldman Sachs, which included an Online Assessment, a Coderpad round, and two Superday rounds focusing on Data Structures and Software Engineering Practices. Despite performing well in some areas, I was ultimately rejected after the Superday.

Full Experience

I recently interviewed for an Associate position at Goldman Sachs. My background includes 3 years of experience at a well-known product company.

My interview process started with an Online Assessment (OA) that lasted 2 hours. It included two coding problems:

Following the OA, I had Round 1 (Coderpad) for 1 hour. This round also focused on coding:

Next were the Superday interviews.

Round 2 (Data Structures) was a 1-hour session. I was asked:

  • Maximum Profit in Job Scheduling, which I later realized was a LeetCode hard problem. I could only manage to come up with a brute-force solution during the interview.
  • A custom linked list reordering problem: given 1β†’ 2β†’3β†’ 4->5β†’6β†’7β†’ 8, the output should be 1->8->2->7->6->3->5->4. I was able to devise an optimized approach but ran out of time to fully code the solution.

Round 3 (Software Engineering Practices), also 1 hour, involved a detailed discussion about my work projects and a series of rapid-fire scenario questions. The specific questions included:

  • Questions on how to increase API response time.
  • Why I chose SQL over NoSQL for a specific project.
  • What ACID compliance means.
  • How to handle cascading failures between microservices.
  • My approach to database server failure and recovery.
  • Another linked list coding problem: given a->b->c->a1->b1->c1->…an->bn->cn, the output should be b->c->a->b1->c1->a1->…bn->cn->an. I coded a solution but couldn't identify a bug in it during the interview.
I felt my confidence dropped during the project discussions, which affected my performance on the subsequent coding question. I ultimately received a rejection after this stage. I sensed that the interviewers in the last round were not entirely convinced by my answers regarding project design and system design scenarios.

Interview Questions (12)

Q1
Better Compression of String
Data Structures & Algorithms

The problem asks to compress a given string. Refer to the provided LeetCode link for the full problem statement.

Q2
Cutting Metal Surplus
Data Structures & Algorithms

This problem involves optimizing the cutting of metal surplus. Refer to the provided Gist link for the full problem statement.

Q3
House Robber
Data Structures & Algorithms

The classic House Robber problem. Refer to the provided LeetCode link for the full problem statement.

Q4
Robot Bounded In Circle (Modified Easy Version)
Data Structures & AlgorithmsEasy

The standard LeetCode problem "Robot Bounded In Circle" but with slight modifications to make it an easier version.

Q5
Maximum Profit in Job Scheduling
Data Structures & AlgorithmsHard

The problem of maximizing profit from a list of jobs with start times, end times, and profits. I only managed to come up with a brute force approach during the interview.

Q6
Reorder Linked List (Alternating Ends)
Data Structures & Algorithms

Given a singly linked list like 1β†’ 2β†’3β†’ 4->5β†’6β†’7β†’ 8, the output should be reordered to 1->8->2->7->6->3->5->4. The goal is to alternate elements from the beginning and end of the list, moving inwards.

Q7
Ways to Increase API Response Time
System Design

What are all the ways you can increase the response time of an API?

Q8
SQL vs NoSQL Choice
System Design

Explain why you chose SQL over NoSQL for your project.

Q9
What is ACID Compliance?
System Design

What does it mean by ACID compliance?

Q10
Microservice Failure Handling
System Design

A microservice makes an API call to another microservice which in turn makes a call to another service where the call has failed. How will you handle or stop this kind of failures from happening?

Q11
Database Server Failure and Recovery
System Design

What will you do when one of the DB server fails? How will it recover?

Q12
Reorder Linked List (Cyclic Shift of Triplet)
Data Structures & Algorithms

Given a linked list like a->b->c->a1->b1->c1->…an->bn->cn, the output should be b->c->a->b1->c1->a1->…bn->cn->an. This means cyclically shifting each triplet a->b->c to b->c->a.

Preparation Tips

Based on my experience, I'd suggest focusing on these aspects:

  • Be fast on coding, as interviews are strictly 60 minutes.
  • Thoroughly understand the system design aspects of your projects. Be prepared to discuss scaling and failure scenarios extensively.
  • Practice popular Goldman Sachs-tagged LeetCode questions, as they appeared in my initial rounds.
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!