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 | Engineering | Summer Analyst | India | August 2020 [Offer]
Summary
I interviewed for a Summer Analyst position at Goldman Sachs in August 2020. After an online assessment, I had two technical interviews focusing on data structures, algorithms, and project discussions. I successfully received an offer.
Full Experience
I interviewed for a Summer Analyst position at Goldman Sachs in August 2020. I am currently a student at an IIT in India, and this was an on-campus opportunity.
Round 1: Online Assessment Test
The online assessment had 5 mandatory sections and lasted 2 hours 15 minutes. It included:
- Coding section: 2 programming questions (30 mins)
- Computer Science MCQs: 7 questions (20 mins)
- Quantitative Aptitude MCQs: 8 questions (25 mins)
- Advanced Programming: 1 programming question (45 mins)
- Subjective section: 2 questions (15 mins)
Each MCQ earned 5 marks for a correct answer and -2 for an incorrect one. To be shortlisted, I needed to clear the cutoff in at least three sections, including a CGPA consideration. I performed well in both multiple-choice sections and solved one question in the coding section. The subjective section included questions about what inspires me to complete a project and how I would handle a teammate having problems on a project. I'm fairly certain I cleared the cutoff in both MCQs and likely the subjective section.
Round 2: Technical Interview 1
This round started with a brief introduction, after which the interviewer asked me to describe one of my projects. The discussion, lasting about 10-15 minutes, focused more on my inspiration and the practical application of the project rather than deep technical details. He seemed really impressed.
Next, he asked me about data structures and algorithms I found useful or elegant. I mentioned segment trees for range queries, giving the example of finding the Lowest Common Ancestor (LCA) in a binary tree. This led to a specific problem related to LCA.
I presented the Euler traversal approach combined with a segment tree, which allows O(N) preprocessing and O(logN) query time for each LCA. He asked me to implement the solution and explain the process with a dry run using an example binary tree. I wrote the DFS code and explained how the euler, depth, and first_time arrays would be populated, which satisfied him.
void dfs(int k,int d) { first_time[k]=timer; euler[timer++]=k; depth[k]=d; vis[k]=1;for(int i=0;i<adj[k].size();i++) { if(!vis[adj[k][i]]) { dfs(adj[k][i],d+1); euler[timer++]=k; } }
}
I then explained how I would build the segment tree to find the node with the minimum depth in any given segment, making each LCA query (of a and b) a simple query on the segment {first_time[a], first_time[b]}. The interviewer was really impressed but surprisingly asked for further optimization. I suggested using a sparse table instead of a segment tree, trading off preprocessing time for O(1) query time (O(N logN) preprocessing). He still pushed for more optimization, which I found challenging after reaching O(1) query time.
Round 3: Technical Interview 2
This round also began with a 10-15 minute discussion on the same project, covering its functionality and similar points as the previous interview.
Following the project discussion, he posed two more questions related to number manipulation and scheduling.
For the 'next smallest number' problem, I proposed a solution involving a queue. For the 'minimum platforms' problem, I initially suggested an O(N logN) solution using two pointers after sorting. When prompted for a data structure, I adapted it to use a double queue.
Finally, I received the offer!
Interview Questions (3)
Given k nodes in a binary tree, find their lowest common ancestor (LCA).
Given a number, find out the next smallest number formed by the same digits, greater than the original number.
Given the schedule of a train station (the arrival and departure time of several trains), find the minimum number of platforms required at the station.
Preparation Tips
My preparation involved a strong focus on data structures and algorithms. I practiced problem-solving, which helped me not only develop solutions but also articulate my thought process clearly during the interviews. Additionally, I spent time thoroughly understanding and being able to discuss my personal projects, especially their inspiration, practical applications, and high-level design.