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
Ola | SDE2 | Feb 2021 | Pune | Offer
Summary
I recently interviewed for an SDE2 position at Ola in Pune during February 2021 and successfully received an offer. The interview process spanned multiple rounds, including problem-solving, system design, and a rigorous hiring manager discussion covering a wide range of technical and behavioral topics.
Full Experience
Interviews Breakdown
I was initially contacted by a recruiter from Ola who was incredibly flexible with scheduling all the interview rounds, providing excellent support throughout the process.
Problem Solving Round 1
This round consisted of two easy Data Structures questions, primarily related to arrays and strings. Unfortunately, since it was about a month ago, I cannot recall the exact problem statements, but they were comparable to LeetCode easy problems.
Problem Solving Round 2
This round, which was 15 days prior, was scheduled for one hour but concluded in about 40 minutes after I addressed both questions successfully.
- Question 1: Given an array, I had to determine if it could be sorted by reversing any single subarray within it. For example, in
[1, 2, 3, 4, 8, 7, 6, 9], reversing the subarray from index 4 to 6 would result in a sorted array. - Question 2: This was a variation of the Two Sum problem. I needed to find pairs of numbers in the array
[1, 2, 3, 4, 8, 7, 6, 0]that sum up to 6. It was assumed that numbers were positive and distinct, with expected output like[[2,4], [6,0]].
System Design Round
This round took place three days before the offer. It began with a discussion about my current project, where I was asked to draw a block diagram of its various components. Following that, the main task was to design a seat booking system similar to BookMyShow.
- GetSeatsInfo: This involved designing how to fetch seat information, including grid details, screen layouts, seat categories, and color coding for the UI. I discussed storage mechanisms in the database and the structure of request/response payloads.
- BookSeats(User u1, array of SeatsNumbers, ScreenId, TheatreId): The core challenge here was managing concurrency and consistency issues during seat booking. This discussion went very smoothly, and it felt like a collaborative effort in building the solution.
Hiring Manager Round
The hiring manager round, held the day after the design round, lasted about 1 hour and 45 minutes and was the most intense. The questions were spontaneous, and the interviewer delved deeply into every detail I mentioned, thoroughly examining my resume.
- I was asked about the most challenging project I've worked on, including the specific challenges, how I overcame them, and the tech stack used.
- The interviewer inquired about the rationale behind choosing that particular tech stack and, hypothetically, if I were to rebuild the project from scratch, what new tech stack I'd select and why.
- Since I mentioned microservices, I had to justify that choice, describe how microservices would be implemented in my current project, and specify the tech stack for each.
- We discussed flaws in my current project and the problems with NoSQL databases that might lead one to switch to relational ones.
- A complex scenario involved designing an analytics approach for my project without using a relational DB. I proposed a data pipeline and was then asked to design its workings.
- Numerous questions followed on messaging systems (RabbitMQ, Kafka, their differences, components, necessity, and real-world use cases), Redis (what it is, if it can be used as a message queue), and caching concepts.
- My experience with application monitoring tools like Kibana and Grafana was explored, including their internal workings, how I would design such a system, and appropriate database choices (especially Cassandra for write-intensive scenarios).
- Integration of logging tools, container-specific details, and log pushing mechanisms to Kibana were also discussed.
- Fundamentals of load balancing, proxy vs. reverse proxy, ZooKeeper, and sharding (when and why it's needed) were covered.
- Finally, several behavioral questions were posed, such as conflicts with managers/peers and their resolution, best and poor performance feedback received and how I handled it, and my motivation for joining Ola.
- I also had the opportunity to ask questions at the end.
Interview Questions (31)
Given an array, determine if it can be sorted by reversing exactly one subarray. For example, in [1, 2, 3, 4, 8, 7, 6, 9], reversing the subarray from index 4 to 6 results in a sorted array.
Find pairs of numbers in the array [1, 2, 3, 4, 8, 7, 6, 0] that sum up to 6 (X). Assume positive numbers and distinct elements. Expected output example: [[2,4], [6,0]].
Design a seat booking system similar to BookMyShow. Key requirements included:
GetSeatsInfo: Fetch seat information with grid details, screen, seat categories, seats layout, color coding for UI. Discuss storage in DB, request/response formats.BookSeats(User u1, array of SeatsNumbers, ScreenId, TheatreId): Manage concurrency and consistency issues.
Discuss the most challenging project you've worked on, detailing the specific challenges and how you overcame them.
What tech stack did you use in your most challenging project?
Explain the rationale behind choosing the specific tech stack for your project.
If you had to recreate this project from scratch, what new tech stack would you choose and what would be your approach? Justify your choices. (My answer involved Microservices)
Explain your reasons for choosing a microservices architecture.
Identify and describe the potential microservices within your current project.
Specify the tech stack for each microservice identified in your current project.
Discuss the flaws or shortcomings present in your current project.
Discuss problems encountered with NoSQL databases that would lead you to consider switching to a relational database.
Given a project requiring analytics, and a constraint against using relational databases for analytics queries, how would you approach the database design? If a data pipeline is proposed, how would you design and implement it?
Explain what RabbitMQ is. Discuss the differences between RabbitMQ and Kafka. Describe the core components of a message queue system.
Explain the necessity of message queues and provide scenarios where you have used them in your current project.
Explain what Redis is. Can Redis be utilized as a message queue?
Define caching and explain how it contributes to system performance.
Discuss your experience with application monitoring tools like Kibana and Grafana.
Explain the internal mechanisms of tools like Kibana and Grafana. If tasked with designing a similar monitoring system, how would you approach it?
What type of database would you choose for implementing systems like Kibana and Grafana, and why?
Discuss the suitability of Cassandra for monitoring systems, particularly its advantages in scenarios with extensive write operations.
Explain how logging tools are integrated into an environment, how they acquire container-specific details, and the process by which log messages are pushed to systems like Kibana.
Define load balancing and explain its importance in distributed systems.
Distinguish between a proxy and a reverse proxy.
Explain the internal workings and principles of Apache ZooKeeper.
Define database sharding, explain when it is necessary, and justify its use.
Describe any conflicts you've experienced with team managers or peers and how you effectively resolved them.
Share the most positive feedback you've received from a manager during a performance review.
Describe any constructive or critical feedback you've received from a manager and how you addressed it.
Why are you interested in working at Ola?
Do you have any questions for us?