Omnissa (formerly VMware) Interview Experience | MTS-3 | 6+ YOE | 5 Rounds
Summary
I interviewed for an MTS-3 role at Omnissa, completed five rounds covering practical coding, DSA, low‑level design, high‑level design, and behavioral questions, and received an offer.
Full Experience
Sharing my recent interview experience with Omnissa for the MTS-3 role. I had 6+ years of experience at the time of interviewing.
The overall process consisted of 5 rounds, followed by the offer.
Round 1: Screening / Practical Coding (Hackerrank)
This was a Low-Level Design (LLD) style question. I was provided with repository class and had to complete a Service class by utilizing its objects.
Requirement: Complete the implementation of all methods to pass the test cases. Language restriction: Only C# was allowed for this specific OA
The first round was a real-world scenario-based coding round rather than a typical DSA problem.
The discussion focused on how I would structure the solution, write clean code, handle edge cases, and think about the problem from a practical/production perspective.
So, this round was more about problem-solving + coding design rather than simply solving a LeetCode-style problem.
Round 2: DSA
This round had two DSA questions.
1. Maximum Length of a Square in a Matrix
The problem involved finding the maximum possible square in a matrix based on the given conditions.
2. Celebrity Problem
The classic Celebrity Problem, where we need to identify the celebrity based on the "knows" relationship.
The interviewer discussed the approach, optimization, and time/space complexity.
Round 3: DSA
Another DSA-focused round with two questions.
1. Maximum Subarray Sum
The classic Maximum Subarray Sum problem, which can be solved using Kadane's algorithm.
2. Check if a Linked List is a Palindrome
I had to implement/create the linked list myself and then solve the palindrome problem.
This involved handling the linked‑list operations, reversing the relevant portion, and comparing the values.
The interviewer was interested in the reasoning, implementation, and complexity rather than just the final answer.
Round 4: LLD
This round was focused on Low-Level Design.
The problem was to design a Notification System.
We discussed the overall class structure, responsibilities, interfaces/abstractions, and how the different components would interact.
There were quite a few follow‑up questions around extensibility. The requirements were changed/extended during the discussion, and I had to explain how the design could accommodate those changes without making the system difficult to maintain.
I would recommend preparing:
- SOLID principles
- Design patterns
- Interfaces and abstractions
- Composition vs inheritance
- Extensibility
- Clean and maintainable code
- Handling changing requirements
Round 5: Hiring Manager
The final round was with the Hiring Manager.
This round had a combination of HLD + project deep dive + leadership/behavioral questions.
We started with the HLD of my current project, followed by a deep dive into the architecture, design decisions, challenges, and my individual contributions.
There were also several leadership/behavioral questions, for example:
- What is the most difficult coding/technical problem you have faced?
- How do you handle different types of tasks?
- Suppose you are already working on an important task and you receive another task. How do you prioritize and manage both?
- How do you handle competing priorities?
- How do you decide what needs to be done first?
- How do you communicate when multiple things are urgent?
The discussion was less about having a "perfect" answer and more about understanding how I approach problems, prioritize work, communicate, and take ownership.
For the project deep dive, I would strongly recommend knowing your current project inside out, including:
- Overall architecture
- Major components
- Design decisions
- Trade‑offs
- Technical challenges
- Your individual contributions
- Difficult problems you solved
- Why certain approaches were chosen
- How you handled failures/issues
Final Outcome
After completing all 5 rounds, I received the offer for MTS-3.
Interview Structure
Round 1: Practical/Scenario-based Coding Round 2: DSA Round 3: DSA Round 4: LLD - Notification System Round 5: HLD + Project Deep Dive + Leadership/Behavioral
Overall, the process had a good mix of coding, DSA, LLD, HLD, and leadership/behavioral discussions.
For anyone preparing for an Omnissa MTS-3 interview, I would focus on:
- DSA fundamentals and common patterns
- Writing clean, production-quality code
- LLD + SOLID + extensibility
- HLD fundamentals
- Knowing your current project deeply
- Leadership and behavioral questions
- Being able to clearly explain your thought process and design decisions
Hope this helps anyone preparing for an Omnissa interview.
Good luck!
Interview Questions (5)
Maximum Length of a Square in a Matrix
Given a matrix, find the maximum possible square that satisfies the given conditions. The problem requires determining the size (side length) of the largest square sub‑matrix that meets the specified criteria.
Celebrity Problem
Identify the celebrity in a group of people. A celebrity is defined as someone who is known by everyone else but knows no one. The problem provides a "knows" relationship matrix or function and requires determining if a celebrity exists and, if so, returning their index.
Maximum Subarray Sum
Given an integer array, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum. This classic problem is typically solved using Kadane's algorithm.
Check if a Linked List is a Palindrome
Implement a singly linked list and determine whether the sequence of node values forms a palindrome. The solution involves traversing the list, possibly reversing the second half, and comparing values to verify symmetry.
Notification System Design
Design a notification system. The task involves defining classes, interfaces, and relationships to handle creation, delivery, and management of notifications, while ensuring extensibility for future requirements and changes.
Preparation Tips
- Review DSA fundamentals and common patterns.
- Practice writing clean, production‑quality code.
- Study Low‑Level Design concepts: SOLID principles, design patterns, interfaces, composition vs inheritance, and extensibility.
- Refresh High‑Level Design basics and be ready to discuss system architecture.
- Know your current project deeply: architecture, components, design decisions, trade‑offs, challenges, and your contributions.
- Prepare for leadership and behavioral questions: problem‑solving approach, prioritization, communication, and ownership.