VMWare | MTS2 | Bengaluru | Jan 2023 | Offer
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)
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.
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.
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.
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.
Tell me about yourself, highlighting your background, experience, and what brings you to this interview.
What all projects have you worked on? Be prepared to discuss your contributions, the technologies used, challenges faced, and outcomes achieved for relevant projects.
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?
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?
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?
Describe your proudest moment or accomplishment in your career. What made it significant, and what was your role in achieving it?
What is the most recent skill or technology you have learned? Why did you decide to learn it, and how have you applied it?
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?
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?
How do you define success in a professional context, both for yourself and for a team or project?
Explain how your past projects or contributions have directly benefited or positively impacted users or stakeholders.
This is your opportunity to ask questions to the interviewer about the role, team, company culture, or next steps.