Microsoft Interview Experience for SWE Intern

Be comfortable with writing code on Notepad (Whiteboard in offline interviews) as the use of any editor was not allowed. Go from brute force to the most optimal solution and establish why you can’t improve any further.

Before jumping into coding discuss all the edge cases that you can think of beforehand only. For theory-based questions like concepts of OOPS, explain the concepts with real-life examples.

Know your project well and be prepared for questions like why chose a particular framework and testing-related questions. Don’t lie on your resume and try to highlight points you are more confident about in your introduction.

Test:

• Mean/Median/Mode with precision up to 6 decimal places.
• Fibonacci sequence type question.
• Geometric Progression
• The test was conducted on mettl.com, was proctored, and each person had a different set of questions.

Round 1 (Technical):

• Introduce yourself.
• Explain 4 pillars of OOPS with real-life examples

Coding question: Find the range enclosing the given key value from the input sorted array

```Input: {1,2,4,5} //Array
3 //Key
Output: {2,4} [3 lies in range (2,4)] ```

Note: I had to ask for cases like what if the key was already present and if the key had an insert position at the beginning of the end.

• I went from linear search to binary search as the array was already sorted.
• What do you think about RDBMS?
• Explain all types of sorting algorithms you know. (I explained all the comparison-based sorting techniques and he said they were enough.)
• Explain the major difference between Arrays and LinkedList. When will you choose one over the other?
• Discussion about the Position of Responsibilities I had mentioned on my Resume.

Round 2 (Technical):

1. Introduce Yourself.
2. Write the function for inserting a node with a given key value in a sorted circular linked list given a head pointer, though the head pointer could be pointing anywhere.
```CLL: 15->23->29->7->9->10
1st Case: Key = 8, head->23
2nd Case: Key = 3, head->29
Print a given string in the following pattern:
Input: “I love coding”
Output: l l c
o o
v d
v i
n
g ```

Round 3 (HR Round):

1. Introduce yourself.
2. What I aimed to achieve from an internship at Microsoft.
3. The motivation behind choosing the projects I had mentioned on my CV.
4. Why did I prefer React.js and Django Web Framework over other frameworks for my project?
5. How did I test my project?
6. What things do I keep in my mind while designing my app so that I can implement my solution both as a web app and a mobile app.
7. Was my project scalable and how did I measure its performance?
8. Write all the ways you know to reverse a linked list.
9. Follow Up Question: Which iterative or recursive solution would you prefer and why?

Status: Accepted