Goldman Sachs | Software Engineer/Analyst | Hyderabad | 2021 | Offer Accepted

goldman sachs logo
goldman sachs
Software Engineer/AnalystHyderabadOffer
December 17, 202124 reads

Summary

I successfully completed a comprehensive interview process for a Software Engineer/Analyst role at Goldman Sachs in Hyderabad, which involved multiple technical coding rounds, system design, and a hiring manager discussion, culminating in an accepted offer.

Full Experience

The recruitment process began when a recruiter contacted me via LinkedIn, and within two days, I received the Online Assessment link. The entire process, from the OA to receiving the offer letter, spanned approximately 2.5 months.

Round 1 (Online Assessment - HackerRank – 90 mins)

This round consisted of two medium-level problems, both of which I solved with all test cases passed:

Round 2 (Telephonic CoderPad Round - 1 hr)

During this round, the interviewer called me and shared two questions on CoderPad. After discussing my approach, I was asked to write the working code to pass all test cases:

  • Maximum sum of nodes in Binary tree such that no two are adjacent
  • Minimum Path Sum

I provided working code for both questions after explaining my approach, and all test cases passed.

Round 3 (Technical Interview Zoom F2F – 1 - 1 hr)

This was a Zoom face-to-face round with two panelists. I was asked three questions:

For the first question, I was asked to write pseudocode, while for the second and third, I had to provide working code on CoderPad. I successfully solved all three questions.

Round 4 (Technical Interview Zoom F2F – 2 - 1 hr)

In this round, I was asked two coding questions:

  • Trapping Rain Water (with Space complexity - O(1) and Time-O(n))
  • Minimum sum that cannot be created with a given set of coins.

I wrote working code for both problems.

Round 5 (Technical Interview Zoom F2F – 3 - 1 hr)

Again, two coding questions were asked in this round:

For the first question, I explained the approach with pseudocode, and for the second, I wrote the working solution.

Round 6 (Technical Interview Zoom F2F – 4 - 1 hr)

This round also involved two questions:

I explained the approach for the first question with pseudocode and provided working code for the second.

After completing these technical rounds, I received a call from HR confirming that I had cleared all of them and would proceed to a hiring manager round.

Round 7 (Hiring Manager + Bar Raiser - 1 hr)

The Hiring Manager started by discussing my past projects in depth. Following this, I was asked to design a web application supporting multiple languages and detail its entire flow. Many questions were also asked about React, Node, and JavaScript.

The next day, HR called to inform me that my round went well and the Hiring Manager was eager to have me on their team. Two days later, I received a call from HR for salary negotiation, and ten days after that, I received the official offer letter with compensation that exceeded my expectations.

Verdict: Offer Accepted

Interview Questions (14)

Q1
Number of GP Subsequences of Size 3
Data Structures & Algorithms

Given an array of integers, find the number of subsequences of length 3 that form a Geometric Progression (GP). A subsequence is formed by deleting zero or more elements from the original array. For example, if the array is [1, 2, 4, 8], [1, 2, 4] and [2, 4, 8] are GP subsequences.

Q2
Count Number of Teams
Data Structures & AlgorithmsMedium

There are n soldiers standing in a line. Each soldier is assigned a unique rating value. You have to form a team of 3 soldiers amongst them such that their ratings are either strictly increasing or strictly decreasing (i.e., (rating[i] < rating[j] < rating[k]) or (rating[i] > rating[j] > rating[k])) with indices (i < j < k).

Q3
Maximum Sum of Non-Adjacent Nodes in Binary Tree
Data Structures & Algorithms

Given the root of a binary tree, return the maximum sum of values of nodes such that no two nodes are adjacent. Two nodes are adjacent if one is the parent of the other.

Q4
Minimum Path Sum
Data Structures & AlgorithmsMedium

Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right, which minimizes the sum of all numbers along its path. You can only move either down or right at any point in time.

Q5
LRU Cache
Data Structures & AlgorithmsMedium

Design a data structure that follows the constraints of a Least Recently Used (LRU) cache. Implement the LRUCache class: LRUCache(int capacity) initializes the LRU cache with the given positive capacity. int get(int key) returns the value of the key if the key exists, otherwise returns -1. void put(int key, int value) updates the value of the key if the key exists. Otherwise, add the key-value pair to the cache. If the number of keys exceeds the capacity from this operation, evict the least recently used key.

Q6
Sliding Window Maximum
Data Structures & AlgorithmsHard

You are given an array of integers nums, there is a sliding window of size k which is moving from the very left of the array to the very right. You can only see the k numbers in the window. Each time the sliding window moves right by one position. Return the max sliding window.

Q7
Decode String
Data Structures & AlgorithmsMedium

Given an encoded string, return its decoded string. The encoding rule is: k[encoded_string], where encoded_string inside the square brackets is being repeated k times. k is guaranteed to be a positive integer.

Q8
Trapping Rain Water (O(1) Space, O(n) Time)
Data Structures & AlgorithmsHard

Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it can trap after raining. I was specifically asked to solve this with O(1) space complexity and O(n) time complexity.

Q9
Minimum Sum Not Creatable by Coins
Data Structures & Algorithms

Given a list of positive integers representing coin denominations, find the smallest positive integer amount that cannot be formed by summing any subset of the given coins.

Q10
Boolean Parenthesization Problem
Data Structures & Algorithms

Given a boolean expression string consisting of 'T' (True), 'F' (False), 'AND' (&), 'OR' (|), and 'XOR' (^) operators, count the number of ways to parenthesize the expression such that it evaluates to True. For example, 'T|F&T' can be parenthesized as ((T|F)&T) -> (T&T) -> T, or (T|(F&T)) -> (T|F) -> T.

Q11
Best Time to Buy and Sell Stock
Data Structures & AlgorithmsEasy

You are given an array prices where prices[i] is the price of a given stock on the ith day. You want to maximize your profit by choosing a single day to buy one stock and choosing a different day in the future to sell that stock. Return the maximum profit you can achieve from this transaction. If you cannot achieve any profit, return 0.

Q12
N-Queens Problem
Data Structures & AlgorithmsHard

The n-queens puzzle is the problem of placing n non-attacking queens on an n×n chessboard. Given an integer n, return all distinct solutions to the n-queens puzzle.

Q13
Merge Intervals
Data Structures & AlgorithmsMedium

Given an array of intervals where intervals[i] = [starti, endi], merge all overlapping intervals, and return an array of the non-overlapping intervals that cover all the intervals in the input.

Q14
Design a Multi-language Web Application
System Design

I was asked to design a web application that supports multiple languages, including detailing the entire application flow.

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!