Nutanix | MTS-3 | Bengaluru | Feb 2024
Summary
I interviewed for an MTS-3 role at Nutanix in Bengaluru in February 2024. Despite clearing initial rounds, I received mixed feedback and was eventually put on hold without an offer, which led me to accept an offer from another company.
Full Experience
I received a referral from a former colleague who currently works at Nutanix. With about 6 years of experience as a Senior Software Engineer at a product-based MNC and a CSE degree from IIT, I felt an MTS-4 role would suit my background better, but I proceeded with the MTS-3 interview.
Round 1: Virtual Interview with an MTS-4
This round started with a discussion about one of my projects that matched the role requirements. Following that, I was given two coding questions on HackerRank:
I successfully cleared this round.
Round 2: In-Person Interview with another MTS-4 (~1 hour)
After clearing Round 1, I was asked if I could attend an in-person interview, which I agreed to since I lived nearby. This round began with discussions about some of my current projects. Then, I was asked to solve two LeetCode problems on a whiteboard, writing a running code in Python. The interviewer wanted at least an initial working solution, followed by optimization if needed.
I wasn't completely prepared with dynamic programming problems at that point and was a bit hesitant to write the best approach for the first problem, so I ended up implementing the brute-force approach.
Round 3: In-Person HLD Round with a Staff Engineer (~1 hour)
This round involved a discussion around one of my projects on my resume, followed by a High-Level Design (HLD) question. I was tasked with designing an employee expense reimbursement tool, similar to SAP Concur, where employees could submit receipts and receive reimbursements. The design had to include components to interface with both the employee's manager and finance team members. I was well-prepared for this round and believe I performed really well, explaining the HLD starting with requirements, API design, database design, rough back-of-the-envelope estimates, and the overall system flow on the whiteboard.
Round 4: In-Person LLD and Behavioral Round with Hiring Manager (~1 hour)
I wasn't in much touch with Low-Level Design (LLD) when I attended this interview. While I had designed a lot in the past, I never focused on remembering the names of design patterns or principles like SOLID, though I unknowingly used them in my work. The round started with discussions about my current roles, projects, and any experience I had with leading teams. I was then asked to create an LLD for a system that manages all bookmarks created by a user on different browsers on their laptop. I was expected to draw UML diagrams and show interactions. I don't think I did great in this round.
Verdict
I personally felt that the recruiter/HR was completely unprofessional at the end of the interview process. I was told that the interviewers gave me mixed feedback in Round 2 and Round 4, and that I was being put on hold. Despite following up multiple times, I was continuously told that a decision had not yet been taken. I felt I might have been considered as a backup option. Anyway, I moved on and attended other interviews, eventually securing a position at a better company, which I am yet to join. I am grateful to the LeetCode community for motivating me to solve problems and maintain a streak, which kept me in the loop.
Interview Questions (6)
You are given an integer array heights of size n which represents the heights of the buildings in order from left to right. A building has an ocean view if all the buildings to its right have a strictly smaller height. Return a list of the indices of the buildings that have an ocean view, sorted in increasing order.
You are given an m x n grid where each cell can have one of three values: 0 representing an empty cell, 1 representing a fresh orange, or 2 representing a rotten orange. Every minute, any fresh orange that is 4-directionally adjacent to a rotten orange becomes rotten. Return the minimum number of minutes that must elapse until no fresh oranges remain. If this is impossible, return -1.
Design a high-level system for an employee expense reimbursement tool similar to SAP Concur. The system should allow employees to submit receipts and claim reimbursements. It must include components to interface with the employee's manager for approvals and with the finance team members for processing reimbursements.
Create a low-level design (LLD) for a system that manages all bookmarks created by a user across different browsers on their laptop. This design should include UML diagrams and demonstrate interactions between components.
Preparation Tips
My preparation for the HLD round primarily involved watching YouTube videos. A special mention goes to Pratiksha Bakrola's channel, as I found her standard approach to problems very helpful and easy to follow. Additionally, the books "System Design Interview" and "Insider's Guide" by Alex Xu were invaluable resources. For coding, the LeetCode community motivated me to consistently solve problems and maintain a streak, which kept me engaged and improving.