68 questions · from 23 interviews
Rippling interview questions
Every question candidates reported from their Rippling interviews, most frequently asked first. Each links to the write-up it came from, so you can see the round and how it went.
Rippling coding and DSA questions
- 01
Driver-Delivery System Problem
Design and implement a driver‑delivery system that calculates costs using appropriate monetary data types (BigDecimal recommended). The solution should include functions to handle payment up to a given time (payuptotime), calculate total unpaid cost…
From Rippling SDE 2/SWE-2 London Technical/Phone Screen Interview
- 02
Maximum Simultaneous Drivers in Last 24 Hours
Given driver activity timestamps, compute the maximum number of drivers that were simultaneously active within any 24‑hour window. This analytics function (getmaximumsimultaneousdriversinlast24hrs) is used to understand driver load over the most recent day.
From Rippling SDE 2/SWE-2 London Technical/Phone Screen Interview
- 03
Food Delivery System Design
Design an object‑oriented system for a food delivery platform. Implement methods such as RecordDelivery() , PayUpto() , and AddDelivery() . The solution should emphasize clean class design, efficient data structures, and optimal time and space complexity.
- 04
Rule Evaluation Engine
Given a list of expenses (each with expenseId, tripId, amount, vendorName, vendorType), implement a function Evaluate(List<Rule> rules, List<Expense> expenses) that applies business rules such as disallowing certain categories, enforcing a maximum…
- 05
Article Management System
Implement a system to manage articles with operations: AddArticle() , UpvoteArticle() , DownvoteArticle() , and PrintLastKFlippedArticles() . The solution should choose appropriate data structures to support efficient updates and retrieval of the most recent…
- 06
Online Stock Span
- 07
- 08
Exam Room
- 09
Implement Delivery Cost Service
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)…
Medium · From Rippling Senior SWE Phone Screen (Reject)
- 10
Extend Delivery Service with Payment Functionality
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.
Medium · From Rippling Senior SWE Phone Screen (Reject)
- 11
Calculate Total Employee Pay
Given a list of employees, each with an hourly rate and hours worked, create a function to compute the total amount of money all the employees make.
Easy · From Rippling Phone Interview
- 12
Hourly Payout with Time Constraint and Caching
Expand on the previous problem. Add a new function to pay employees hourly based on a specific time constraint. For example, if an employee worked 12 PM - 10 PM and we want to pay all employees who worked before 5 PM, this employee's pay for hours worked…
Medium · From Rippling Phone Interview
- 13
Travel Class Design with Driver Scheduling
Design a Travel class with functionalities such as adding drivers and booking trips based on start and end times using the earliest available driver. Each driver has an hourly rate. The task involved calculating the cost of an individual trip as well as the…
From Rippling SDE1 Interview Experience | Compensation | Bangalore
- 14
Variant of Median of Two Sorted Arrays
A problem that was a variant of Median of two sorted arrays.
Hard · From Rippling SDE1 Interview Experience | Compensation | Bangalore
- 15
Article Voting System with Vote Flip Tracking and Analytics
You are building a voting system for articles. Part 1 The system supports adding articles, and users can vote on them using upvote or downvote. A user may change their vote on the same article later. A vote flip is defined as: - user previously upvoted an…
Hard · From Rippling SSE Round 1
- 16
Task Scheduling with Dependencies
You are given two 2D lists: - taskList: Each row contains [taskid, duration] - dependencyList: Each row contains [taska, taskb], meaning taska must be completed before taskb can start Return the total duration to complete all tasks and the order in which…
Hard · From Rippling SDE-1 Interview Experience
- 17
Music Player Analytics and Recently Played Songs
You have functions to add a song, play a song by a user, and print analytics. You need to: Print analytics based on the number of times a song was played in descending order of the number of unique users. Get the 3 most recent unique songs played by the user.
- 18
Design a Delivery Cost Tracking System
Design and implement a system to efficiently track delivery costs, potentially including features like real-time updates, cost aggregation, and handling various delivery parameters. The problem involved solving additional parts as discussed during the…
- 19
Implement a Rule Evaluator
Design and implement a flexible rule evaluation engine. This involved substantial object-oriented programming in C++, requiring careful design and implementation to handle various rule types and conditions.
- 20
Delivery Cost Calculation Service
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…
- 21
Delivery Cost Payment Functionality
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.
- 22
Delivery Driver Payment System (Initial Design)
Food delivery companies employ tens of thousands of delivery drivers who each submit hundreds of deliveries per week. Delivery details are automatically sent to the system immediately after the delivery. Delivery drivers have different hourly payment rates,…
From Rippling SDE2
- 23
Delivery Driver Payment System (Add Payment Tracking)
The analytics team uses the live dashboard reporting function you built to see how much money is owed in total to all drivers. Add the following functions: payUpTo (payTime) Pay all drivers for recorded deliveries which ended up to and including the given…
From Rippling SDE2
- 24
Median of Two Sorted Arrays
The question was around Median of 2 Sorted Arrays. I was able to implement the brute force and then optimal solution but the interviewer wanted something more optimized - even more optimized than a O(log (n)) solution.
Hard · From Rippling Interview Experience | SDE I | Onsite
- 25
Height of Organizational Tree / Farthest Employee Level
Given 2 arrays - managers and reportees where managers[i] was the manager of reportee[i] with the constraint 1 <= managers[i], reportees[i] <= n. CEO or head of the company was always represented with 1. I had to find the level of the farthest employee from…
Medium · From Rippling Interview Experience | SDE I | Onsite
15 more in the Rippling write-ups.
Rippling system design questions
- 01
News Aggregator System Design
Design a Google News‑like news aggregator. Consider two major components: the News Feed Service (responsible for feed generation, ranking, personalization, caching, pagination, and scalability) and the News Crawling Pipeline (handling crawling of multiple…
- 02
Design Log Storage System
- 03
Design Snake Game
- 04
Design Ride Sharing System
- 05
Resource Manager Design
Design a Resource Manager with operations like adding resources, removing resources, and managing them efficiently.
From Rippling SDE1 Interview Experience | Compensation | Bangalore
- 06
Employee Access Management System
Design an Employee Access Management System with the following requirements: Entities: - Multiple employees (E1, E2, E3, ..., En) - Multiple resources (R1, R2, R3, ..., Rn) Three types of access: READ, WRITE, ADMIN Methods to Implement: -…
- 07
Design Aggregator App with Personalized Feeds
Design a new aggregator app with personalised feeds based on user interest and liking of publication house.
- 08
Delivery Tracking System Design with Precision Constraint
Design and implement a Delivery Tracking System. The system should support operations such as addDelivery(deliveryid, driverid, starttime, endtime, cost) , addDriver(driverid, name) , and payUpToTime(driverid, currenttime) . A crucial 'gotcha' constraint…
Medium · From Rippling | Senior Software Engineer | Reject
- 09
Design Hotel Reservation System
Design a hotel reservation system like Expedia. Focus on: Searching for rooms by date and location. Reserving rooms. Rooms availability ingestion from 3rd party hotels.
- 10
Design a Booking System
Design a comprehensive, scalable booking system. This system design problem required a full-length answer detailing high-level architecture, API design, database considerations, and scalability strategies, without much interviewer guidance or collaborative…
Hard · From Senior Software Engineer | Rippling | Reject
- 11
Design Stack Overflow APIs
Design the core APIs for a platform similar to Stack Overflow. The discussion included standard follow-up questions concerning scalability, security, and how to handle various functionalities like question posting, answering, voting, and search.
- 12
Employee Access Management System Design
I was asked to implement an Employee Access Management system, and 3 functionalities - grant, revoke and get. I had to ensure I cover all the use cases and present an optimized solution.
- 13
Design News Feed Service
Design problem: News Feed Service. Discussed fault tolerance, consistency vs availability, monitoring strategies, and scalability.
Hard · From Rippling | Senior Software Engineer
- 14
Web API Design
Task: Web API design. Follow-up discussions on security, design decisions, concurrency, testing strategies, and production readiness.
- 15
Delivery Cost Tracking System
Build a delivery cost tracking system with the following functionalities: Cost Calculation adddriver(driverId) adddelivery(driverId, startTime, endTime) gettotalcost() Payment Tracking payuptotime(upToTime) getcosttobepaid() Analytics…
- 16
Music Analytics System
Design a Music Analytics System with the following functionalities: Most Played Songs by Unique Users addsong(songId) playsong(userId, songId) printanalytics() Recently Played Unique Songs printrecentlyplayed(userId) printrecentlyplayed(userId, k)
- 17
Design Google News-like Aggregator
Design a Google News-like aggregator.
- 18
Document Upload and Audit Review System Design
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.
- 19
- 20
Design In-memory Key-Value Store with Transactions
Design an in-memory key-value store that supports standard put, get, and delete operations. The key requirement is to also implement transactional capabilities, allowing for atomic commits and rollbacks of multiple operations.
- 21
Design News Aggregator and Feed System
Design a scalable news aggregator and feed system. Consider aspects like data ingestion from various sources, content storage, user personalization for news feeds, and efficient delivery to millions of users.
- 22
Design Stack Overflow API End-to-End
Design the API for a platform similar to Stack Overflow, covering all aspects from database schema to API endpoints. The round was 1 hour 30 minutes, divided into two 45-minute sections, requiring the coding of a working and production-ready API end-to-end…
Rippling behavioural and HR questions
- 01
Experience and Mentorship Discussion
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.
- 02
General Behavioral Questions
This round focused on general behavioral questions.
- 03
Past Projects and Experiences Discussion
Discuss past project experiences, detailing the approach taken, specific contributions, and any leadership roles or initiatives. Be prepared to elaborate on challenges faced and solutions implemented.
Rippling other questions
- 01
Stack Overflow Models and APIs Design
Design models, APIs for questions and answers in a Stack Overflow-like system. Additionally, discuss scaling and sharding related questions.
- 02
Currency Data Type Issues
What are the issues with using float and double as data types for currency, and what data type should be used instead?
- 03
Update Driver Hourly Rate
What changes would you make in the existing code if the requirement was to update the hourly rate of a driver?
Rippling interview questions FAQ
What questions are asked in Rippling interviews?
Candidates reported 68 distinct questions across 23 Rippling interviews. 40 coding and DSA questions, 22 system design questions, 3 behavioural and HR questions, 3 other questions.
How difficult are Rippling interview questions?
Of the questions candidates rated, 5% were easy, 32% medium and 64% hard.