Message on Whatsapp 8879355057 for DSA(OA + Interview) + Fullstack Dev Training + 1-1 Personalized Mentoring to get 10+LPA Job
0 like 0 dislike

in Interview-Experiences by Expert (30,360 points) | 740 views

1 Answer

0 like 0 dislike

Microsoft Interview Experience (SWE 2023)

This was the first interview experience of my life and of course, I was nervous but the aim was to not lose my composure and participate in the interview with an active mindset.

First Interview Round (45–50 mins)
The interviewer began with her introduction and then asked for mine. My first problem was to Deep Copy a Linked List with a Random Pointer. I gave an O(n) solution to the problem and the interviewer asked me to code it. She also asked me to look for any edge cases while writing the code.

The second problem she put forth was the basic Valid Parentheses problem which can be solved using a stack in O(n). I was not supposed to code this one.

I was then asked about the basic theory of Java and Object Oriented Programming like the difference between “Aggregation” and “Composition”, and the difference between “Abstraction” and “Interfacing”.

Second Interview Round (~1hr)
This interview also began with an introduction and quickly proceeded to questions. My first problem in Round 2 was to Restore IP Addresses from a given string under certain constraints.

I first gave a brute solution to the problem and then modified it to a memoized dynamic programming solution. I was then asked to code the solution which took around 10–15 minutes.

The second phase of this interview was followed by many theoretical problems on OOPs, and OS.

How would the subclass have its unique method which is also defined in the superclass? Structure a multi-level, multiple inheritance model for different scenarios. Describe abstract methods and their uses. Importance of inheritance and code reusability in different scenarios.

A discussion on processes and threads — which is faster and efficient, when, and how. The memory allocation in the case of fork() and multithreaded models. How to uniquely identify a process and what all it has in its PCB (Process Control Block). What is virtual memory and demand paging?

These are as far as I could recall. A basic understanding of the concepts of OOPs and OS is sufficient to answer such questions.

Then he asked me about my projects and my work during my summer internship at Swiggy.

It is very essential you know (or at least have an overview) what you write in your resume. Don’t be superfluous or superficial while writing your resume.

Third Interview Round (50–55mins)
Like the first two interviews, this one also started off with an introduction and an overview of the last two interviews and how they went for me.

He gave me a more space-efficient solution for my first problem in Round 1 i.e. Deep Copy a Linked List with Random Pointer. He was satisfied with my solutions to the other problems.

I was then asked HR questions like:
- Why should Microsoft hire me?
- Some big achievements and fallbacks in life.
and so on…

Since this ended quickly, we moved on to the discussion of my projects and my work experience again. I was then asked the best way to store strings appearing in a very large database. Then the question was taken further to return the top K most frequently occurring strings in a very large database.

A basic understanding of data structures such as Maps, Tries, and Priority Queues was sufficient to answer the questions. We also discussed the application of monotone queue.

Later, the interview ended with positive feedback from the interviewer.

In the results announced, I was extended a Full-Time Offer at Microsoft as SWE.

That’s It! :)

by Expert (30,360 points)