SSE | Rippling | Bengaluru | Reject

rippling logo
rippling
SDE IIBengaluru9 years
May 26, 20258 reads

Summary

I had a technical screening interview for a Senior Software Engineer role at Rippling in Bengaluru, which involved a multi-part coding question on managing driver deliveries, and I was ultimately rejected without feedback.

Full Experience

I was reached out by a recruiter on LinkedIn with an opportunity with Rippling. I had a discussion over Zoom with her. I got my screening / Technical Interview discussion scheduled after almost a week.

Recruiter had mentioned that I am free to use AI (ChatGPT, Copilot etc) in this round, but I need to tell that to the panelist. The evaluation criteria will be defined accordingly. If I choose not to use, the criteria will be different.

Technical Screening Round

The interview asked me the below question Part 1 Given a list of some drivers and the deliveries they are making, need to write a code to compute the total cost of all deliveries. It needed to have 3 methods

  1. add driver(driverId)
  2. add deliveries(startTime, endTime)
  3. getTotalCost() getTotalCost was needed in optimised time, which I provided by computing cost at the time of adding the delivery - interviewer had agreed to this approach.

I explained the approach and solved by defining 3 classes Driver, Delivery and the main service. The panelist tested it against his test cases and got the expected results.

I had asked for the evaluation criteria to which the interviewer had said let's solve the question as much as possible

Part 2 Add two more functionalities

  1. payUpToTime(upToTime) -> settle the delivery cost up to this time
  2. getCostToBePaid() -> get the remaining delivery costs left after settling the payment Discussed the approach for this in O(n), he wanted more optimal solution. Discussed approach for production env based on events to trigger completion and keeping a track of completed deliveries. Then to be paid is as simple as paid minus total cost (from part 1) Agreed on the approach, wrote the code, tested it against interviewer's test cases - worked as expected

Part 3 Implement a method to provide simultaneous deliveries across drivers. He was only expecting the approach. Discussed by sorting and then checking the overlaps. Seemed satisfied and we closed the discussion.

I did all of this without using any chatgpt or copilot.

Received the email from recruiter on the next working day of rejection :| No reasons, no feedback. What were they expecting, god knows. When I replied back to the recruiter seeking feedback - she mentioned, she is yet to receive detailed feedback and haven't heard back since then.

Anyways, giving back to the community in case it helps anyone.

Interview Questions (3)

Q1
Driver Delivery Cost Management - Part 1
Data Structures & AlgorithmsMedium

Given a list of some drivers and the deliveries they are making, need to write a code to compute the total cost of all deliveries. It needed to have 3 methods:

  1. add driver(driverId)
  2. add deliveries(startTime, endTime)
  3. getTotalCost() getTotalCost was needed in optimised time.
Q2
Driver Delivery Cost Management - Part 2: Payment Settlement
Data Structures & AlgorithmsHard

Add two more functionalities to the existing system:

  1. payUpToTime(upToTime) -> settle the delivery cost up to this time
  2. getCostToBePaid() -> get the remaining delivery costs left after settling the payment. The interviewer wanted an optimal solution beyond O(n).
Q3
Driver Delivery Cost Management - Part 3: Simultaneous Deliveries
Data Structures & AlgorithmsHard

Implement a method to provide simultaneous deliveries across drivers. The interviewer was only expecting the approach.

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!