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
Intuit Interview Experience
Summary
I describe my two-round interview experience at Intuit, where I faced challenging DSA problems, in-depth OOPS and DBMS questions, and a system design problem. Despite some initial struggles, especially with the first round's DSA and a basic tree traversal problem in the second, I felt the second round went very well.
Full Experience
1. Online Assessment
4 Questions on gilder.ai platform. All the questions were doable, 1 question had a bug in driver code (I guess it was done intentionally).
I solved 2 full and 2 partial (a total of 3 test cases did not pass in the remaining 2 questions)
2. Interview Round 1
Phase 1: (Projects)
It was scheduled for 45 minutes, but lasted only for 30 minutes. At the beginning I was asked to give a pseudo code on my project. I used OOPS heavily in that one, I just drew the UI on a whiteboard for him, explained how the game works and then showed him how I used concepts like Inheritance, Composition etc.. in my project. He seemed very much satisfied with my project and moved on to OOPS
Phase 2: (OOPS)
In OOPS he was asking me some classical theory questions. One such question was:
class A{
protected:
int a;
}
class B: public A{
A* obj = new A();
// can I do obj->a? why or why not?
}
He also asked me how to prevent a class from creating new objects, I suggested him to make the constructor private. Then he gave a follow up on what is the default access specifier in C++. (Another Classic question) He also asked will the properties of abstraction, inheritance, polymorphism be violated if the constructor is private? (I did not understand this question and told him the question was not clear)
Then he moved on to namespaces in C++. Asked about how to do inheritance in C++ when both the classes are in different namespace.
Phase 3: (DSA)
I was given exact 329. Longest increasing path in a matrix problem
The question description was very much modified to make the candidates confusing. I did not understand the question and asked him several clarifications (at a point I was so much scared he will kick me out in the middle of the interview for asking so many clarifications).
Finally, I told him that the first approach I get is of dynamic programming and something similar to level order BFS, and I proceeded with BFS.
The algo was like:
1. push all the coordinates of min element in the queue
2. Add the next element only if it greater and then proceed.
3. Then from the unvisited elements start the level order BFS again by pushing the min elements into the queue.
The answer will be the max value we get from all level order traversals.
He asked me T.C of BFS approach, I told O(m*n). I guess there was some flaw in my approach, my friends told the T.C of BFS will O((m * n)^2), and the correct way was to do is using toposort. The interviewer asked if it can be done using O(n log m). I asked if the rows/ columns are sorted. If so we can try something with binary search. He said they can be in any random order. Then I asked him for hints. He just asked me to answer yes or no. I said no.
I lost all hopes for getting called for the next round after this DSA Hard question.
Finally he asked "Have you taken any AI ML course?". Before he could finish the question I shouted NO, (LOL). He still went on and asked me
Have you used ChatGPT ?
I said yes, politely. Then he asked me what is the difference between ChatGPT reasoning and GitHub Copilot. I became speechless. Then I blabbered something, he said it was fine and this question was not a part of the interview.
Finally during the end of the interview I apologized for asking too many clarifications on the DSA question. To my surprise, he told that he intentionally made the question in a confusing way to test if the candidate asks for clarifications or just assume stuff.
3. Interview Round 2
I was lucky to have some good set of interviewers in this round. They were straight to the point and all their questions were clear.
Phase 1: (Projects)
In this round, they again asked me about the same project. I was instructed to draw the schema for this project. I explained them 3-4 main tables and their relations. Then they asked why I designed it like this and what will happen if I design it in some XYZ way. I told all the advantages and drawbacks of my design and their proposal and proved them that my design is better than their proposal. Then they asked me how my schema was normalized.
Phase 2: (DBMS)
- What is normalization? Why do we do normalization
- Primary Key, Composite key etc..
- 4 different normal forms
- Foreign key, and grill on cascade properties
- A sql query problem involving sub queries
Phase 3: (OOPS)
- grill on static variables and static methods. (Mostly easy only)
- What is 'this' inside a class? why do we use this->a and not this.a ?
- Polymorphism etc..
OOPS was relatively easy, given that you have already studied it properly
Phase 4: (DSA)
Construct a binary tree using preorder and inorder. I messed up in this question. I got confused with preorder and inorder as I studied it a long back. I told them the first element in inorder will be the root. Then they told I was wrong.. I asked for some time.
I wrote the code for inorder, preorder and did a dry run on a binary tree, explaining all that stuff to them and then I solved the question. I just told them the logic to solve the question, they seemed satisfied.
Phase 5: (LLD)
I haven't studied LLD specifically for interviews. They gave me a question of a vehicle rental system. Seems like it is a classic problem on LLD. I thought they just want to test my OOPS skill using that problem. I realized I was doing LLD only in the middle of the question (;;).
I didn't draw any UML diagram as I was not aware of all those. I just wrote the class and almost working C++ code with the knowledge I had on OOPS concepts like inheritance and polymorphism etc.. and my experience building projects. They gave me some hints on which functions should be present at which place. I just aggreed to whatever they said and made the modifications. They seemed satisfied.
To conclude, the second interview went very well compared to my first interview. However I was pretty worried about messing up with the inorder and preorder as it was quite basic.
4. Final Note
I can understand lot of you are doing hard work, please make sure to not stress out too much during the process. Have faith and trust the process. In my experience getting a job/intern requires much more luck than your hard work.

Consistency is more important. Make a promise to yourself that you will solve at least one question per day.
I would like to thank the leetcode community for all the support during my preparation and I wish you all GOOD LUCK. Never stop working.
Thank you
Interview Questions (7)
Given the classes:
class A{
protected:
int a;
}
class B: public A{
A* obj = new A();
// can I do obj->a? why or why not?
}
Also asked: how to prevent a class from creating new objects (I suggested making the constructor private); what is the default access specifier in C++; will the properties of abstraction, inheritance, polymorphism be violated if the constructor is private?; and how to do inheritance in C++ when both classes are in different namespaces.
I was given the problem similar to 329. Longest increasing path in a matrix problem. The question description was very much modified to make it confusing, requiring several clarifications.
What is the difference between ChatGPT reasoning and GitHub Copilot?
- What is normalization? Why do we do normalization?
- Primary Key, Composite key, etc.
- The 4 different normal forms.
- Foreign key, and a deep dive into cascade properties.
- A SQL query problem involving subqueries.
- Questions on static variables and static methods.
- What is 'this' inside a class? Why do we use
this->aand notthis.a? - Polymorphism, etc.
Construct a binary tree using its preorder and inorder traversal arrays.
Design a vehicle rental system. This seemed like a classic Low-Level Design (LLD) problem.
Preparation Tips
I hadn't specifically studied LLD for interviews. I got confused with preorder and inorder as I had studied it a long time ago. I believe consistency is key, making a promise to myself to solve at least one question per day. I also thank the LeetCode community for their support during my preparation.