The first two rounds are elimination rounds, which will be virtual:
If you pass these, you will be called to the office for further interview rounds:
Design a Music Player like Spotify with the following 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 the number of unique users' plays.Follow-up:
vector getLastThreeSongs(int userId): Get the last 3 unique songs played by a given user.There was another follow-up mentioned by the recruiter after the interview, but there wasn't enough time to address it.
Design a Key-Value Store:
string get(string key)void set(string key, string value)void deleteKey(string key)Follow-up 1:
begin, commit, and rollback. I immediately asked the interviewer if we needed to support nested transactions. He said yes, but for the next follow-up. He still asked me to code it first for one level of transaction, which took a lot of time.Follow-up 2:
Design an Excel Sheet:
void set(string cell, string value): cell can be A1, B2, etc. value can be like "10", "1", or even Excel formulas like "=9+10" and "=-1+-10+2".void reset(string cell): Reset the cell.void print(): Print all cells along with their raw and computed values.Follow-up:
Design a Google News Aggregator System.
The following metrics were computed from 1 interview experience for the Rippling L6 software engineer role in Bengaluru, Karnataka.
Rippling's interview process for their L6 software engineer roles in Bengaluru, Karnataka is extremely selective, failing the vast majority of engineers.
Candidates reported having mixed feelings for Rippling's L6 software engineer interview process in Bengaluru, Karnataka.