Spotify Interview Experience for Backend Engineer II
Current Status: Senior Software Engineer with 7+ YOE
Position: Backend Engineer II at Spotify
Date: Oct 2019
1. Initial phone call from the recruiter. (30 mins)
2. Video call (Google meet) with two engineers. (1 hr)
3. Cubiks Online Test to gauge my cognitive ability. (30 mins)
4. On-site interview (4 rounds + lunch) at the Stockholm office. (5 hrs)
5. Email and call from the HR with the offer.
Initial phone call:
It was basically to check whether I was a right fit for the position, salary expectations, etc. Normally, they also ask, “why did you apply for this position?” but in this case, as they reached out to me, I wasn’t asked this question. Finally, if he is satisfied with your answers then he would schedule the first technical interview.
* Remove duplicates in an array (warmup question)
* Modified version of https://leetcode.com/problems/string-compression/
* Java Basics, Networking Basics, What happens when you type a url in the browser, etc.
Non-technical multiple choice questions. Time bound.
* Figure out the root cause of an issue that actually happened in production. Interviewers would give you clues and you have to use them to find the culprit. You are then expected to give a slapdash solution and a permanent solution.
* Behavioral interview with 2 managers. The questions were mainly based on past experiences, for example, tell me a time when you did something extra for your team, tell me a time you introduced a new practice in the team which proved to be beneficial, etc.
* Coding round where I was given a project (in a language of my choice) that was setup on their laptop and I had to code in an IDE (IntelliJ in my case). It was based on Heapsort.
* Design round where I was asked to design a CDN. You need to know some basic networking concepts in order to come up with a good design. I know for a software engineer position, it maybe slightly weird being asked to design a CDN but it wasn’t a surprise for me as I read the same on Glassdoor prior to the interview and prepared accordingly.
If you want to read an expounded version of this interview then you can read my blog: https://blog.rampatra.com/spotify-interview-backend-engineer-ii.
Resources used to prepare:
* William Fiset’s youtube channel: https://www.youtube.com/channel/UCD8yeTczadqdARzQUp29PJw
* MIT Lecture Videos: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/lecture-videos/
* Java Basics: http://www.developersbook.com/corejava/interview-questions/corejava-interview-questions-faqs.php
* Educative.io: (Grokking the system design interview)
* System Design Basics: https://github.com/donnemartin/system-design-primer
* Awesome Scalability: https://github.com/binhnguyennus/awesome-scalability
* Networking Basics: https://hpbn.co/
My personal opinion:
I know that many of us here are targeting the big tech companies like Google, Facebook, etc. However, I am also aware how hard and tiring it is to prepare for the same, especially with a full-time job. And, it may take us some time to land in such a company. Ergo, working in a company like Spotify until you’re done preparing is a good deal, at least in Europe. Their pay is decent, perks are great (just like the big giants), brand is not bad at all (would look good on your resume), and last but not least, their interview isn’t as hard as the big giants. Having said all this, I couldn’t accept the offer from Spotify and I am sad that I couldn’t. I had my personal reasons but if you’re okay to move to Stockholm or if Spotify is already present in your city then this company won’t be bad to work for. All the best for your interviews. They are hard and tiring and also require a bit of luck. So, don’t lose hope if you didn’t crack one. I failed in many interviews before getting the Spotify offer even though my coding rounds went good.