Rippling | Bengaluru | 5.5 yoe | Reject
Summary
I interviewed for a role at Rippling in Bengaluru, bringing 5.5 years of experience. Despite making it through several rounds, including phone screening, managerial, and onsite coding/system design, I was ultimately rejected due to issues with code clarity and getting sidetracked during system design.
Full Experience
I had my interview process with Rippling in January 2025 after applying online and being contacted by a recruiter. The recruiter was helpful, providing clear expectations for each round.
Round 1: Phone Screening
I was told to expect a base problem and then scale it up, along with discussing an approach for a third scale-up. The base problem involved calculating total payments for delivery drivers given their hourly rates and delivery logs. I approached this by designing a class with functions to add drivers and rates, log deliveries (using epoch seconds), and calculate the total amount due. For the first scale-up, I had to consider clearing payments at a specific time and returning the total unpaid amount, for which I discussed an approach. I don't recall the third scale-up problem, but I only needed to outline my approach for it.
Managerial Round
This round was largely behavioral. I discussed my past experiences, projects, and general work. We also touched upon my roles as a mentor and mentee, as well as aspects of my work I'd like to change versus what's currently working well. Interestingly, the recruiter provided a script beforehand, so I mostly focused on preparing my answers.
Onsite Rounds
System Design
The challenge was to design a system for Rippling's customers to upload documents for internal audit review, with each document having a defined review completion time. I found myself getting bogged down with 'nice-to-have' features, and the interviewer had to guide me away from these tangents. I believe I focused too much on non-essential functional requirements.
Coding Round 1
The base problem involved processing a list of songs and user plays to return songs ordered by the descending count of unique users who played them. For the scale-up, I needed to return the top 3 most recently played songs per user. We had a discussion about the time complexity implications if the number '3' was arbitrary. Overall, I feel I struggled significantly with the clarity of my code in this round.
Coding Round 2 was never scheduled as I did not advance past the previous rounds.
Given my performance, particularly my coding clarity issues and getting sidetracked in system design, I wasn't surprised that I didn't receive an offer. I believe I performed poorly.
Interview Questions (6)
Given a list of delivery drivers, their per-hour payment rates, and a list of deliveries each driver has completed (with delivery times in epoch seconds), design a system to calculate the total amount to be paid to all drivers combined. The solution should include functions to add drivers with their rates, record deliveries, and retrieve the total payment due.
Extend the delivery driver payment system. Given a specific settlement time, calculate the total amount to be paid up to that time. Additionally, implement a function that returns the total unpaid amount for all outstanding deliveries.
Discuss your past work experiences, including projects and responsibilities. Elaborate on your roles as a mentor and mentee, and reflect on aspects of your work you'd like to improve and those that are currently successful.
Design a system that allows Rippling's customers to upload documents, which are then routed for review by an internal audit team. The system must also account for a specified review completion time for each document.
Given a list of songs and information about which users played which songs, return a list of songs ordered in descending order based on the count of unique users who have played each song.
Extend the music playing system to return the top K most recently played songs for each user. Discuss the time complexity implications when K is an arbitrary number.
Preparation Tips
My preparation for the managerial round specifically involved reviewing and preparing answers based on a script provided by the recruiter.