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 | SMTS | 8.5 yoe | Interview Experience [Rejected]
Summary
I applied for a SMTS role at VMware via LinkedIn and proceeded through six rounds, including technical coding, system design (LLD and HLD), and a final hiring manager discussion. Despite performing well in most rounds, I was ultimately rejected in the last stage due to a specific security question.
Full Experience
I started my journey by applying for the SMTS position at VMware through LinkedIn. Within a week, I received a mail from HR, signaling the start of a rather extensive interview process that lasted over a month.
My first hurdle was an Online Assessment on HackerRank, which consisted of two coding questions (rated easy/medium), one SQL query problem, and a medium-difficulty multithreading question.
Next, I had a Virtual Round where I tackled two medium-level coding problems on a shared HackerRank IDE. The first was to find a triplet in an array that sums to a given value, and the second involved converting a linked list into a complete binary tree. I executed both problems with the test cases provided by the interviewer.
The third Virtual Round was quite comprehensive. It started with a multithreading problem where I was asked to implement a countdown latch. Following that, there was a Low-Level Design (LLD) discussion for a Snake and Ladder game. I had to implement a method to initialize the game board, considering custom board sizes, user-defined numbers of snakes and ladders, and ensuring all snakes and ladders had unique start and end points, among other specific conditions.
A significant part of the process was the two-hour High-Level Design discussion in the fourth Virtual Round. The scenario involved designing a system to consume message files from an external source. These compressed files, ranging from 1-50 MB uncompressed, needed to be processed and passed to a downstream system. The challenge was to handle billions of such messages per hour with limited hardware, all while accounting for potential downstream latencies. I felt this discussion went well, and the interviewer seemed satisfied.
The fifth Virtual Round included another coding question, which was a classic 'Merge Intervals' problem. This was followed by an LLD discussion on a batch processing system, similar to a cron job. This round also felt positive.
Finally, I reached the sixth Virtual Round with the Hiring Manager. This was primarily a verbal discussion where I talked about my current projects and their architecture. The conversation then shifted to security implementations for a system. I presented my approach, but it seemed the interviewer was looking for something very specific that I hadn't memorized or deeply explored, which unfortunately played a crucial role in the outcome.
After such a long and involved interview journey, taking over a month, it was tough to digest the rejection, especially when everything had seemingly gone so well up until that last specific question.
Interview Questions (8)
Given an array of numbers, find a triplet (three numbers) whose sum equals a given target value.
Convert a given singly linked list into a complete binary tree.
Implement a CountDownLatch class or mechanism using multithreading concepts.
Design the Low-Level Design (LLD) for a Snake and Ladder game. Specifically, implement a method to initialize the game board with the following conditions:
- Custom size of the board.
- User-defined number of snakes and ladders.
- All snakes and ladders should have unique start and end points (e.g., no two ladders can have the same start point, no two snakes can bite from the same cell).
- Additional related conditions were also implied.
Design a high-level system that consumes message files generated by an external system. These files are compressed, with uncompressed sizes ranging from 1 MB to 50 MB. The system must consume billions of such messages per hour using limited hardware and pass the processed files to a downstream system, considering its potential latencies.
Given a collection of intervals, merge all overlapping intervals.
Design the Low-Level Design (LLD) for a batch processing system similar to cron.
Discuss security implementations for a given system, including specific approaches and best practices.