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
Druva | Software Engineer | Pune | Sept 2021 | (On campus)
Summary
I interviewed for a Software Engineer position at Druva through an on-campus drive. The process included an Online Assessment, a Technical Interview, and a Hiring Manager round. Despite performing well in coding, I was ultimately rejected, likely due to my performance in core computer science theory subjects during the final round.
Full Experience
I applied for the Software Engineer position at Druva through an on-campus drive in September 2021, as a Final Year CSE undergrad targeting a new grad role for 2022. The eligibility criteria required a CGPA above 7 and no active backlogs.
The interview process began with Round 0: Online Assessment on the Mettl Platform, which lasted 90 minutes. It featured MCQs on Data Structures, Computer Networks, and C++, alongside three coding questions (one easy, two medium). The coding questions carried a higher weightage. I managed to solve two coding questions and several MCQs, which led to my shortlisting along with 42 other students.
Round 1: Technical Interview
This round, lasting approximately 50 minutes, was conducted by a Senior Principal Engineer. After introductory exchanges, the interviewer presented two coding problems for me to solve on a Google Doc. I could use any programming language.
1. Count Occurrences of an Element in a Sorted Array: Given a sorted integer array with duplicates and a target integer X, I needed to return the count of X in the array in O(log(n)) time. For example, if arr = [1,2,3,3,3,3,3,3,3,4,4,5,5,6] and X = 3, the output should be 7. I explained my approach using lower bound and upper bound, and due to time constraints, I was asked to implement just the upper bound.
2. Sum of Left Leaves minus Sum of Right Leaves in a Binary Tree: The second problem was to find Sum(left leafs) - Sum(right leafs) for a given binary tree.
With some hints from the interviewer, I was able to solve both problems. We also had a brief discussion about how Google Search works, covering basic concepts like DNS and IP.
Round 2: Hiring Manager Round
This round took place the following day, lasting about 50 minutes, and was led by a Director of Engineering. It was a thorough grilling on my resume, projects, and theoretical subjects. The interviewer started by asking about my three favorite technical subjects and the justifications for my choices. We then delved into specific topics:
- DBMS: Questions included how to retrieve data faster in SQL, what an index is with examples, transaction logs, and how a DBMS handles a scenario where an update to the second table fails within a SQL query involving two table updates. I was also asked if I had designed any database schemas for my projects.
- Resume/Projects: We discussed challenges I faced during my internship and a specific project I had set up from scratch.
- OS: I was asked about threading, a comparison of TCP vs. UDP with real-life examples, which protocols Gmail uses, HTTP and HTTPS differences, what synchronization is with an example, how to achieve synchronization, and the differences between virtual memory and RAM.
Unfortunately, I didn't clear this round, likely because my performance in the theory subjects (OS, Computer Networks, and DBMS) wasn't strong enough.
Interview Questions (17)
Given a sorted integer array with duplicates and a target integer X. Return the count of X in the array in O(log(n)) time. For example, if arr = [1,2,3,3,3,3,3,3,3,4,4,5,5,6] and X = 3, the output should be 7.
Given a binary tree, find the difference between the sum of all left leaves and the sum of all right leaves.
Explain the basic functioning of Google search, touching upon concepts like DNS and IP.
How do you retrieve data faster in SQL?
What is an index in a database? Provide an example.
Explain what transaction logs are in DBMS.
Consider a SQL query that updates two tables. If the update to the second table fails due to a network issue, how is this handled? Does the developer need to handle this manually, or is it handled by the DBMS automatically?
Have you designed any database schema for any project?
Explain what threading is in operating systems.
Compare TCP and UDP protocols. Provide real-life examples of where each is used.
Which communication protocols does Gmail use?
Explain the differences between HTTP and HTTPS.
What is synchronization in operating systems? Provide an example.
How can synchronization be achieved in operating systems?
Explain the differences between virtual memory and RAM.
What is the biggest mistake you've made in your life?
Preparation Tips
For the Online Assessment, I focused on Data Structures, Computer Networks, C++ MCQs, and practiced coding problems. Leading up to the technical interview, I prepared for standard DSA problems, specifically tree and array manipulation. For the hiring manager round, I reviewed my resume and projects thoroughly. However, I realized I needed more in-depth preparation for core computer science theory subjects like Operating Systems, Computer Networks, and DBMS, as these were heavily emphasized and contributed to my rejection.