Backend Engineer | Zenskar
JP Morgan Chase | SDE 3 | YOE 3.4
Microsoft SDE - 2 | Interview Experience | Status Pending
eBay || SWE3 Interview Experience || Bangalore
Bloomberg | Interview Experience | Senior Software Engineer | NYC | Nov 2025
Meesho | SDE-2 | Bengaluru | July 2024 [Reject]
Summary
I interviewed for the SDE-2 role at Meesho in Bengaluru, which involved a DSA round and a Machine Coding round, ultimately leading to a rejection.
Full Experience
I recently interviewed for the SDE-2 position at Meesho in Bengaluru. My background includes 2.3 years of experience as a fullstack software developer at a product-based MNC. The interview process consisted of two main rounds.
Round 1 (DSA): This one-hour round was conducted on Hackerrank. I was presented with two problems. The first problem was similar to Number of Visible People in a Queue on LeetCode. The second problem was exactly Find the Longest Equal Subarray from LeetCode. I managed to pass all test cases for the first problem and 11 out of 15 for the second, which resulted in my selection for the next round.
Round 2 (Machine Coding): This round lasted two hours and focused on designing a system similar to Splitwise. The requirements included handling expenses split in three ways: EQUAL, EXACT, and PERCENTAGE. I was asked to implement four specific methods: addUser(), splitExpense(), showExpenses(), and showExpensesForUser(). While I structured the code well and applied some design patterns, I unfortunately couldn't complete the full implementation within the allotted time, which led to my rejection.
Interview Questions (3)
You are given an integer array heights of length n representing the heights of people standing in a queue. For each person i, you need to count the number of people j such that i < j, heights[i] > heights[j], and for all k such that i < k < j, heights[k] < heights[i]. Return an integer array answer of length n where answer[i] is the number of people i can see to their right in the queue.
You are given a 0-indexed integer array nums and an integer k. A subarray nums[i..j] is considered an equal subarray if all elements inside of it are equal. Return the length of the longest equal subarray nums[i..j] such that j - i + 1 - count(nums[i..j]) <= k where count(nums[i..j]) is the number of distinct elements in the subarray. In simpler terms, you can delete at most k elements from the subarray to make all remaining elements equal.
Design a system similar to Splitwise. The system should support three ways of splitting expenses: EQUAL, EXACT, and PERCENTAGE. The core functionalities to be implemented include adding users, splitting expenses, showing all expenses, and showing expenses for a specific user. Specifically, I needed to implement the following methods: addUser(), splitExpense(), showExpenses(), and showExpensesForUser().