The interview process started with a standard recruiter screen. After that it was followed by a tech screen, and then an onsite round followed that. Overall the process was quick.
Interview questions [1]
Question 1
The tech screen consisted of building a class in three parts in your preferred language; each part building on the previous step.
The question was to build a music player like Spotify with the following functionality:
- add_song (song_title:string)
- Adds song to catalog and generates an id starting with 1
-play_song (song_id:int, user_id:int)
- Tracks a song played and by a given user
-print_summary ()
- Prints song names and how many unique listens it received sorted in descending order by unique listens
-last_three_played_songs (user_id: int)
Takes a userId and prints their last 3 played songs
-Update print_summary method to only print k songs, and ensure all methods run better than O(N log N)
1 phone screen followed by 3 onsite rounds - 1 coding, 1 behavioral, and 1 project deep dive. Questions were pretty straight forward and fair. I did not get the offer though since I was out of practice.
- Coding screening
If successful:
- 2 more coding interviews
- system design interview
- product design interview; power point with previous project presentation
- behavioural interview
- 2-3 references
Typical process, HR screen then coding round (phone screen). Another coding rounds onsite and a system design. Then a project deep dive and team match.
They allow you to use AI in the coding round, which was strange because its a typical leetcode-style question. Claude was able to one-shot it.