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
Rippling SDE-2 Phone Screening – Interview Question
Summary
I had a phone screen for an SDE-2 role at Rippling where I was tasked with designing and implementing a service to manage delivery costs with several functional enhancements. I successfully implemented and optimized both parts of the problem.
Full Experience
I interviewed for an SDE-2 position at Rippling. My journey to this interview was a bit unique: initially, I was referred for an SDE-2 role, then my profile was considered for SDE-1 after an online assessment and a recruiter call, but ultimately, they decided to consider me for SDE-2 again. The phone screening focused on a problem that required me to implement a service for managing delivery costs.
In the first part, I designed and coded a service with addDriver, addDelivery, and getTotalCost methods, ensuring getTotalCost was optimized. I precomputed the total cost upon adding deliveries, and my solution passed all custom test cases.
For the second part, I extended the service to include payUpToTime and getCostToBePaid functionalities. I approached this by using a global priority queue where time was represented as epochs, along with the estimated cost, to manage payments and remaining costs. This approach also worked as expected with the interviewer's test cases.
Interview Questions (2)
We are given a list of drivers and the deliveries they are making. Implement a service to compute the total cost of all deliveries. The service should expose three methods:
1. addDriver(driverId)
2. addDelivery(startTime, endTime)
3. getTotalCost()
The getTotalCost() method needed to run in optimized time.
Add two new functionalities to the existing delivery service:
1. payUpToTime(upToTime) → settle the delivery cost up to this specified time.
2. getCostToBePaid() → get the remaining delivery costs left after settling any payments.
Preparation Tips
My preparation mainly revolved around practicing system design and algorithm implementation. I focused on optimizing data structures and algorithms, which was crucial for methods like getTotalCost. I also made sure I could articulate my thought process clearly, particularly regarding object-oriented design principles and system extensibility, which the interviewer appreciated. I believe a detailed and confident introduction also played a significant role in setting a positive tone for the interview.