Loading...

Spotify Interview for Backend Engineer II in Stockholm

interview
Ram Patra Published on November 28, 2019
Image placeholder

Before I begin, let me tell you that my interview with Spotify was one of the best experiences I’ve had. Ergo, I am writing this post first and would be writing my other interview experiences later.

Rounds:

  1. Initial phone call from the recruiter. (30 mins)
  2. Video call (Google meet) with two engineers. (1 hr)
  3. 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.

In my case, the recruiter from Spotify, not outsourced, contacted me on LinkedIn and then we scheduled a phone call. This call 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.

In the first telephonic round, there were two engineers, one experienced and the other a bit less experienced, and they started with introducing themselves and asked me to introduce myself. After this, they asked me a warm-up question on coderpad where I was given an array/list of numbers and I have to remove the duplicates if any. This question is obviously an easy one but do not forget to ask clarification questions before starting to code. Questions can be like, can the array be null, is there any time or space restrictions, how large is the input, etc. After this question, they asked me a modified version of https://leetcode.com/problems/string-compression/. Then comes the theory questions where they asked questions from a gamut of topics starting from the classic, what happens when you type the url in the browser to the difference between UDP and TCP. I think they have a list of theory questions that they ask everyone and they have a list of coding questions from which they choose two. The theory questions mostly covered Java basics, networking basics, and other general software engineering questions. Lastly, they gave me some time to ask questions if I wish. I took this chance to ask as many questions as I can and they were quite friendly and happy to answer them all.

On clearing the first telephonic round, they emailed me a link to cubiksonline.com for a non-technical test which was time-bound. It was a bit unusual for me as I never gave such a test in any of my interviews. The questions were mostly of multiple-choice type and it needs no prior preparation as such. Just keep yourself away from any distractions and be fast in answering. I guess I had to score a minimum of 3 out of 5 to go to the next round.

After the weird online test, I received an email for the on-site interview in their new Stockholm office in Sweden. I scheduled the interview after 2-3 months as I had my vacation planned and they were completely fine with that. They connected me with a travel agent who took care of my flight and hotel bookings. They gave me a couple of flight and hotel options and I could choose the one which suited me best. I chose Downtown Camper by Scandic to stay as I read the reviews online and it was great but most importantly it was literally behind the Spotify’s new office so it was just a few hundred meters away. You can read another short post of mine if you’re curious to have a look at the interiors or the complimentary breakfast at Downtown Camper. The main motivation behind the post was the sumptuous complimentary breakfast. It had almost everything. Having said that, I couldn’t eat much before my interview as I was slightly nervous and therefore, I hogged the fruits but the next day I ate almost every item they had 😋.

Apologies for digressing, I got carried away. Let’s come back to the on-site interview. I had my dates set, flights booked, etc. and finally, the big day arrived. I already knew the location of the office, however, I started a bit early. I reached the office 15-20 mins before and the security at the ground floor reception asked me to enter my details on an iPad and it automatically printed out a temporary ID card. The guard told me which floor to go to based on the details I entered. I went to the said floor and waited there for a couple of minutes. The office was pretty slick and then I thought it’s Sweden after all, it had to be slick. After a couple of minutes, the HR, who was I in contact with, came to me and took me to the room where all the interviews would be taking place. She chatted with me for a while to ease things off and explaining what would happen in the next 5 hours.

Here comes the meaty part, the interview started and the first one was figuring out the root cause of an actual issue which once happened in production. There were two engineers in this round, again one experienced and the other less experienced, and the former explained to me the scenario and I was allowed to write notes on the board. For this round, I would suggest noting down all the clues the interviewer gives. This will help a lot in debugging the issue later. You are expected to ask questions at each step of this interview. This way you are going to narrow down to the main issue. In my case, I successfully spotted the problem within the stipulated time and then the interviewer asked me a slapdash solution to quickly deal with the problem and also a more reliable or permanent solution.

The next round was the behavioral round with two managers. At first, we introduced ourselves. They were nice and friendly, and to be honest, I didn’t feel nervous in front of them. They also had a set of questions in hand to ask. 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. And surprisingly, a single answer of mine answered more than one question from their list and they were smart enough to skip them. In the end, I was allowed to ask questions. I took this opportunity to know as much as I can about the team I would be working with.

Next was lunch with the team that they were hiring for. This “wasn’t” an interview. It was just a casual lunch with the teammates so that we all get to know each other well and also for me to know the company’s culture well. I personally think this is quite useful to have in an interview process. The nicest thing here, not racist in any way you dirty mind, was that they had ordered Indian food for all in the team because of me :)

Lunch was over and I was escorted to my interview room. The interviewers were already sitting in the room and had their laptops ready. I quickly settled in and as usual, we first introduced ourselves. In this round, I was asked to write code on their laptop which was projected to a larger screen for the interviewers to see. It was a mac laptop but if you’re not familiar with macs then there is no need to panic as all you have to do is code on the editor. Now, the editor they used was IntelliJ IDEA so I would request you to get slightly familiar with this IDE before the interview if you can. This isn’t needed but it may help if in case you get stuck somewhere. The question was to find the most popular song based on the number of times it was played. You can start with a naive algorithm but can then move to a more sophisticated and better time complexity algorithm like heap sort, etc.

The final round was the design round. This was the most tiring for me, first, because it was the last round, second, because the interviewer kept asking questions after questions without a break. They asked me to design an image server which was basically a CDN. It took me some time to realize this as a question on designing a CDN wasn’t what I was expecting. However, I did go through Glassdoor earlier and a few folks had mentioned this. So, I read a little bit about it. I read about BGP protocol, researched as to how does a CDN know the nearest location to serve the images, etc. This research helped me in this interview.

At last, the interview process came to an end. The HR came again to know how things went and also answered any questions I had. She told me that they would get back to me in a week or so. I then returned to my hotel, took my camera, and started wayfaring Stockholm. In fact, the picture you see in the banner was taken by me. If you’re interested to see how Stockholm looked in February then you can check out my Shutterstock or Instagram.

A couple of days went by and I received the much yearned email, with the subject “Good news”. It was obvious from the subject but I opened the email to know about the salary they were offering and other benefits. You can expect to get stocks, spread over 4 years, along with your salary. And, the good thing about the stocks was that I could redeem it monthly or I could invest it or get more value out of it if I withdrew it later. They had given me a well written and designed pdf explaining all these. I had some negotiations with the HR and was able to increase the package a bit. It’s quite important you negotiate as this is the only time you can, actually. After you’re in the company the chances are low.

I had to now make the big decision of accepting or rejecting the offer and move to Sweden. The HR told me that they can sponsor tickets for my family just to visit Stockholm and see how is the place like and set things up and later they would again sponsor tickets to move to Stockholm permanently. They also had courier arrangements for moving my stuff. Lastly, they had a dealer who could help me find a house for me and my family. Everything was perfect, I loved the company, was okayish with the offer, the team was great, food was awesome, and the list goes on. However, I couldn’t accept the offer even though I wanted to work at Spotify. That’s because I had only two years left to get my Irish passport, and moreover, my wife got a job here in Dublin after much effort. Also, I didn’t find other good companies, apart from Microsoft, in Stockholm so if I later want to move to a different company, my options were limited. There were some other personal reasons too, like, I wanted to be in an English speaking country and I wanted to buy a house someday with my own private garden and the houses in Stockholm were damn expensive and mostly you would find apartments there. This wasn’t the case in Dublin. So, all these factors led me not to accept the offer. I took a month or so to decide and revert back to the HR, and to my surprise, Spotify was really supportive. I am glad that we ended up our conversation in good terms even though I rejected the offer after a month.

That’s all about my interview with Spotify, I hope it helps. All the best!


Ram Patra Published on November 28, 2019
Image placeholder

Keep reading

If you liked this article, you may like these as well

May 29, 2019 Overriding

Reimplementing the inherited method from the parent class in the child class is called Overriding in Java.

August 8, 2019 Statics

Static is one of the non-access modifier which has a huge role in Java. It can be usedwith both variables and methods. It is used when we want some variable or method not to be a part of any specific objectof a class rather common for all objects of the class.

November 28, 2019 How to make a Wedding Website for free

I made this website for my wedding in November 2017 and thought of open-sourcing it on my 1st anniversary. I honestly had put a good amount of time developing it so reckoned this effort may help others save some of their time. Hope you guys like it.