Goldman Sachs interview experience Real time questions & tips from candidates to crack your interview

Software Analyst

Goldman Sachs
upvote
share-icon
4 rounds | 6 Coding problems

Interview preparation journey

expand-icon
Journey
I started my coding journey from the second year of graduation. I asked and consulted seniors on how to start in my career. I started doing DSA. In starting it was not regular but from the seventh semester, I started practicing DSA on regular basis. Meanwhile I also learned Web Development in the last phase of third year. Than, I was ready to apply in different companies.
Application story
My friend texted me about this company visiting our campus and told me some of the important questions and topics for its selection process. I applied and participated in its selection process and luckily most of the questions were from the list of important questions shared by my friend. So, I was lucky here.
Why selected/rejected for the role?
I think I had the appropriate skills and a good amount of knowledge to prove that I was the right man for the post. I also solved coding questions in the optimal manner.
Preparation
Duration: 3 months
Topics: Data Structures, Algorithms, OOPS, DBMS, Software Engineering
Tip
Tip

Tip 1 : Practice as much questions as you can from various coding platforms from the beginning but always remember that it's never late to start. It will help you to develop your logic building skills and gradually, you will be able to solve questions quickly. Solving code challenges is a great way to keep your skills sharp for interviews.
Tip 2 : Al least keep yourself aware to the basics of new emerging technologies.
Tip 3 : Prepare some good projects and keep complete details about them as well.

Application process
Where: Campus
Eligibility: No criteria
Resume Tip
Resume tip

Tip 1 : Make it short and eye-catchy.
Tip 2 : Mention your academic and professional details properly with duration.
Tip 3 : Be honest about yourself. Don't put anything which is likely to cause you trouble during the interview.

Interview rounds

01
Round
Medium
Online Coding Interview
Duration135 minutes
Interview date2 Aug 2020
Coding problem2

The round consisted of 5 sections. The Coding section had 2 questions, CS mutiple choice section had 8 MCQs, Problem solving multiple choice section had 7 MCQs, Advanced section had 1 programming question and the Subjective section had 2 questions. Each MCQ earned 5 marks for correct answer and -2 for incorrect answer.

1. Word Search

Moderate
30m average time
50% success
0/80
Asked in companies
SamsungUberOYO

You are given a two-dimensional grid having 'N' rows and 'M' columns, consisting of upper case characters. You are also given a word 'WORD'. You have to find the number of occurrences of that word in the grid.

Starting from a given cell, a word can be formed by moving in all eight directions: horizontally left, horizontally right, vertically up, vertically down, and four diagonal directions.

Example :
There are three occurrences of the word 'NINJA' in the following grid:

word_grid

Note :
1) Given word will not be a single character.

2) If occurrences of the given word start from two different cells, then these two occurrences are considered to be different.

Consider the word 'XYX' to be searched in the string 'AXYXB'. Here, we find an occurrence of 'XYX' at index 2 going in the right direction, and another occurrence at index 4 going in the left direction.

Although these two words correspond to the same word, they will be considered as different occurrences.
Problem approach

I used recursive approach to solve this problem.
First I check every cell of the grid say G, if the cell contains the first character of the word say W, then I search for the complete word in all 8 directions by calling a function with parameters - index say (i,j) of grid to be looked, the index say k of word to be searched and the direction in which searching is to be done.
If the G[i][j] = W[k], then it calculates the next index of grid to be looked based on the direction and called the function recursively until the indexes are within the range and the word is matching.
A global variable was used to keep track of number of words found. It was incremented every time when the complete word founds.

Try solving now

2. Climbing the leaderboard

Moderate
15m average time
80% success
0/80
Asked in companies
Goldman SachsDunzoLenskart

Given a leaderboard of a game with the following ranking pattern:

The player with the highest score is ranked number 1 on the leaderboard.

Players who have equal scores receive the same ranking number, and the next player(s) receive the immediately following ranking number.

You are given game scores of a player of ‘M’ rounds. Your task is to return the position obtained in each round.

Note:
The leaderboard scores are in descending order.
The game scores are given in ascending order.
Problem approach

First of all I removed the duplicates from the given leader board scores.
In each iteration say i, I kept the track of current score by taking the maximum of scores till ith attempt.
Then, I searched for the greatest lower bound of current score. The index of greatest lower bound plus one will be her current position.
If there is no number lesser than current score then her current position will be equal to the number of elements in the list plus one.

Try solving now
02
Round
Easy
Video Call
Duration30 minutes
Interview date4 Aug 2020
Coding problem2

This was a technical round held over the zoom video call around 11:00 hours. I was given a code-pair link where I had to code. The interview started with the question - "Tell me about yourself." Then, he asked the subjects I studied and asked few things about data structures and algorithms. He asked my preferred language of coding and gave two coding problems to solve. Finally, he asked me to explain my project and then gave me a scenario where he extended the project and asked about my design and database approach for that case.

1. Partition to k equal sum subsets

Moderate
40m average time
70% success
0/80
Asked in companies
Goldman SachsMicrosoftDunzo

You are given an array of 'N' integers, and a positive integer 'K'. You need to determine if it is possible to divide the array into 'K' non-empty subsets such that the sum of elements of each subset is equal.

Note:

1. The array can have duplicate elements.

2. Each of the array elements must belong to exactly one of the 'K' subsets.

3. The elements chosen for a subset may not be contiguous in the array.
Problem approach

Firstly I calculate the sum of the array and if that sum is not divisible by 3, then the array cannot be divided and if the sum is divisible, then our target is shifted to find the sub-array whose sum is equal to the sum of array divided by 3 which can be found using the recursive approach.

Try solving now

2. Partition a set into two subsets such that the difference of subset sums is minimum

Hard
10m average time
85% success
0/120
Asked in companies
Goldman SachsSterlite Technologies LimitedIntuit

You are given an array 'arr' containing 'n' non-negative integers.


Your task is to partition this array into two subsets such that the absolute difference between subset sums is minimum.


You just need to find the minimum absolute difference considering any valid division of the array elements.


Note:

1. Each array element should belong to exactly one of the subsets.

2. Subsets need not always be contiguous.
For example, for the array : [1, 2, 3], some of the possible divisions are 
   a) {1,2} and {3}
   b) {1,3} and {2}.

3. Subset-sum is the sum of all the elements in that subset. 
Example:
Input: 'n' = 5, 'arr' = [3, 1, 5, 2, 8].

Ouput: 1

Explanation: We can partition the given array into {3, 1, 5} and {2, 8}. 
This will give us the minimum possible absolute difference i.e. (10 - 9 = 1).
Problem approach

I proposed a solution where we will find all the possible sums by including an element and not including that element and then using those possible sums, we will find the minimum difference.

Try solving now
03
Round
Easy
Video Call
Duration20 minutes
Interview date4 Aug 2020
Coding problem2

This was also a technical round held over the zoom video call around 14:00 hours. In this round also, I was given a code-pair link where I had to code. First of all, he asked me to introduce myself. Then, he asked about tree data structure and its practical implementation. Then, he gave me two coding questions to code. At last, he asked about the operating systems, i.e., Windows, Linux and have I ever installed Linux in my system by deleting Windows.

1. Find prime numbers

Easy
15m average time
80% success
0/40
Asked in companies
HSBCSalesforceDeutsche Bank

You are given a positive integer ‘N’. Your task is to print all prime numbers less than or equal to N.

Note: A prime number is a natural number that is divisible only by 1 and itself. Example - 2, 3, 17, etc.

You can assume that the value of N will always be greater than 1. So, the answer will always exist.

Problem approach

I designed a function in which I checked whether a number say n is prime or not by running a loop from 2 to root n and if the number is divisible by any of this number I returned false, else true.
Lastly I called this function repeatedly for range a to b and print numbers for which the function returned true.

Try solving now

2. Find Pairs

Easy
18m average time
75% success
0/40
Asked in companies
Goldman SachsBank Of AmericaGrant Thornton

We are given a sorted doubly-linked list which contains distinct positive integers, and an integer ‘X’. Print all such unique pairs from the given list so that their sum is equal to ‘X’.

Try solving now
04
Round
Easy
Video Call
Duration25 minutes
Interview date4 Aug 2020
Coding problem0

This was HR round held over the zoom video call around 15:30 hours. The interviewer asked me to go through the resume and then discussed about my current internship, how long I have been doing the internship, what is the project, what technology is being used in the project and what I had learnt so far, etc. Then we discussed about the project that I had developed in my last semester and he asked my contribution to the project. Then the discussion was shifted to DBMS and he asked what is relational database and asked me to tell the SQL query to remove the duplicate rows. Finally, he asked me about the cloud, its usage and AWS(Amazon Web Services).

Here's your problem of the day

Solving this problem will increase your chance to get selected in this company

Skill covered: Programming

What is recursion?

Choose another skill to practice
Similar interview experiences
company logo
Software Analyst
4 rounds | 8 problems
Interviewed by Goldman Sachs
8954 views
1 comments
0 upvotes
company logo
Software Analyst
4 rounds | 10 problems
Interviewed by Goldman Sachs
4977 views
0 comments
0 upvotes
company logo
Software Analyst
3 rounds | 9 problems
Interviewed by Goldman Sachs
1005 views
0 comments
0 upvotes
company logo
Software Analyst
3 rounds | 8 problems
Interviewed by Goldman Sachs
773 views
0 comments
0 upvotes