Spotify
8 questions · 7 experiences · LeetCode (7) · 1p3a (1) · Other (7)
15 entries
Spotify | Sweden - Remote | Screening + Virtual Onsite | Backend Engineer
Spotify | Android Engineer II | London, UK | Sep 2022 [Offer]
Spotify | Backend Engineer I/II | Europe | 2022 | Onsite [Reject]
#346 Moving Average from Data Stream
#1152 Analyze User Website Visit Pattern
#295 Find Median from Data Stream
#20 Valid Parentheses
Spotify phone screen backend SWE
Case Study Questions
Domain Knowledge Questions
Limit Consecutive Duplicates
Make Word
Song Sequence
Top Songs
Spotify Machine Learning Engineer Onsite Interview Experience
Spotify | Sweden - Remote | Screening + Virtual Onsite | Backend Engineer
Question Details
Screening Round
Project and technical background discussion
Talking about a project you did. Prepare something, and it should be in detail
Domain questions
Questions about JVM garbage collector(I specified java as my main programming language beforehand. Maybe they selected this question because of that). Also asked about what happens when you go to "www.google.com". (kind of a networking question). They asked some other, but i dont remember.
Coding exercise
Bunch of easy questions like "isAnagram", "reverseString", "isPalindrom". There was also "sumTo100" question. Listing all the pairs that sum up to 100. For example {1,99,99} -> [1-99] {1,1,1,99,99} -> [1-99, 1-99].
Virtual On-site
System design.
Design a system for uploading and assigning an image to the playlists. Each playlist consists of some random tracks. Scale was small, but then i was asked what would happen if a lot people started use our system afterwards.
Values (Behavioral)
A regular behavioral interview. I think it is based on the spotify values: innovative | collaborative | sincere | passionate | playful. Some questions i remember were:
did you affect anyone positively by helping them? Did you try a new approach in one of your projects? Did you take a constructive feedback and improved yourself based on that feedback? Did you ever facilitate teamwork? Did you fail at your task, why? how did you take that failure?
Coding
There are lists of tracks for each country(not sorted). Each track has unique id, but they can have duplicates for different countries(with same id of course).
Track class these fields;
id (unique for track)
country (String)
count(number of times track has been listened in the country),
genre (unique for track, does not change from country to country)
Implement these: getBestNTracksinACountry(String country, int n) , getBestNTracksGlobally(int n) -> for this one, you need to sum up the counts for each track.
I suggested using quick select to get best N tracks, instead of sorting, but they asked me to not waste my time and go with just sorting.
as a follow up, i was asked what happens if we got these requests too often. I basically prepared all possible lists before hand.
I suggest studying HashMaps, and custom sorting for this question
Case Study
It is a long one to explain. There is a system broken, you need to debug it. and system is the interviewer, you ask them do something, and they will return the results based on that.
There is an ADs system. There is a problem in US servers (but not on EU servers) displaying ads. Ads database reside in EU. What is the problem? In the end, I asked for logs in US machines, source code, and cpu/memory utilization of US servers. Problem was in the source code. If you also know about some specific technologies, like how to send http requests, how to redirect requests, how to access logs, etc, it would help.