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

Software Engineer

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

Interview preparation journey

expand-icon
Preparation
Duration: 10 months
Topics: Data Structures, Database Management System, Object-Oriented Programming System Algorithms, Dynamic Programming, Graph, Puzzles, Operating System, Multi-Threading, projects.
Tip
Tip

Tip 1 : Focus on Data Structures and Algorithms. Practising questions based on them every day is the key to succeeding. You can enroll into a Data Structures and Algorithms course by Coding Ninjas. This course helped me build a strong foundation in these topics. I also recommend platforms like LeetCode and InterviewBit for further practice.
Tip 2 : During your interview THINK OUT LOUD!!! It is very important that you voice your approach towards the problem otherwise interviewer will have no clue what you are thinking. 
Tip 3 : Do give mock interviews to some college senior or mentor. They help you understand how to express your thought process better (Think out loud) and also reduce the interview stress and anxiety.

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

Tip 1 : In order to make a strong resume you must include at least 2-3 Projects and an intern/work experience. Mention all your skills which you are confident of in your resume. 
Tip 2 : Try to make it of one page only. You can use overleaf to make your resume.

Interview rounds

01
Round
Medium
Online Coding Interview
Duration135 minutes
Interview date5 Aug 2020
Coding problem0

The test was from 7:30 PM. The test duration was 2 hours 15 minutes. There were 5 sections and All sections are mandatory. Each section has some allotted time. You cannot go back to previous sections once allotted time over.
The Hackerrank platform was comfortable to use. But was taking a little time to compile and run the code. So try writing error-free code so that you don't have to compile many times. 
Section 1: The Coding section (Duration - 30 mins)
It had 2 programming questions. The questions were not that hard for this round. One of the questions was on Binary Search and other was a simple brute force solution question.
Section 2: The CS multiple-choice section (duration is 25 mins)
It had 7 MCQs. Topics - Computer fundamentals (OOPS, Algorithm, DataStructure, Operating System, Computer Networks, DBMS)
Section 3: The Problem Solving multiple-choice section (duration is 20 mins)
It had 8 MCQs Topics:- Maths(Probability, a little Trignometry), Puzzles. This round was a little tough as the time required to solve these question was a lot.
Each MCQ earns you 5 marks for the correct answer and -2 for incorrect answer.
Section 4: The Advanced section ( duration is 45 mins.)
It had 1 programming question based on Dynamic Programming.
Section 5: The Subjective section ( duration is 15 mins )
This section had 2 behavior questions. We had to answer in an essay(paragraph) form.

02
Round
Easy
Video Call
Duration40 minutes
Interview date7 Aug 2020
Coding problem1

Timing: 12PM
Due to covid, the interviews happened over a video call on Zoom. They also shared an IDE link where we could write our code and the interview could see it.
The interviewer was very polite and helpful. She dropped hints in between to help me reach the final solution when I was stuck or needed some clarity. She wanted to check how analytically I could solve the problem. She focused more on my approaches towards the problem.
There was also a brief discussion on my resume and projects.

1. Serialize and Deserialize an N-ary tree

Hard
15m average time
85% success
0/120
Asked in companies
Goldman SachsFacebook

You are given an N-ary tree where every node has at most ‘N’ child nodes. You need to first serialize it and then deserialize the serialized tree.

In simple words, serialization is a process to store a tree in a file so that it can be later restored to its original form. Deserialization is reading the tree back from the file.

Note:
Note that the structure of the tree must be maintained while serialization and deserialization. Also, you can use any method to serialize or deserialize the tree. You just need to see that the tree can be serialized into a string and further deserialized into the original tree.
Try solving now
03
Round
Medium
Video Call
Duration40 minutes
Interview date7 Aug 2020
Coding problem1

Timing: Mid-afternoon
Due to covid, the interviews happened over a video call on Zoom. They also shared an IDE link where we could write our code and the interview could see it.
The interviewer was very polite and helpful. He dropped hints in between to help me reach the final solution when I was stuck or needed some clarity. He wanted to check how analytically I could solve the problem. He focused more on my approaches towards the problem.
There was also a brief discussion on my resume and projects.

1. Implementation: HashMap

Easy
30m average time
90% success
0/40
Asked in companies
eBayAmazonUber

Design a data structure that stores a mapping of a key to a given value and supports the following operations in constant time.

1. INSERT(key, value): Inserts an integer value to the data structure against a string type key if not already present. If already present, it updates the value of the key with the new one. This function will not return anything.

2. DELETE(key): Removes the key from the data structure if present. It doesn't return anything.

3. SEARCH(key): It searches for the key in the data structure. In case it is present, return true. Otherwise, return false.

4. GET(key): It returns the integer value stored against the given key. If the key is not present, return -1. 

5. GET_SIZE(): It returns an integer value denoting the size of the data structure. 

6. IS_EMPTY(): It returns a boolean value, denoting whether the data structure is empty or not. 
Note :
1. Key is always a string value.
2. Value can never be -1.
Operations Performed :
First(Denoted by integer value 1):  Insertion to the Data Structure. It is done in a pair of (key, value).

Second(Denoted by integer value 2):  Deletion of a key from the Data Structure.

Third(Denoted by integer value 3): Search a given key in the Data Structure.

Fourth(Denoted by integer value 4): Retrieve the value for a given key from the Data Structure.

Fifth(Denoted by integer value 5): Retrieve the size of the Data Structure.

Sixth(Denoted by integer value 6): Retrieve whether the Data Structure is empty or not.
Try solving now
04
Round
Medium
Video Call
Duration30 Minutes
Interview date7 Aug 2020
Coding problem2

Timing: Evening
Due to covid, the interviews happened over a video call on Zoom. They also shared an IDE link where we could write our code and the interview could see it.
There was a panel of three people as interviewers in this round.
I was also asked one behaviour questions in this round.

1. Puzzle

On an Island, there is an airport that has an unlimited number of identical air-planes. Each air-plane has a fuel capacity to allow it to fly exactly 1/2 way around the world, along a great circle. The planes have the ability to refuel in flight without loss of speed or spillage of fuel. Though the fuel is unlimited, the island is the only source of fuel. You can ignore the time and fuel consumption of refuelling.
What is the minimum number of air-planes required to get one air plane all the way around the world assuming that all of the air planes must return safely to the airport?

2. Simplify the Directory

Moderate
22m average time
70% success
0/80
Asked in companies
VisaGoldman SachsAmazon

You are given a path to a file/directory in Unix-style of length N, In a Unix-style file system, a dot(.) refers to the current directory. A double dot(..) refers to the previous directory in reference to the current directory. If there are multiple slashes between two directories you should consider it as a single slash.

Now, for a given directory path as a string, you are required to simplify the same and tell the final destination in the directory structure or the path.

The simplified path should always begin with a slash(/) and there must be a single slash between two directory names. There should not be a trailing slash.

Try solving now

Here's your problem of the day

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

Skill covered: Programming

How do you remove whitespace from the start of a string?

Choose another skill to practice
Similar interview experiences
company logo
Software Engineer
1 rounds | 3 problems
Interviewed by Goldman Sachs
978 views
0 comments
0 upvotes
company logo
SDE - 1
1 rounds | 3 problems
Interviewed by Goldman Sachs
1374 views
0 comments
0 upvotes
company logo
Software Engineer
2 rounds | 4 problems
Interviewed by Goldman Sachs
906 views
0 comments
0 upvotes
company logo
Python Developer
3 rounds | 9 problems
Interviewed by Goldman Sachs
699 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
Software Engineer
3 rounds | 7 problems
Interviewed by Optum
7976 views
1 comments
0 upvotes
company logo
Software Engineer
5 rounds | 5 problems
Interviewed by Microsoft
10147 views
1 comments
0 upvotes
company logo
Software Engineer
2 rounds | 4 problems
Interviewed by Amazon
4447 views
1 comments
0 upvotes