vmware logo

Vmware Interviews

5 experiences14 reads53 questions60% success rate
VMWare
vmware logo
Vmware
April 17, 20231 reads

Summary

I had an interview round with VMWare where I was asked four data structure and algorithm questions in a rapid-fire 35-minute session, covering linked lists, graph cycles, array manipulation, and a specific LeetCode problem. The interviewer expected working code and seemed to have fixed solutions in mind.

Full Experience

My interview at VMWare was a fast-paced experience. In just 35 minutes, I was put through a coding round where four distinct data structure and algorithm problems were posed. It felt quite intense, and I noticed the interviewer wasn't very open to discussing alternative approaches; they seemed to be looking for particular solutions. For the first question, I was explicitly told that working code was a requirement. It definitely felt like a direct assessment of my coding speed and problem-solving skills under pressure.

Interview Questions (4)

Q1
Add Two Linked Lists (No Reverse)
Data Structures & AlgorithmsMedium

Given two linked lists, each representing a number with digits stored in non-reverse order (most significant digit first), add the two numbers and return the sum as a linked list. A critical constraint was that the linked lists cannot be reversed before performing the addition.

Q2
Detect Cycle in Undirected Graph
Data Structures & AlgorithmsMedium

I was asked to describe or implement an algorithm to detect the presence of a cycle in a given undirected graph.

Q3
Find Minimum Missing Positive Number
Data Structures & AlgorithmsHard

Given an array of numbers, which may include zeros, negative numbers, and duplicates, the task was to find the smallest positive integer (greater than 0) that is not present in the array. For example, if the input array is [0, -1, 1, 4, 5], the minimum missing positive number is 2.

Q4
Largest Rectangle in Histogram
Data Structures & AlgorithmsHard

Given an array of integers heights representing the histogram's bar height where the width of each bar is 1, find the area of the largest rectangle in the histogram.

VMWare | MTS2 | Bengaluru | Jan 2023 | Offer
vmware logo
Vmware
MTS IIBengaluru1.67 yearsOffer
January 26, 20233 reads

Summary

I recently interviewed for an MTS-2 role at VMWare through a referral, undergoing three intensive virtual rounds focused on coding, system design, and behavioral aspects. I am pleased to share that I successfully received an offer within a month of my interviews.

Full Experience

Round 1 - Technical Round [60 mins]: Coding (Data Structures & Algorithms)

The first round began with a brief introduction from both sides, after which I was asked to describe the projects I worked on at Goldman Sachs, followed by some in-depth follow-up questions. For coding, the interviewer first asked me to merge two sorted arrays and then extended it to merging k sorted arrays, which I had to code. Additionally, there were fundamental questions covering the difference between stack and heap memory, advantages of using a vector, and the efficiency of list versus array traversals.

Round 2 - Technical Round [60 mins]: Coding (Data Structures & Algorithms) + System Design

This round also started with a discussion about my projects at Goldman Sachs. For coding, I was given the 'Longest Substring with At Most K Distinct Characters' problem. The system design part involved a comprehensive discussion on various topics, including vertical and horizontal scaling, cache systems, LRU Cache implementation, microservices architecture, load balancing, and master-slave database architecture. A notable question was about how I would prevent a DDoS attack in a software system.

Round 3 - Hiring Manager Round: Behavioral Questions

I was shortlisted for this round on January 27, 2023, and it was scheduled for January 30, 2023. This round was primarily behavioral, covering a wide range of topics:

  • Introduce yourself.
  • What projects have you worked on?
  • How would you handle a conflict with a team member?
  • How was your manager's feedback, and how do you handle positive and negative feedback?
  • How do you rate yourself in Java from 1-10, and how would you improve your Java skills?
  • What was your proudest moment in your career?
  • What is the most recent skill you have learned?
  • What challenges did you face early in your career, and how did you overcome them?
  • How do you handle pressure and high workload?
  • Define success according to you.
  • How has your work helped your users (i.e., explain the impact of your projects)?
  • Do you have any questions for me?

I was very happy to receive an offer about a month after these rounds.

Interview Questions (22)

Q1
Merge Two Sorted Arrays
Data Structures & AlgorithmsEasy

Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. The number of elements initialized in nums1 and nums2 are m and n respectively. You may assume that nums1 has a size equal to m + n such that it has enough space to hold additional elements from nums2.

Q2
Merge K Sorted Lists
Data Structures & AlgorithmsHard

You are given an array of k linked-lists, each sorted in ascending order. Merge all the linked-lists into one sorted linked-list and return it.

Q3
Difference between Stack Memory and Heap Memory
Other

Explain the fundamental differences between stack memory and heap memory, including how memory is allocated and deallocated in each, their typical use cases, and their performance characteristics.

Q4
Advantages of C++ std::vector
Other

Discuss the advantages of using std::vector in C++ compared to raw arrays or other dynamic data structures like std::list. Consider aspects such as memory management, performance, and ease of use.

Q5
Linked List vs Array Traversal Efficiency
Other

Compare the traversal efficiency of linked lists versus arrays. Explain the underlying memory access patterns and how they affect performance for sequential and random access. Discuss scenarios where one data structure would be preferred over the other for traversal.

Q6
Longest Substring with At Most K Distinct Characters
Data Structures & AlgorithmsMedium

Given a string s and an integer k, return the length of the longest substring of s that contains at most k distinct characters.

Q7
Implement LRU Cache
System DesignMedium

Design and implement a Least Recently Used (LRU) cache. It should support the following operations: get and put. get(key) will retrieve the value of the key if it exists in the cache, otherwise return -1. put(key, value) will insert the key-value pair or update the value if the key already exists. When the cache reaches its capacity, it should invalidate the least recently used item before inserting a new item.

Q8
Discuss Vertical vs. Horizontal Scaling
System Design

Explain the concepts of vertical scaling (scaling up) and horizontal scaling (scaling out) in system design. Discuss their advantages, disadvantages, appropriate use cases, and limitations.

Q9
DDoS Attack Mitigation Strategies
System Design

Describe how you would architect or implement measures to prevent or mitigate a Distributed Denial of Service (DDoS) attack from significantly impacting your software or system. Discuss various layers of defense.

Q10
Microservices, Load Balancing, Master-Slave Architecture
System Design

Discuss key concepts in system design including Microservices architecture, Load Balancing techniques, and Master-Slave architecture for databases. Explain their purposes, benefits, drawbacks, and how they contribute to a robust and scalable system.

Q11
Introduce Yourself
Behavioral

Tell me about yourself, highlighting your background, experience, and what brings you to this interview.

Q12
Discuss Your Projects
Behavioral

What all projects have you worked on? Be prepared to discuss your contributions, the technologies used, challenges faced, and outcomes achieved for relevant projects.

Q13
Handle Team Conflict
Behavioral

Describe a situation where you had a conflict with a team member. How did you handle it, and what was the outcome? What did you learn from the experience?

Q14
Handling Manager Feedback
Behavioral

How do you typically receive and respond to feedback from your manager, both positive and constructive? Can you share an example of how you used feedback to improve?

Q15
Self-Rate Java Skills and Improvement Plan
Behavioral

How do you rate yourself in Java on a scale from 1 to 10? Based on your self-assessment, what specific steps would you take to further improve your Java skills?

Q16
Proudest Career Moment
Behavioral

Describe your proudest moment or accomplishment in your career. What made it significant, and what was your role in achieving it?

Q17
Most Recently Learned Skill
Behavioral

What is the most recent skill or technology you have learned? Why did you decide to learn it, and how have you applied it?

Q18
Early Career Challenges and Overcoming Them
Behavioral

What challenges did you face at the beginning of your career, and how did you overcome them? What lessons did you learn from those experiences?

Q19
Handling Pressure and High Workload
Behavioral

Describe how you handle pressure and manage a high workload effectively. Can you provide an example of a time you successfully navigated a demanding period?

Q20
Define Success
Behavioral

How do you define success in a professional context, both for yourself and for a team or project?

Q21
Impact of Your Work on Users
Behavioral

Explain how your past projects or contributions have directly benefited or positively impacted users or stakeholders.

Q22
Do You Have Any Questions for Me?
Behavioral

This is your opportunity to ask questions to the interviewer about the role, team, company culture, or next steps.

VMWare Phone interview (experienced)
vmware logo
Vmware
Senior Software EngineerNo Offer
December 8, 20212 reads

Summary

I experienced a frustrating 1-hour phone interview with VMWare for a Senior Software Engineer role, where the interviewer struggled with basic technical understanding and test execution, leading to significant wasted time.

Full Experience

I had a 1-hour phone interview with VMWare before Thanksgiving for a Senior role. The main question revolved around finding the lowest common ancestor (LCA) of two nodes. Initially, I thought it was the version where both nodes are guaranteed to be present (LeetCode #236), but upon clarification, the interviewer specified that nodes might or might not be in the tree (similar to LeetCode #1644).

I proposed two solutions: a two-pass approach to first verify node presence and then find LCA, and a single-pass solution with extra logic. The interviewer asked me to solve either one. I explained the logic for the two-pass solution, coded it, and manually tested it with several examples.

Despite my thorough explanation and manual testing, I felt the interviewer didn't grasp the code flow. They then asked me to write test cases and hardcode a tree to run the code, which I found really weird as interviewers should have some basic understanding of working code. This process wasted over 10 minutes of my interview time.

After successfully running all test cases, they asked for an explanation of the single-pass solution. Again, the interviewer struggled with providing a tree example, consuming more time. I explained the logic and execution via a few test cases and then coded the single-pass solution.

Finally, they asked me to run this second solution in Codility. With all the examples and tree illustrations, there were some compilation issues. After cleaning up the execution area, they wanted to see the output, but we ran out of time. I strongly believe we wouldn't have run out of time if we hadn't wasted 10+ minutes on hardcoding a tree and basic code execution.

Interview Questions (2)

Q1
Lowest Common Ancestor of a Binary Tree
Data Structures & AlgorithmsMedium

Given a binary tree, find the lowest common ancestor (LCA) of two given nodes p and q. This initial understanding of the problem assumed both nodes are guaranteed to be present in the tree. (Referenced as LeetCode #236)

Q2
Lowest Common Ancestor of a Binary Tree (Nodes Optional)
Data Structures & AlgorithmsMedium

A clarification to the initial LCA problem: the given nodes p and q may or may not be present in the tree. If only one node is present, that node is considered the LCA. If neither is present, the function should return null. (This problem variation was referenced as LeetCode #1644, which typically deals with scenarios like parent pointers or BSTs where nodes might not exist, but the core requirement here was handling optional node presence).

Preparation Tips

My preparation largely stems from extensive practice, having solved over 1650 problems on LeetCode. Additionally, I have significant prior interview experience, successfully navigating coding interviews at companies like Google, Facebook, and Apple for both phone screens and onsite rounds, which has honed my coding and problem-solving skills.

VMware | MTS Java Spring boot | Bengaluru
vmware logo
Vmware
MTS Java Spring bootBengaluruRejected
May 27, 20213 reads

Summary

I recently interviewed at VMware for an MTS Java Spring Boot role in Bengaluru. The interview process consisted of a HackerRank test, a Java technical interview, and a System Design discussion. Despite receiving positive feedback in individual rounds, I was ultimately rejected.

Full Experience

My interview journey at VMware for the MTS Java Spring Boot position started with a HackerRank test, which was 90 minutes long. I was given two coding questions: a medium-level string problem that was a variant of 'String Compression', and another problem where I had to add two strings as numbers, for example, a='120' and b='45'.

The second round was a Java Technical Interview. This round delved deep into core Java features, followed by a detailed discussion on the Java Collections Framework. The interviewer asked me to explain the differences between ArrayList and primitive arrays, and also explored the internal working mechanisms of HashMap. We also covered various Multithreading concepts. I received positive feedback after completing this round.

The final round was a Technical Interview focused on High-Level Design, lasting approximately 60 minutes. This round involved more discussion-oriented questions. I was questioned on Operating System concepts like Virtual Memory, Thrashing, and Semaphores. Database Management System questions included explaining ACID properties and how to find Nth Salaries. Additionally, I was asked to design a 'FailProne' method. While I received positive feedback for this round, I admit I struggled with some of the questions and couldn't answer them properly. Despite the positive feedback from the individual rounds, the final verdict was a rejection.

Interview Questions (10)

Q1
String Compression
Data Structures & AlgorithmsMedium

Given an array of characters, compress it in-place. The length after compression must always be less than or equal to the original array. Every element of the array should be a character (not int) of length 1. After you are done modifying the input array in-place, return the new length of the array.

Q2
Add Two Strings as Numbers
Data Structures & Algorithms

Given two strings representing numbers, for example, a = "120" and b = "45", write a function to add them as if they were actual numbers and return their sum as a string. You are not allowed to convert the strings to integers directly.

Q3
Explain Java Features
Other

Discuss the key features and characteristics of the Java programming language.

Q4
Discussion on Java Collections Framework
Other

Provide a detailed discussion on the Java Collections Framework, including its interfaces, core classes, and common use cases.

Q5
Difference between ArrayList and Primitive Array
Other

Explain the fundamental differences between Java's ArrayList and a primitive array, covering aspects such as type safety, resizing, and performance.

Q6
Internal Working of HashMap
Data Structures & Algorithms

Describe the internal working mechanisms of Java's HashMap, including concepts like hashing, collision resolution (e.g., chaining/open addressing), and resizing.

Q7
Multithreading Concepts
Other

Discuss fundamental concepts related to Multithreading in Java, such as threads, processes, synchronization mechanisms (locks, semaphores, monitors), and potential concurrency issues.

Q8
OS Concepts: Virtual Memory, Thrashing, Semaphores
Other

Explain the concepts of Virtual Memory, Thrashing, and Semaphores within the context of Operating Systems.

Q9
DBMS Concepts: ACID Properties and Nth Salaries
System Design

Discuss the ACID properties in database transactions and explain different approaches to find the Nth highest salary in a database.

Q10
Design a FailProne Method
System Design

Design a method that inherently has failure points and discuss strategies to make it more robust and resilient in a production environment.

Preparation Tips

My main tip for preparation is to thoroughly review basic concepts across various domains. I focused on strengthening my understanding of core Java features, data structures, algorithms, and fundamental system design principles, as these were heavily tested throughout the interview process.

VMware | MST-4 | Senior Lead Engineer | All Rounds(Team 1) | Jan end 2021
vmware logo
Vmware
Senior Lead Software EngineerBangloreNo Offer
February 4, 20215 reads

Summary

I was contacted by a recruiter for a Senior Lead Software Engineer role at VMware, Bangalore. After multiple rounds of interviews, which included Data Structures & Algorithms, Low-Level Design, System Design, and architectural discussions, I was ultimately not offered the position despite positive feedback on my skills due to tough competition.

Full Experience

I received a recruitment message on LinkedIn for a Senior Lead Software Engineer position in Bangalore. I requested preparation time due to planned holidays, which took about 3-4 weeks. Two days after returning from trekking, I had my first interview round. I received positive feedback from the recruiter within 3 hours, indicating I would proceed to further rounds, which were all scheduled for the following week. Out of the three candidates who made it to the final round, I ultimately received a rejection. The feedback stated that while they were impressed by my skills, accomplishments, and achievements, due to tough competition, I wouldn't be offered the role, and there were no similar positions available at the time.

Round 1: Data Structures & Algorithms

  • Question 1: Valid Parentheses Problem

  • Question 2: Subarray Pair for Given Sum K

Round 2: Data Structures & Algorithms

  • Question 1: Boundary of Binary Tree

  • Question 2: Cycle Detection in Array Mapping

Round 3: Low-Level Design & Project Specifics

  • Discussion on Java versions, Lambda expressions, and Streaming API.

  • Coding task using Lambda/Streaming.

  • Difference between float and double.

  • In-depth discussion on mutual funds and fund investment from my current project.

  • Backend logic for a fund switch system and transaction handling.

  • System Design for a Vending Machine.

Round 4: Architect Round

  • JPA Many-to-Many annotations and E2E code implementation.

  • Authentication and authorization mechanisms.

  • Spring framework dependency injection scenario using @Autowired and @Inject.

  • A programming problem involving combining elements from two sorted arrays with specific constraints.

Interview Questions (15)

Q1
Count Required Braces to Complete Valid Parentheses
Data Structures & AlgorithmsMedium

Given a string of parentheses, return the number of braces required to be inserted to make the parentheses valid. Example: ()))(( -> 4 (because ()()()()()), ((())) -> 0. Note: () is valid but )( is invalid. Similar to LeetCode's Score of Parentheses.

Q2
Subarray Pair with Given Sum K
Data Structures & AlgorithmsEasy

Given an array of integers and a target sum k, find a pair of elements in the array that sum up to k. If using a map approach, handle duplicate elements. Example: I/p: 1, 2,5, 4, 3 K=7 -> O/p: 2,5. I/p 2 : 3, 4, 1 k=6 -> Output: empty. I/p 3: 3, 2, 4, 3, 1, 3 k=6 -> O/p: 3,3. Similar to LeetCode's Two Sum.

Q3
Print Peripheral Nodes of Binary Tree Clockwise
Data Structures & AlgorithmsMedium

Given a binary tree, print all peripheral nodes (boundary nodes) of the tree in clockwise order.

			4
         /   \
        6     9
      /  \     \
     3    1     0
    / \    \   /  \
   4   2    4 8   3
       /         /
      5         7
                 \
                  1
                   \
                    2

Expected Output: 4,3,6,4,9,0,3,7,8,4,5. Similar to LeetCode's Boundary of Binary Tree.

Q4
Cycle Detection and Length in Array Mapping
Data Structures & AlgorithmsMedium

Given a default index array (0,1,2,3,4,5,6,7,...) and an int[] array where int[i] gives the next index. Find a cycle and print the node count within that cycle. Examples: int[]-> 2,4,4,5,0,8,9,6 -> 3, int[]-> 2,4,4,5,5,6,2,6 -> 4.

Q5
Java Lambda Expressions
OtherEasy

Explain what lambda expressions are and how to write them in Java.

Q6
Java Streaming API
OtherMedium

Discuss Java Streaming API, including what streaming is and its different types.

Q7
Count Even/Odd in Array using Lambda/Streaming
Data Structures & AlgorithmsEasy

Given an integer array, write a method to return the count of even and odd integers using Java Lambda expressions or the Streaming API.

Q8
Float vs. Double in Java
OtherEasy

Explain the difference between float and double data types in Java.

Q9
Fund Switch System Backend Logic
System DesignHard

Discuss the backend logic for implementing a fund switch system. Specifically, would you handle it in one transaction or two?

Q10
Parallel vs. Sequential Transaction Processing
System DesignMedium

For handling multiple transactions, would you process them in parallel or one by one?

Q11
System Design: Vending Machine
System DesignHard

Design a Vending Machine with the following user roles:

  • Operator: Refill Vending Machine, Take Money
  • Administrator: Control Vending Machine Administrative Tasks (e.g., Product Management, Machine Configuration like Products Supported, Money), User Roles/Password
  • End User (Customer): View Product, Select Product, Buy. Methods to Accept Money From End User, Perform Validation and Return Back Amount (if applicable).

Primary Requirements:

  • Should support RBAC Validation.
  • Support Administrator Functions like Product Management, Money Control, RBAC.
  • Support End User functions (Allow User to View Product, Select Product and Buy - Method To Accept Money From End User, Perform Validation and Return Back Amount if applicable).

Secondary Requirements:

  • How to extend this to support Multiple User Roles, Product, and Currency.
  • NFRs like Scale.
  • How to Manage Vending Machine Configuration from a Central Location (Configuration Like - Products Supported, Current Availability, State).

Discuss the Usage of SOLID Principles and Design Patterns.

Q12
JPA Many-to-Many Relationship Implementation
OtherMedium

How to write Many-to-Many annotations in JPA. Provide end-to-end code for JPA with a Many-to-Many relation, specifically for multiple students selecting multiple subjects. The candidate mentions keeping it simple with a relation table rather than using Many-to-Many relation annotation usage directly.

Q13
Authentication and Authorization Mechanisms
System DesignMedium

Discussion on authentication and authorization. What do you pass to validate a request (e.g., username/password/token)? How do you assure that an incoming request is a valid request?

Q14
Spring @Autowired and @Inject with Interfaces
OtherMedium

Given a Spring Boot code snippet:

@Component
Interface I1

class A implements I1

Class B implements I2

main() {

@Autowired I1 i;

//Will this compile, if not then what can make this work //Requirement is to inject only class A

The expected solution is to achieve this through @Inject on the class level.

Q15
Combine Elements from Two Sorted Arrays
Data Structures & AlgorithmsMedium

Given two sorted arrays, a and b.

a = 10, 11, 22

b = 6, 8, 12, 24

The task is to form combinations adhering to these rules:

  • Both arrays are sorted.
  • First element should be from A.
  • Last element should be from B.
  • Combination should be in ascending order.
  • Elements have to be subsequent from each array.

Expected Output:

10, 12
10, 12, 22, 24
10, 24

11, 12 11, 12, 22, 24 11, 24

22, 24

Preparation Tips

I was contacted by a recruiter and asked for 3-4 weeks of preparation time due to planned holidays. My preparation schedule was set around these dates.

Have a Vmware 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 Vmware.