VMware | SMTS | 8.5 yoe | Interview Experience [Rejected]

vmware logo
vmware
MTS II8.5 yearsRejected
June 7, 20220 reads

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)

Q1
Find Triplet with Given Sum
Data Structures & AlgorithmsMedium

Given an array of numbers, find a triplet (three numbers) whose sum equals a given target value.

Q2
Convert Linked List to Complete Binary Tree
Data Structures & AlgorithmsMedium

Convert a given singly linked list into a complete binary tree.

Q3
Implement Countdown Latch
Data Structures & Algorithms

Implement a CountDownLatch class or mechanism using multithreading concepts.

Q4
LLD: Snake and Ladder Game Initialization
System Design

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:

  1. Custom size of the board.
  2. User-defined number of snakes and ladders.
  3. 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).
  4. Additional related conditions were also implied.

Q5
HLD: High-Throughput Message Processing System
System DesignHard

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.

Q6
Merge Intervals
Data Structures & Algorithms

Given a collection of intervals, merge all overlapping intervals.

Q7
LLD: Batch Processing System (Cron-like)
System Design

Design the Low-Level Design (LLD) for a batch processing system similar to cron.

Q8
System Security Implementations
Other

Discuss security implementations for a given system, including specific approaches and best practices.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!