Livspace | SDE1 | Bangalore | April 2022
Summary
I recently completed a series of four interview rounds for an SDE I position at Livspace in April 2022. The process included two technical coding and system design rounds, a detailed problem-solving round, and a final discussion with a Principal Engineer, covering a wide array of data structures, algorithms, system design, and behavioral questions.
Full Experience
I applied for the SDE I position at Livspace after securing a referral via LinkedIn. The interview process consisted of four rounds, all conducted on the same day with short breaks between them.
Round 1 (1 hour)
This round focused on a mix of coding and fundamental computer science concepts. I was given two coding problems, one focused on dynamic programming and another on validating a Binary Search Tree, for both of which I provided working code solutions. Additionally, there were questions on system design, specifically designing an elevator system, and theoretical questions about database indexing and Redis locking.Round 2 (1 hour)
The second round delved into my project experience and more data structures and algorithms. I was asked to explain one of my projects. For coding, I tackled a problem on finding the diameter of a binary tree and a classic problem about determining the minimum number of platforms required at a railway station. This round also included questions on Spring Boot annotations and Java's pass-by-value/reference mechanism.Round 3 (1 hour)
This round primarily focused on advanced problem-solving and another project discussion. I was again asked to explain a specific project from my resume. The coding challenges involved finding the maximum area of an island in a grid and solving the Word Break problem.Round 4 (30 minutes)
The final round was a casual discussion with a Principal Engineer. It centered around my projects, the challenges I faced, and how I approached solving them. We also discussed my career goals. The interviewer also shared insights into Livspace's culture, ongoing projects, tech stack, and team structures.Interview Questions (14)
House Robber
Given an array of integers (positive/negative/zero), find the maximum sum of a subset such that no two elements are adjacent.
Design an Elevator System
Design an elevator system. Also, optimize which elevator will come to the floor from which a request is made.
Database Indexing
What is database indexing?
Redis Locking
What is Redis locking?
Validate Binary Search Tree
Given the root of a binary tree, determine if it is a valid binary search tree (BST).
Explain a Project
Explain one of your projects mentioned in your resume.
Diameter of Binary Tree
Minimum Number of Platforms
Given the arrival and departure times of all trains that reach a railway station, the task is to find the minimum number of platforms required for the railway station so that no train waits. We are given two arrays that represent the arrival and departure times of trains that stop.
Spring Boot: @Bean vs @Component
What is the difference between @Bean and @Component annotations in Spring Boot?
Java: Pass by Reference vs Pass by Value
Is Java pass by reference or pass by value?
Explain a Specific Resume Project
Explain one specific project mentioned in your resume.
Max Area of Island
You are given an m x n binary matrix grid. An island is a group of '1's (representing land) connected 4-directionally (horizontal or vertical). You may assume all four edges of the grid are surrounded by water. The area of an island is the number of '1's in the island. Return the maximum area of an island in grid. If there is no island, return 0.
Word Break
Given a string s and a dictionary of strings wordDict, return true if s can be segmented into a space-separated sequence of one or more dictionary words. Note that the same word in the dictionary may be reused multiple times in the segmentation.
Discuss Projects, Challenges, and Goals
Discuss projects from resume, challenges faced and how they were tackled, and career goals.