Rippling L6 Interview Experience | Reject
Anonymous User
8653

Round 1 - DSA
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<int> 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.

Round 2 - Hiring Manager
General Behavioural Questions

The next 3 rounds happend in the office

Round 3 - DSA
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.

Round 4 - DSA
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

Round 5 - System Design
Design Google News

Comments (9)