Rippling Senior SWE Phone Screen (Reject)

rippling logo
rippling
· Senior SWE· Bay Area· 6y exp
February 26, 2026 · 1 reads

Summary

I had a phone screen for a Senior SWE role at Rippling. I was given two coding problems related to a delivery cost service, which I believe I solved correctly and with valid optimizations, but ultimately received a rejection.

Full Experience

YOE: 6 years

Location: Bay Area

Part 1 – Basic Implementation

Problem Statement:
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:

    addDriver(driverId)

    addDelivery(startTime, endTime)

    getTotalCost()

Key Points:

    getTotalCost() needed to run in optimized time.

I optimized by computing and maintaining the total cost at the time of adding the delivery (instead of recalculating each time getTotalCost() is called).

Result:

The interviewer tested against custom test cases → all passed.

He confirmed my optimization approach was valid.

Part 2 – Payment Functionality

New Requirements:
Add two new functionalities:

    payUpToTime(upToTime) → settle the delivery cost up to this time.

    getCostToBePaid() → get the remaining delivery costs left after settling the payment.

My Approach:

Did I mess up here? I suggested we store the intervals for each driver and when payUpTo is called, loop over the intervals, sum up the costs and mark intervals as paid up. I explicitly asked my interviewer that this loops over all entries and if i should think of a more optimal solution, to which they said this is fine and asked me to implement

Then: costToBePaid = totalCost - paidCost

Result:
Tested with interviewer’s test cases → all worked as expected.

Final Result: Got a reject. What should I have done differently here?

Interview Questions (2)

1.

Implement Delivery Cost Service

Data Structures & Algorithms·Medium

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:

    addDriver(driverId)

    addDelivery(startTime, endTime)

    getTotalCost()

Key Points:

    getTotalCost() needed to run in optimized time.

2.

Extend Delivery Service with Payment Functionality

Data Structures & Algorithms·Medium

Add two new functionalities:

    payUpToTime(upToTime) → settle the delivery cost up to this time.

    getCostToBePaid() → get the remaining delivery costs left after settling the payment.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!