Microsoft | OFF CAMPUS
Round 1(Coding Round):2 questions to be solved within 60 minutes.
- Invert a binary tree.
- Lexicographically smallest string formed by removing at most one character
Round 2(Technical Interview 1): Taken by a Software Engineer with around 2-3 years experience.
- All 4 pillars of OOPS
- Difference between Linked List and Arrays
- Reverse a Linked List
- Difference between Queue and Priority Queue
- Given a few tables which have some values linking a few rows across tables, write a functional code to print the entry with highest priority. (Main focus here was on creating classes with modular and well defined structures, usage of correct data structures at right point [HashMap, ArrayList, PriorityQueue] and clean coding)
Round 3(Technical Interview 2): Taken by a Software Engineer with 5+ years of experience.
- Add two binary strings that have been represented using Linked Lists.
- Search for a word. (Trie based approach. Only asked for approach, did not ask to code)
- Discussion on Multi-Threading, Mutual Exclusion, Design Patterns in Java, Inheritance vs Interfaces, Synchronization, Producer-Consumer problem
Round 4(Manager Round): Taken by an Engineering Manager with 20+ years of experience. After a quick introduction about myself, I was asked about
- Discussion about current projects and tech stack
- Check whether a given parentheses expression is balanced or not
- Length of the longest substring in a string without repeating characters.
Tips:
- Focus on basics. DSA, OOPS, OS
- Show willingness and eagerness to learn and collaborate in technical interviews.
- Don’t lose faith and trust your preparation. I had previously been rejected by multiple product-based companies during campus placement and also during my off-campus attempts.
- Maintain a good connection with your assigned recruiter/HR. This shows an eagerness from your side and he/she can really guide you through the ins and outs of the process very well.
- Above all, believe in yourself.