Goldman Sachs | Software Engineer (Analyst) | Bangalore, India | August-September 2020 | Selected
Anonymous User
13608

Goldman Sachs | Software Engineer (Analyst) | Bangalore, India | August-September 2020 | Selected

  • Education: Btech from Tier 1 College, India
  • Years of Experience: 2 Years
  • Prior Experience: Software Engineer in an MNC
  • Position: Software Engineer (Analyst) role
  • Location: Bangalore, India

I got the opportunity to be interviewed in Goldman Sachs through referral. I currently have two years of experience working in an MNC.

Hr called me and informed me about the process. A hackerrank test link was sent on email and was asked to complete the test in 3 days.

(Round 1) Hackerrank Coding Round (2 Hours)

It was a two-hour test and 2 coding questions were given. These questions were easy-medium level. One question of based on a matrix and another one was a popular Dynamic Programming question. I was able to solve both of the questions as I have already solved them earlier.

  • Decode Ways.
  • Find number of positional elements in a matrix

(Round 2) Coder Pad Round: (1 Hour)

Hr called me and informed me that I had cleared Hackerrank Round and asked few time slots to schedule Coder Pad Round. It was a one-hour coding round and was expected to code in front of the interviewer. The default coding language was Java. Questions were again Easy-Medium level on LeetCode. I was able to solve both questions quickly as I have encountered them multiple times.

  • First Non-repeating characters in the String. (HashMap approach is accepted).
  • Max path from one source index (n-1,0) to Destination index (0,m-1). (Standard DP problem). I was asked to code in O(1) Extra space. I just used the input matrix to calculate the max path.

Hr called me and informed me that further 3 rounds will be video conference round and were scheduled on a weekend. I was given 10 days time to prepare. The interview was held on zoom and zoom link and coder pad link were shared.

(Round 3) Video Conference Round: (1 Hour)

Two people took my interview. The interview started with introduction of myself and the interviewers. They were very friendly and we had a great time talking about each other's work experiences.

Two coding questions were asked. Both questions were Easy-Medium Level:

  • Given a number represented in string format, find the next greatest permutation or next greater number. Example: Input 12345, Output: 12354
  • Given two arrays, pick one element from the first array and another element from the second array such that their absolute difference is minimum.

I had to explain how I arrived at the solution and also time complexities and space complexities were required.

I had to write a clean and complete production level code.
The interview ended with me asking about their experiences in Goldman Sachs.

(Round 4) Video Conference Round ( 1 Hour 15 Min)

This round was full of java, spring boot, and project-related questions. One interviewer was a VP level and another one was an associate level.

  • Explain your project in detail.
  • Design questions like why this module is implemented in this way, not the other way.
  • Internal working of HashMap and some follow up questions.
  • Spring-based questions like What happens when we write our component classes in another package which is different from the package which contains @SpringBootApplication.
  • Suppose one Class A has a dependency with class B and Class C and Class A uses class B to fetch data initially, in runtime what do you do such that class A will use Class C instead of class B using annotations.
  • Questions related to java streams and lambda expressions. Mostly on map, filter, for-each, etc.
  • Questions related to the garbage collector, why is it used, what is the way to invoke, what happens if we invoke the garbage collector from our program.

The interview ended with me asking about their experiences in Goldman Sachs.

(Round 5) Video Conference Round ( 1 Hour)

This round was full of core java and coding questions. The interviewers were very friendly, we discussed about how things are going during work from home.

  • Differences between Set and List. Different types of sets available and how each set is implemented internally.
  • First non-repeating character in a very large string. The interviewer asked me to solve in one single traversal. I was able to come up with a Hashmap (Frequency Map) based approach where we store the index of the first non-repeating character. The interviewer was satisfied with this approach.
  • Modified the question such a way that string is extremely large and we need to use multi-threading to find the non-repeating character. I answered using a synchronized block and semaphore but the interviewer expected something else as this again leads to sequential processing over the map. So I told using a concurrent hashmap where the lock will be applied at the internal segments of the hashmap instead of the whole hashmap. He was satisfied.
  • Modified the same question to use multi-threading without using any shared resources. Answered using callable instead of runnable, where we can return frequency map as future objects and process all the maps to find the first non-repeating character.
  • Given a string with words rather than letters, print the words in increasing order of frequency.
  • Given an array write a function to remove 3  consecutive elements. Example: Input: 1 2 2 3 3 3 2 5 output: 1 5. Answered using the stack approach.
  • Given two lists one Transaction List and Customer List in sorted order based on Customer Id, write a function to generate a Report of customer ID, customer name, and amount spent by each transaction. Solved it using a single traversal.
  • Follow-up question on 7, if Transaction and Customer tables were given instead of Lists, write an SQL query to generate the same report.
  • Follow up question on 8 asking how we can improve the performance. Answered using indexes. He asked me what type of indexes we create. I have told clustered index for the primary key and Non clustered index for non-primary key. He was satisfied.

The interview ended with discussing the roles and responsibilities of the interviewers in Goldman Sachs and mine in my previous company.

HR called me after two hours and told me that the interview feedback was positive and they were considering my candidature forward to Hiring Manager and Hiring Committee.
After 1 week, I got a call from the recruiter and scheduled Hiring Manager Round.

(Round 6) Hiring Manager Round (30 Min)

  • Brief introduction about HM.
  • Brief introduction about Myself.
  • Why do you want to leave the current company?
  • What are the challenges you faced in the current project?
  • What technologies have you worked on?
  • How do you keep updated yourself with new technologies?
  • He asked me if I had any questions.

I asked him about his work experience in GS so far and what will be my roles and responsibilities in GS.

The interview ended with me asking if he had any suggestions or feedback for which he replied just give your best and keep yourself updated and learn new things.

After one week, HR informed me that I was selected and documents were asked for compensation details.

Interview Preparation: LeetCode helped me in preparation very much. I bought premium subscription for LeetCode and practiced the Mock Interviews of Amazon, Microsoft. Also company wise questions were really helpful. I prepared for 3-4 Months during COVID-19 Pandemic and solved 372 questions on leetcode. I focussed mostly on solving Medium and Hard Level Questions in LeetCode. All the interview experiences in Leet Code helped me in identifying frequently asked questions for each company. I also prepared notes about my projects in resume and work experiences and prepared few scenerio based questions.

Tips for the Interview: Know about the applications/projects which you have worked on earlier from end to end. Know about the resume and mention only the projects and technologies which you are confident about. Be prepared to answer enhancement questions like how could the design be improved etc. During the interview, try to communicate as much as possible, even if you are not able to think of a solution, just let the interviewers know about your thought process. At the end of the interview, ask questions related to their work experiences in the company. Never talk anything about the negative about the current company or manager.

Compensation Details: Goldman Sachs Analyst Compensation

Comments (16)