Microsoft SDE Intern Interview Experience
💼 LTIMindtree Interview Experience (On-Campus) | Fresher | 2026
Salesforce SMTS | Interview Experience | Rejected
JPMC | SDE2 (Associate) - Java Backend - Interview Experience + Compensation
Microsoft - SDE2 - Coding Round
Goldman Sachs | Assoiciate |
Summary
I interviewed for an Associate role at Goldman Sachs in Bengaluru, undergoing a rigorous 2-month process that included coding, technical, and design rounds. Despite clearing most rounds, I was ultimately rejected after the final system design round due to my inability to recall exact production-level code implementations for Kafka and MongoDB.
Full Experience
Round 1: Hackerrank Test (Cleared)
This round consisted of two easy-level problems that I completed within 30 minutes. Unfortunately, I don't recall the exact questions, but they were straightforward.
Round 2: Coderpair Round (Cleared)
In this round, I was asked two coding questions:
- A grid problem: Given an N*M grid containing coins, the task was to find the optimal path to collect the most coins, with movement restricted to North and East.
- Max average score: I had to process a list of students with their scores in various subjects, where scores were strings and could be negative. The goal was to find the student with the maximum average score.
They expected working code that passed various test cases, which I managed to provide.
Super Day (Elimination Rounds on Same Day)
Round 3: Data Structures (Cleared)
This round focused on Data Structures, and I was specifically asked to code in Java, which was slightly challenging as I usually code in C++. I was given two problems:
- Maximum Sum Circular Subarray: I successfully solved this LeetCode problem.
- Student with max average score: This was the same question from Round 2, which I again solved.
I also faced questions about ConcurrentHashMap, likely because I used a HashMap in my solution.
Round 4: Software Engineering Practices (Cleared)
This round deep-dived into my past experience and related technical aspects. The discussion flowed based on what I mentioned, covering:
- Schedulers: Questions on their working mechanisms.
- Database Choice: My rationale for choosing NoSQL over MySQL.
- Elasticsearch: Various questions regarding its functionality.
- Spring Boot: Core concepts and best practices.
- JVM Architecture: My understanding of JVM internals.
I was also tasked with coding a Singleton Class that is thread-safe, requiring proper use of locking mechanisms and the volatile keyword. I successfully implemented this and answered follow-up questions on multithreading.
Additionally, they inquired about retry mechanisms, specifically expecting knowledge of exponential backoff strategies. I also discussed how to ensure data consistency between MongoDB and Elasticsearch, suggesting checksums and elaborating on their implementation and verification. Several Kafka-related questions were also posed, testing my understanding of message processing and stream handling.
Round 5: Software Design and Architecture (Rejected)
This was the final round, lasting about 45 minutes. I discussed the high-level and low-level design of my recent work. They then asked me to write specific code for MongoDB calls like findBy(), expecting exact production-level code. I struggled to recall the precise implementation and could only provide pseudo-code, which seemed to displease them.
Next, questions on inter-process communication came up, where my OS concepts knowledge was lacking. When I mentioned Kafka for asynchronous communication, they asked for its implementation code in a real project. Again, I could only provide pseudo-code, which was not well-received.
Further questions included: "How many threads can run at one time in an instance?" (which led to a deep dive into what a core is), garbage collection algorithms (requiring a deep dive into all core concepts), and how to obtain a heap dump.
Ultimately, I was rejected in this round. I believe my inability to recall and write exact production-level Kafka and MongoDB code played a significant role in my rejection, despite feeling I had performed well otherwise. This was my first interview experience blog, and I hope it can be helpful to others.
Interview Questions (12)
Given a grid of size N*M containing coins, find the optimal path to collect the most coins. The only allowed movements are North and East.
Given a list of students with their scores in different subjects, find the student with the maximum average score. The scores are provided as strings and can include negative values.
Discussion on the choice of NoSQL over MySQL for a specific project.
Implement a Singleton class that functions correctly in a multithreaded environment, ensuring proper use of locking mechanisms and the volatile keyword for thread safety.
Explain retry mechanisms, specifically knowledge of exponential backoff strategies.
How to ensure data consistency between MongoDB and Elasticsearch if data is stored in both systems. Discussion on using checksums and their implementation/verification.
Write detailed production-level code for MongoDB data fetching, including specific calls like findBy().
Implement Kafka code as it would be used in a real project for asynchronous communication.
Discussion on how many threads can run concurrently on an instance, based on the number of cores, and a deep dive into what a core is.
A detailed discussion and deep dive into various garbage collection algorithms and their core concepts.
How to obtain a heap dump for debugging purposes.