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
VMware | MTS3 | Bangalore | July 2023 [Offer]
Summary
I successfully interviewed for the MTS3 position at VMware in Bangalore in July 2023. The rigorous process involved five rounds covering technical problem-solving, high-level and low-level system design, and a final hiring manager discussion, culminating in a job offer.
Full Experience
Round 1 - Technical (Screening Interview on Zoom) - 30min (extended by 15min)
This round began with my introduction and an overview of my current project. The interviewer then asked me to rate myself on Java (Java 8) and front-end technologies (like React/Angular/JavaScript). I rated myself pretty low on front-end as I primarily work on backend, though I had some full-stack experience. Being honest was a key tip here.
I was then given a medium-level question, which was a modified version of Sort Colors but with custom objects. A follow-up question asked me to make the solution generic for any type of objects. Additionally, there was a question related to Java 8 functional programming (Stream API) with follow-up questions, including modifying the solution to be generic.
I was able to answer all the questions very well and received a callback in one day for the next round.
Round 2 - Technical (CodePair) - 90min (Finished in 70min)
After an introduction, the interviewer presented a custom problem (not a LeetCode-like problem) to check my knowledge of SOLID principles, generics in Java, and basics. Following this, I was given a LeetCode Medium problem: Online Stock Span.
I answered all questions very well and received a callback the next day for the next two rounds: High-Level Design (HLD) and Low-Level Design (LLD).
Round 3 - High Level Design (CodePair) - 90min
This round started with an introduction and a discussion about my current project and its architecture. The main task was to design and discuss a solution for managing long-running operations. The interviewer wanted to delve into:
- REST APIs: How I would design the APIs.
- Classes: How I would structure the classes.
- Design: How I would design a robust solution.
- Status/Outcome Tracking: How to manage and track the state/status of submitted asynchronous jobs throughout their lifespan and afterwards.
- TimeOut Mechanism: Implementing an optional timeout for job processing and handling timeouts.
- Retry Mechanism: Similar to the timeout mechanism.
- Limit on parallelism (configurable): How to limit/control the number of parallel processes the system allows at a time.
Having already implemented a similar solution in my current project, I found this round easier. I was able to answer all questions very well.
Round 4 - Low Level Design (CodePair) - 90min (Finished in 70min)
This round consisted of two questions:
- Designing a Retry Mechanism for HTTP calls.
- Given a SQL DB table with employee data (id, fname, lname, dept, managerId where managerId is a self-referencing ID), design a suitable data structure to store this static data. This data structure needed to efficiently support two operations: search-by-name (e.g.,
name.contains("abc")returning a list of employee IDs) and search-by-emp-id (returning employee details).
I successfully answered both questions and received a call back the next day for the Hiring Manager round.
Round 5 - Hiring Manager Round - 90min (Finished in 30min)
I prepared for a mix of technical, behavioral, managerial, and situation-based questions, as I work as a Tech Lead. Although the interview invite included a CodePair link, the round was primarily a discussion. The Hiring Manager was very pleasant, and we discussed their expectations for the role, the team's work, the project, and my career aspirations. Researching the organization beforehand helped me make a great impression in this round.
The entire interview process took about 10 days, which was accelerated by HR due to my impending release date. Ultimately, I was selected and received a job offer.
Interview Questions (6)
A question related to Java 8 functional programming, specifically using the Stream API. The interviewer asked to modify the solution to be generic.
Design an algorithm that collects daily price quotes for some stock and returns the span of that stock's price for the current day. The span of the stock's price today is defined as the maximum number of consecutive days (starting from today and going backward) for which the price of the stock was less than or equal to today's price.
Design a robust system for managing long-running asynchronous operations. The discussion focused on:
- REST APIs: How to design the APIs.
- Classes: How to structure the classes.
- Design: How to design a robust solution.
- Status/Outcome Tracking: How to manage and track the state/status of submitted async jobs throughout their lifespan and afterwards.
- TimeOut Mechanism: Implementing an optional timeout for job processing and handling timeouts.
- Retry Mechanism: Similar to timeout.
- Limit on parallelism (configurable): How to limit/control the number of parallel processes the system allows at a time.
Design a retry mechanism for HTTP calls, considering aspects such as idempotency, back-off strategies, and error handling.
Given a SQL database table containing Employee objects (id, fname, lname, dept, managerId where managerId references another employee in the same table), design a data structure to store this static data. The data structure should efficiently support two operations:
- Operation 1. Search by name: Given a partial name (e.g.,
name.contains("abc")), return a list of employee IDs. - Operation 2. Search by employee ID: Given an employee ID, return the full details of that employee.
Preparation Tips
My preparation involved leveraging my experience with similar solutions implemented in current projects, especially for high-level design. Additionally, I conducted thorough research about the organization, which proved beneficial during the hiring manager round.