Twitch | On Site | Full Stack Engineer [Reject]
Summary
I recently went through a multi-stage interview process for a Full Stack Engineer role at Twitch, which included an online assessment, a phone screen, and a virtual onsite covering OOP, data structures & algorithms, system design, and behavioral aspects. Unfortunately, I was ultimately rejected after a week-long wait for the feedback.
Full Experience
I recently went through the entire interview process with Twitch for a Full Stack Engineer position.
My journey began with an Online Assessment. This round was primarily focused on Object-Oriented Programming, and the task was to implement a Battleship game. It took me some time, but I managed to complete it successfully.
Following that, I had a 60-minute Phone/Google Meet interview. This round involved discussing my background, answering a few basic technical questions, and solving a coding problem related to Data Structures & Algorithms. I found this part relatively easy.
The next stage was a comprehensive 4-hour virtual onsite interview, which consisted of four back-to-back sessions. Most of these were technical, with one dedicated behavioral interview.
- The First interview presented a unique coding challenge. I was given a list of items, each with a value and boolean flags indicating
startandend. My task was to implement a function that would identify and process 'full valid sets' of items. A valid set meant finding all items sequentially between astart: trueitem and anend: trueitem. For instance, in a list like{ val: 0, start: false, end: false }, { val: 1, start: true, end: false }, { val: 3, start: false, end: true }, { val: 2, start: false, end: false }, { val: 7, start: false, end: false }, the valid set would only include items 1, 2, and 3. I approached this problem using a priority queue. - The Second Interview was a basic Depth-First Search (DFS) question. The problem was similar in concept to the well-known 'Number of Islands' problem.
- The Third Interview was purely behavioral. I was asked standard questions such as 'Tell me about a time you helped a peer get unstuck' and 'Tell me about a time you solved something challenging.'
- For the Fourth Interview, the focus shifted to System Design. I was tasked with designing a full-stack component for a video and a 'like' button. This involved explaining the architectural choices and providing some code snippets to illustrate my approach.
After completing the onsite, I was initially told I would receive feedback the very next day. However, I had to proactively reach out a week later to hear back. Unfortunately, I received a rejection, but I consider it a valuable learning experience and appreciated the process.
Interview Questions (6)
The online assessment required me to implement a Battleship game program. The primary focus was on demonstrating strong object-oriented programming (OOP) principles and design patterns.
Given a list of items, where each item has a value, a start boolean flag, and an end boolean flag, I needed to implement a function. This function's goal was to identify and collect 'full valid sets' of items. A full valid set is defined as all items encountered sequentially between an item with start: true and an item with end: true, inclusive. For example, given the stream: { val: 0, start: false, end: false }, { val: 1, start: true, end: false }, { val: 3, start: false, end: true }, { val: 2, start: false, end: false }, { val: 7, start: false, end: false }, the function should identify items 1, 2, and 3 as a valid set (assuming 2 came after 1 and before 3 logically for the set). Once a full valid set is accumulated, a predefined callback function should be invoked with this set.
I was given a coding problem that involved Depth-First Search (DFS). The conceptual nature of the problem was similar to the classic 'Number of Islands' LeetCode problem, where one typically traverses a 2D grid or graph to find and count connected components.
The interviewer asked me to describe a specific situation where I successfully helped a colleague or peer overcome a technical challenge or get unstuck on a project.
I was asked to recall and elaborate on a challenging problem I encountered in my professional experience and detail the steps I took to solve it.
The task was to design a comprehensive full-stack system for a video viewing platform, specifically focusing on the video playback functionality and an associated 'like' button. This required outlining the architecture, detailing API endpoints, database schemas, and discussing front-end and back-end interactions. I also had to demonstrate key logic with some code.