I was contacted by a recruiter who was really friendly and helpful. He explained I'd get a 15-minute call with him first, then a longer HR interview (about 45 minutes) covering my past experience and future plans, etc.
Following that was the online coding interview, which consisted of two short (10-15 minute) and uncomplicated Codility tasks, and a range of short questions from various IT topics probing the extent of my knowledge. They have a prepared sheet with these questions, and I assume they are similar for all candidates. For example: What is TTL in a data packet? How does a database TRUNCATE differ from simply deleting all records from the table?
After the interview, they didn't contact me for about a week. Though the interview wasn't difficult, I thought I probably hadn't made it. I wrote to HR to confirm, and unexpectedly, she responded that I hadn't failed. It was their fault for not contacting me, but they were excited to invite me to the last stage: the onsite interview.
The onsite interview contains four parts, which Spotify describes as follows:
Culture interview: This is an opportunity for us to learn more about the engineering cultures you’ve been exposed to and how you see yourself growing at Spotify. Topics may include agile practices, your approach to conflict and resolution, details about Spotify’s organizational and engineering structure, and communication and teamwork skills. The focus is on your real-life examples from your experiences, so try to be specific.
Coding interview: Writing a program to solve a problem, by devising an algorithm and/or using common algorithms and data structures to aid you. You'll be asked to code solutions to problems, discuss their complexity, and optimize them. We'll evaluate your thought process and communication skills, as well as the correctness of your answer. You can code in the language of your choice; we'd prefer Java or Python. Please note the interview will be done on a whiteboard.
Case interview: You'll be asked to diagnose and fix a problem with a backend system. We'll give you an outline of the system and an alert telling you what's failed. You then ask your interviewer questions about the state of the system, isolate the problem, and formulate a solution based on their answers. We’re more concerned with your thought process and approach rather than getting to the exact correct answer.
System design interview: An interview about designing, building, and scaling systems. You should be prepared to talk about load balancing, system availability, caching, choice of database, and similar topics.
I think I probably didn't do too well in the system design interview. The case interview was really interesting, and I did get it, but after a few hints and nudges in the right direction. The coding task didn't contain any complicated algorithms but was still a little challenging because of the whiteboard. However much you practice with online tools like LeetCode, HackerRank, etc., it doesn't really help much with a whiteboard interview, so be warned.
There's an array of number intervals. How would you merge them? (It's up to the developer to select how the interval is represented.)
The following metrics were computed from 1 interview experience for the Spotify Backend Engineer role in Stockholm, Stockholm.
Spotify's interview process for their Backend Engineer roles in Stockholm, Stockholm is extremely selective, failing the vast majority of engineers.
Candidates reported having very good feelings for Spotify's Backend Engineer interview process in Stockholm, Stockholm.