Summary
I recently interviewed for an SDE 2 position at Locus. The process involved two online assessments followed by an onsite round covering LLD, HLD, DSA, and DB Design, but unfortunately, I was rejected.
Full Experience
I have 3 years of experience and applied for the SDE 2 role at Locus. The interview process began with two online assessments.
The first OA focused on LLD and DSA. I was tasked with designing and implementing a user and file management system. This assessment was divided into four parts, where successful completion and passing tests for one part unlocked the next.
The second OA was an HLD round, which consisted of a system design case study followed by 16 Multiple Choice Questions.
The final round was a comprehensive session covering DSA, DB Design, and HLD. I was presented with several challenging problems.
For DSA, I was asked to find the kth largest element in an unsorted array and specifically implement it using the Quick Select algorithm. For DB Design, the question involved designing a transactional data store with specific columns, handling millions of rows, and supporting particular query patterns. The HLD question required me to design a music streaming application with features like uploading, searching, streaming, and queuing songs, along with non-functional requirements such as near-zero buffering, low internet bandwidth support, and tolerance for no internet connectivity.
Honestly, I felt some of the questions, particularly the HLD for the music streaming app, were more akin to staff-level problems, which seemed irrelevant for someone with only 3 YOE. I also felt the interviewer was intentionally trying to debate and make me uncomfortable, constantly cross-questioning my answers. Despite answering some questions brilliantly, I was ultimately rejected.
Interview Questions (4)
Design and implement a user and file management system. The task was broken into 4 parts, where each part required implementing specific functionalities and passing tests to unlock the next part.
Given an unsorted array of integers, find the kth largest element in the array.
Example 1:
Input: nums = [3, 2, 1, 5, 6, 4], k = 2
Output: 5
Example 2:
Input: nums = [7, 10, 4, 3, 20, 15, 4], k = 3
Output: 10
I was specifically asked to implement this using the Quick Select algorithm.
Design a transactional data store with specific requirements:
- Required Columns: id (varchar, unique), data (text), tennant (varchar), timestamp (Timestamp)
- A transactional table with potentially millions of rows/documents.
- Queries could return hundreds of thousands of rows/documents.
- Typical query patterns:
- Filter by
tennantandtimestamprange. - Filter by
id.
- Filter by
Design a High-Level System Design for a music streaming application with the following features:
- Artist, user, song, album management.
- Functionalities: Upload music, Search, Stream a song, Queue a song.
Non-Functional Requirements:
- Close to 0 buffering.
- Low internet bandwidth availability support.
- Tolerance for no internet connectivity (offline playback).
Summary
I successfully interviewed for an SDE 2 position at Locus, completing all rounds in a single day and receiving an offer the same evening. The entire process was smooth, fast-paced, and highly professional, effectively testing both my technical depth and system design understanding.
Full Experience
How It Started
I was initially contacted by a recruiter from Instahyre who provided an overview of the SDE 2 role and compensation details. After confirming my interest, the interview process began quickly.Round 1 – Online Assessment
This round consisted of two main questions.- DSA + LLD Hybrid Question: I was asked to design a Bank System with various functionalities. The problem was structured into four stages, where successfully passing all test cases of one stage would unlock the next part. This round effectively tested both my coding ability and design thinking.
- System Design Case Study: A detailed design statement was provided, followed by 16 multiple-choice questions based on that statement. This section assessed my understanding of scalability, consistency, database selection, and API design concepts.
Round 2 – HR / Culture Fit (30 mins)
This round focused primarily on behavioral aspects and cultural alignment. We discussed topics such as my motivations for joining Locus, the challenges I face in my current role, and my expectations from a new position.Round 3 – System Design (1 hr 30 mins)
This round was conducted with a Senior Engineering Manager. The core problem was to design a Flash Sale System, similar to popular events like Flipkart’s Big Billion Days. Our discussion delved into various aspects, including rate limiting, effective cache usage, maintaining inventory consistency, implementing queue-based order processing, scaling the system under heavy load, and appropriate database choices.Round 4 – Discussion with VP of Engineering (45 mins)
In this final round, I had a deep discussion with the VP of Engineering about my past projects, including a side project I had been working on. Interestingly, he was building something quite similar, which led to a very engaging and in-depth technical conversation.Outcome
All interview rounds were completed within a single day, and I was delighted to receive the offer that same evening. Overall, the experience was smooth, fast-paced, and highly professional. Locus truly has a well-structured process that thoroughly tests both a candidate's technical depth and system design understanding.Interview Questions (2)
I was asked to design a Bank System with various functionalities. The problem was structured into 4 stages; after successfully passing all test cases of one stage, the next part would unlock. This question tested both my coding ability and design thinking.
I was tasked with designing a Flash Sale System, similar to how Flipkart handles its 'Big Billion Days'. The discussion covered key topics such as rate limiting, effective cache usage, maintaining inventory consistency, implementing queue-based order processing, scaling the system under heavy load, and appropriate database choices.