Rippling Technical Phone Screen | Senior Software Engineer | Interview Experience

Anonymous2 days ago

Platform: HackerRank
Duration: 60 minutes
Language: Python

The interview was conducted with one primary interviewer and another interviewer observing the session. I was also given the option to use HackerRank's built-in AI assistant.

There was no starter code provided, so I had to design the class structure and implement all the required methods from scratch.

Problem 1: Delivery Cost Calculation

The interviewer presented a food delivery-related problem involving multiple drivers and their deliveries. I was asked to build a service that could calculate the total delivery cost.

The initial implementation required three methods:

  • addDriver(driverId) - Register a new driver.

  • addDelivery(startTime, endTime) - Record a delivery.

  • getTotalCost() - Return the cumulative cost of all deliveries.

One important requirement was to make getTotalCost() efficient.

Instead of iterating through all deliveries every time the method was called, I maintained the running total whenever I added a new delivery. This allowed me to retrieve the total cost in constant time.

The interviewer tested my implementation using several custom test cases, and all of them passed. He was also satisfied with my optimization approach.

Problem 2: Extending the System with Payments

Once I completed the basic implementation, the interviewer introduced additional requirements.

I was asked to support two more operations:

  • payUpToTime(upToTime) - Calculate and settle all delivery costs up to a specified timestamp.

  • getCostToBePaid() - Return the outstanding amount that has not yet been paid.

For this part, I proposed using a global priority queue to maintain delivery entries ordered by their timestamps. I also used epoch-based timestamps to handle time-based calculations.

My approach was to process eligible delivery entries whenever a payment was made, maintain the amount already paid, and calculate the outstanding balance using:

costToBePaid = totalCost - paidCost

The interviewer agreed with my general approach, and I proceeded with the implementation.

I also discussed rate updates and how effective timestamps should influence delivery costs. I wrote sample test cases in main() to validate my implementation, but spent additional time debugging these timestamp-related scenarios.

Final Result: Rejected.

Recommended Reads

Post

How do i get a high paying data engineering job ? any data engineers here ?

Same as title! I am looking for guidance on what companies can i pursue ? I have 4 years of experience as a data analyst at a MNC.

Post

Before Accepting a Cisco SDE 1 Offer, Look at This

Cisco - SDE 1 Base Salary: ₹14 LPA Relocation Bonus: ₹1.6 Lakh Signing Bonus: ₹8 Lakh over 4 years Total Compensation: Approximately ₹24 LPA (including salary,

Post

Google Is Offering Employees Money to Leave. What's Happening Inside Big Tech?

When we hear about layoffs at major technology companies, we usually imagine employees being informed that their jobs have been eliminated. But Google is taking

Interview Experience

5 Rounds That Tested More Than Just Coding | JioHotstar Staff SDE Interview Experience

Recruiter reached out to me on LinkedIn for a Staff Software Development Engineer position at JioHotstar (JioStar), Bangalore. The interview process started a f

Post

Atlassian P40 Offer | Remote

Currently working as an SDE 2 at a FAANG company with a CTC of ₹47 LPA. Current Profile Experience: 5 Years 2 Months Current Role: SDE 2 Current Company: FAANG

Comments1
  • Anonymous13h ago

    Thanks for sharing this detailed experience...

    0replies