Goldman Sachs | VP | 6 Year Experience
Summary
I completed a Coderpad DSA round followed by multiple SuperDay rounds for a VP position at Goldman Sachs, but was ultimately rejected without feedback.
Full Experience
Round 1: Coderpad DSA
- Q1 - Given a list of parent->child associations, find out the root node of the largest tree
- Q2 - A refarming of Maximum Path Sum - DP
I passed all the tests for both.
SuperDay Rounds - Pass each one to progress to next
Round 1:
Q1 - Pseudo code for logic of heap add function Q2 - Pseudo code for Valid BST Q3 - Given a list of roles, and each role might have parent, acceptlist, denylist, e.g. read/write permissions. Write the logic for getPermission function when supplied with a role. Certain rules - Child carries all permissions of parent. Child permissions override parents', Follow Up - What if there are multiple parents.
Got a call after 20 minutes to proceed with the next round.
Round 2:
Q1 - System design for a live chat system on a streaming platform - e.g. Youtube Live
Q2 - LLD for an in memory job scheduler (support concurrency). Later on asked to design the same for a distributed system.
Verdict:-
Reject. No feedback given. No call back. Just an auto rejection mail within a few minutes of the last round.
The HR was not flexible at all. No time, or day flexibility was given. Even the times were confirmed the evening before the rounds. I had 1 day between coderpad round and the first call, and 1 day again between Superday rounds and coderpad.
The rounds were named something else, but proceeded to expect something else.
Overall - Be ready to face anything thrown at your way, and hope you get lucky. Recruiters are talking with a sense of entitlement these days. Everyone wants you to be ready to give 4 rounds of interview the next day like you are just sitting and waiting for them and don't have any other committments.
Interview Questions (7)
Root Node of Largest Tree
Given a list of parent->child associations, find out the root node of the largest tree.
Maximum Path Sum (DP Refactor)
A refactoring of the Maximum Path Sum problem using dynamic programming.
Heap Add Function Pseudo Code
Write pseudo code for the logic of a heap add function.
Validate BST Pseudo Code
Write pseudo code to validate whether a binary tree is a BST.
Permission Retrieval Logic
Given a list of roles where each role may have a parent, an accept list, and a deny list (read/write permissions), write the logic for a getPermission function when supplied with a role. Rules: child inherits all permissions of parent, child permissions override parents'. Follow-up: consider multiple parents.
Live Chat System Design
Design a live chat system for a streaming platform such as YouTube Live.
In-Memory Job Scheduler LLD
Design a low-level design for an in-memory job scheduler that supports concurrency, and later extend it to a distributed system.