livspace logo

Livspace Interviews

2 experiences15 reads24 questions50% success rate
Livspace | SDE 2 | Frontend | Interview experience
livspace logo
Livspace
sde 2 frontendOffer
September 26, 202513 reads

Summary

I successfully interviewed for an SDE 2 Frontend position at Livspace, navigating through five rounds covering JavaScript fundamentals, advanced concepts, problem-solving, System Design, and behavioral questions over a two-week period, ultimately receiving a job offer.

Full Experience

I applied for an SDE 2 Frontend role at Livspace through LinkedIn, and the recruiter reached out to me shortly after. The interview process was comprehensive, spanning about two weeks and consisting of five distinct rounds.

Round 1 (Javascript)

The first round focused on JavaScript concepts and problem-solving. We discussed core differences like `async` vs `defer` and how to persist data using session storage. I was also given a JavaScript problem to process user activity data, requiring grouping, de-duplication, and sorting.

Round 2 (Javascript)

Round two continued with JavaScript, delving into more advanced topics like SSR and why Next.js remains relevant despite React 19's SSR capabilities. The coding challenge involved implementing an Event Emitter, for which I used vanilla JavaScript. I also tackled an interactive grid problem that involved dynamic generation, state management for clicks, and a timed reset sequence. I managed to complete about 50% of the implementation and verbally discussed the remaining approach, including optimizations like event delegation.

Round 3 (Javascript + LLD)

The third round was a mix of JavaScript and Low-Level Design (LLD). While one problem involved data transformation with `reduce`, the primary focus was on designing a Restaurant Ordering System.

Round 4 (Managerial round)

The fourth, a managerial round, was a half-hour call primarily discussing my resume and past experiences.

Round 5 (HR round)

Finally, the fifth round was with HR, covering standard behavioral questions such as my motivation for joining Livspace, handling workplace conflicts, and my passion for software development, particularly frontend.

After completing all rounds, I received an offer from Livspace, which was a great outcome after a rigorous two-week process.

Interview Questions (10)

Q1
Difference between async and defer
Other

Explain the differences between the 'async' and 'defer' attributes for script tags in HTML, and when you would use each.

Q2
Persisting Form Data with Session Storage
Other

How would you use session storage to persist form data even after a page refresh?

Q3
Process User Activities Data
Data Structures & AlgorithmsMedium

Given an array of user activities, group the data by userId, sum their duration, remove duplicate equipment items, and sort the equipment array lexicographically.

Input:

const activities = [
  { user: 8, duration: 50, equipment: ['study'] },
  { user: 7, duration: 150, equipment: ['running','running'] },
  { user: 1, duration: 10, equipment: ['eating','eating'] },
  { user: 7, duration: 100, equipment: ['gyming', 'coding'] },
  { user: 7, duration: 200, equipment: ['biking','gyming', 'coding'] },
  { user: 2, duration: 200, equipment: ['cocking'] },
  { user: 2, duration: 200, equipment: ['biking'] },
];

Output:

[
  { user: 8, duration: 50, equipment: [ 'study' ] },
  {
    user: 7,
    duration: 450,
    equipment: [ 'biking', 'coding', 'gyming', 'running' ]
  },
  { user: 1, duration: 10, equipment: [ 'eating' ] },
  { user: 2, duration: 400, equipment: [ 'biking', 'cocking' ] }
]
Q4
Next.js vs. React 19 SSR
Other

Discuss the reasons why Next.js might still be needed or preferred, even with React 19 introducing Server-Side Rendering (SSR) capabilities.

Q5
Event Emitter
Data Structures & AlgorithmsMedium

Implement an Event Emitter class with subscribe and emit methods, allowing multiple callbacks for a given event and ensuring all subscribed callbacks are executed when an event is emitted. The subscribe method should return an object with an unsubscribe method.

Q6
Interactive Grid with Click Order Reset
Data Structures & AlgorithmsHard

Design an interactive grid where n x n cells are dynamically generated. Initially, all cells should have the same background color (e.g., blue).

  • When a user clicks on a cell, it should immediately change to a different color (e.g., red) and its click order must be tracked.
  • There should be a "Start" button.
  • On clicking "Start", the clicked cells should revert back to the initial color one by one, in the exact order they were clicked, with a short delay between each cell (e.g., 500ms).
  • After the reset, the grid should be ready for interaction again.
Q7
Design a Restaurant Ordering System
System DesignHard

Design a complete restaurant ordering system, considering various aspects such as menu management, order placement, kitchen display system, payment processing, user roles (customer, staff), and scaling considerations.

Q8
Why Livspace?
Behavioral

Why do you want to join Livspace?

Q9
Conflict with a Senior
Behavioral

Tell us about a time you had a conflict with a senior colleague and how you handled it.

Q10
Passion for Frontend Development
Behavioral

Explain your motivation for becoming a software developer, and specifically why you chose frontend development.

Livspace | SDE1 | Bangalore | April 2022
livspace logo
Livspace
sde ibangalore0.83 yearsOngoing
April 28, 20222 reads

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)

Q1
House Robber
Data Structures & AlgorithmsMedium

Given an array of integers (positive/negative/zero), find the maximum sum of a subset such that no two elements are adjacent.

Q2
Design an Elevator System
System Design

Design an elevator system. Also, optimize which elevator will come to the floor from which a request is made.

Q3
Database Indexing
Other

What is database indexing?

Q4
Redis Locking
Other

What is Redis locking?

Q5
Validate Binary Search Tree
Data Structures & AlgorithmsMedium

Given the root of a binary tree, determine if it is a valid binary search tree (BST).

Q6
Explain a Project
Behavioral

Explain one of your projects mentioned in your resume.

Q7
Diameter of Binary Tree
Data Structures & AlgorithmsEasy

Given the root of a binary tree, return the length of the diameter of the tree.

Q8
Minimum Number of Platforms
Data Structures & AlgorithmsMedium

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.

Q9
Spring Boot: @Bean vs @Component
Other

What is the difference between @Bean and @Component annotations in Spring Boot?

Q10
Java: Pass by Reference vs Pass by Value
Other

Is Java pass by reference or pass by value?

Q11
Explain a Specific Resume Project
Behavioral

Explain one specific project mentioned in your resume.

Q12
Max Area of Island
Data Structures & AlgorithmsMedium

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.

Q13
Word Break
Data Structures & AlgorithmsMedium

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.

Q14
Discuss Projects, Challenges, and Goals
Behavioral

Discuss projects from resume, challenges faced and how they were tackled, and career goals.

Have a Livspace Interview Experience to Share?

Help other candidates by sharing your interview experience. Your insights could make the difference for someone preparing for their dream job at Livspace.