I applied online. The process took 2 weeks. I interviewed at Rippling (Bengaluru) in Jan 2025
Interview
First 2 rounds are elimination rounds which would be virtual - 1 DSA and 1 HM round. If you pass this, you will be called to office for further rounds of interviews - 2 DSA and 1 System Design.
Interview questions [4]
Question 1
Design a Music Player like Spotify with below methods
int addSong(string songTitle); // add a song to your music player with incremental song ids starting from 1
void playSong(int songId, int userId); // user plays a song that is present in the music player
void printMostPlayedSongs(); // print song titles in decreasing order of number of unique users' plays
Follow up
vector getLastThreeSongs(int userId); // get last 3 unique songs played by a given user
There was another follow up as well which the recruiter mentioned post the interview. Couldn't get time for that.
Design a Key Value Store
string get(string key);
void set(string key, string value);
void deleteKey(string key);
Follow up 1
Support transactions - begin, commit and rollback. I immediately asked the interviewer if we needed to support nested transactions. He said yes but for the next followup. He still asked me to first code it for 1 level of transaction for which I took a lot of time.
Follow up 2
Support nested transactions. No time was left.
Design an excel sheet
void set(string cell, string value); // cell can be A1, B2. value can be like "10", "1" or even excel formulae like "=9+10" and "=-1+-10+2"
void reset(string cell); // reset the cell
void print(); // print all the cells along with their raw and computed values
Follow up
Extend solution to support values like "=A1+10" where A1 is a cell name