Spotify | Backend Engineer I/II | Europe | 2022 | Onsite [Reject]

spotify logo
spotify
backend engineer i/iieuropeRejected
October 27, 20221 reads

Summary

I interviewed for a Backend Engineer I/II position at Spotify as a new grad in Europe. The process included a recruiter call, a technical phone screen, and a four-round onsite interview. Ultimately, I was rejected, receiving feedback that my performance in the coding and debugging rounds was not strong enough, but I consider it a valuable learning experience.

Full Experience

Spotify Backend Engineer I/II Interview Experience

I recently went through the interview process for a Backend Engineer I/II role at Spotify in Europe as a new graduate, with 0 years of full-time experience but 8 months of SDE internship experience at Microsoft.

Recruiter Call (15 min)

This was a standard introductory call covering my motivations and basic questions about my background.

Technical Phone Screen (1.5 hours)

I had a technical phone screen with two engineers. We started with a 15-20 minute discussion about one of my projects.

Trivia Questions:

  • What happens when you type a URL in your browser?
  • Questions about the complexity and use cases of a tree and a hash map.
  • If a request is slow, how would you investigate the root cause?

Coding Questions:

  • Implement a function to check if a string is a palindrome.
  • Find the two largest elements in an array.
  • Find the K largest elements in an array.

After this, I had a recruiter prep call for the Digital Onsite.

Onsite (4 rounds)

My onsite interviews consisted of four rounds. I believe I encountered very similar questions to those described in this other thread, so I'll add details on what I remember.

System Design

I was tasked with designing a server for uploading images corresponding to a playlist. The requirements were laid out on a Mural board (around 10 of them), and I had to incorporate an existing playlist server into my design.

Coding

In this round, I had to code some functions related to playlist manipulation. For example, I was asked to implement logic to sort playlists and retrieve the most played songs, specifically using a heap data structure.

Case Study (Debugging)

This was an interesting debugging round. I was given a scenario about a problem in a server. My initial steps involved asking for telemetry data such as CPU/Memory usage or the output of 'top' to see which programs were consuming resources. We then observed that the malfunction was isolated to either EU or US servers. I then requested more data on CPU, IOPS, Requests, and Memory. In my specific case, it turned out that HTTP requests had suddenly increased, leading to high CPU usage. I had to reason about the source of these requests, concluding they were coming from servers forwarding requests to the broken server. Upon examining the source code of these forwarding servers, we found that they were pinging the problematic server infinitely due to a program stuck in an infinite while-loop.

Behavioral

This round involved basic behavioral questions. I was asked to describe a time when I had to figure out a solution on my own, what I am most proud of, and how I handled a past argument with a colleague.

Result

Honestly, the interviews were a bit embarrassing for me at the time. I wasn't really familiar with typical coding interviews, as I had internally transferred from a non-engineering role to an engineering one in my previous internship. However, I learned an incredible amount from the experience! So, it was no surprise when I received a rejection the very next day. The recruiter was incredibly nice and provided feedback, mentioning that I hadn't performed well enough in the coding and debugging rounds. Overall, everyone I met from Spotify during the interviews was very kind!

Interview Questions (10)

Q1
URL to Web Page Process
Other

I was asked to describe the entire process that occurs from the moment a user types a URL into a browser and presses Enter until the web page is fully displayed, covering DNS resolution, HTTP requests, rendering, etc.

Q2
Tree and Hash Map Complexity & Use Cases
Data Structures & Algorithms

I was asked to explain the time and space complexity of common operations for Tree and Hash Map data structures, along with typical scenarios where each would be the most suitable choice.

Q3
Investigating Slow Request Root Cause
System Design

If a particular request is consistently performing slowly, I was asked to outline the diagnostic steps and methods I would use to systematically investigate and identify the underlying root cause of the performance issue.

Q4
Is Palindrome
Data Structures & AlgorithmsEasy

I was asked to implement a function that determines whether a given string is a palindrome (reads the same forwards and backward).

Q5
Find Two Largest Elements
Data Structures & AlgorithmsEasy

I was asked to write code to find and return the two largest distinct elements from an array of numbers.

Q6
Find K Largest Elements
Data Structures & AlgorithmsMedium

I was asked to implement a function that finds the K largest elements from an unsorted array of numbers.

Q7
Design Playlist Image Upload Service
System DesignHard

The System Design task was to design a server responsible for handling the upload and management of images associated with user playlists. The design had to accommodate several requirements presented on a Mural board and integrate with an existing playlist server.

Q8
Playlist Functions with Heap
Data Structures & AlgorithmsMedium

I was asked to implement various functions related to playlist management. Specifically, I needed to demonstrate how to sort playlists and retrieve the most frequently played songs, emphasizing the use of a heap data structure for efficiency.

Q9
Server Malfunction Debugging Case Study
OtherHard

This was a case study where I had to debug a malfunctioning server. The process involved asking for telemetry data (CPU/Memory, 'top' output), identifying geographical issues (EU/US servers), requesting detailed metrics (CPU/IOPS/Requests/Memory), and eventually deducing that an increase in HTTP requests caused high CPU due to forwarding servers being stuck in an infinite while-loop because of a code error.

Q10
Behavioral Interview Questions
Behavioral

I was asked several common behavioral questions, including: 'Tell me about a time when you had to figure out a solution on your own,' 'What are you most proud of in your career?', and 'Did you ever have an argument with a colleague, and how did you deal with it?'

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!