Nutanix interview experience Real time questions & tips from candidates to crack your interview

MTS 1

Nutanix
upvote
share-icon
3 rounds | 7 Coding problems

Interview preparation journey

expand-icon
Journey
I applied to Nutanix through LinkedIn's Easy Apply feature. I received an online assessment round (written), followed by a DSA round, and then a UI coding round + system design.
Application story
I utilized LinkedIn's Easy Apply feature to submit my application. Approximately a week later, I received an email inviting me to undertake an Online Assessment. This assessment comprised three DSA questions of varying difficulty, adaptable to any programming language, and had a duration of 90 minutes. The assessment was conducted on the HackerRank platform. Upon successfully passing the Online Assessment, I progressed to the first round, which focused on Data Structures and Algorithms. Subsequently, upon clearing the initial round, I engaged in a UI Pair Programming session.
Why selected/rejected for the role?
The System Design round didn't meet my expectations as I encountered difficulty in conceptualizing the design for a specific component of the problem.
Preparation
Duration: 3 months
Topics: System Design, Data Structures and Algorithms, React JS, JavaScript, Object Oriented Programming
Tip
Tip

Tip 1: Follow resources for System Design and books on Cracking the System Design Interview. 

Tip 2: Complete more than 300 standard coding questions from each topic. 

Tip 3: Read engineering blogs from various companies like Netflix, LinkedIn, Slack, etc.

Application process
Where: Linkedin
Eligibility: No Criteria
Resume Tip
Resume tip

Tip 1: Have a complex full-stack project on your resume using the latest technologies. 

Tip 2: Mention system design in skills.

Interview rounds

01
Round
Easy
Online Coding Interview
Duration90 minutes
Interview date4 Apr 2023
Coding problem3

The online assessment comprised three LeetCode-style questions of easy to medium difficulty. The link remains active for 24 hours, allowing candidates to take the assessment at their convenience within that timeframe.

1. Sort 0 1 2

Easy
22m average time
0/40
Asked in companies
AmazonOracleWalmart

The first problem is presented in a narrative format. However, at its core, you are tasked with arranging three balls of different colors, symbolized by 0, 1, and 2, using a fundamental sorting technique.

Problem approach

Step 1: Initially, I attempted to utilize the Arrays.sort() function.
Step 2: Fortunately, one of the test cases resulted in a Time Limit Exceeded (TLE) error.
Step 3: I then devised a solution employing three pointers.
Step 4: You can find the solution here :(https://leetcode.com/problems/sort-colors/solutions/3464652/beats-100-c-java-python-javascript-two-pointer-dutch-national-flag-algorithm/)

Try solving now

2. Simplify Path

Moderate
22m average time
70% success
0/80
Asked in companies
FacebookVisaGoldman Sachs

You are given a path to a file/directory in Unix-style of length N, In a Unix-style file system, a dot(.) refers to the current directory. A double dot(..) refers to the previous directory in reference to the current directory. If there are multiple slashes between two directories you should consider it as a single slash.

Now, for a given directory path as a string, you are required to simplify the same and tell the final destination in the directory structure or the path.

The simplified path should always begin with a slash(/) and there must be a single slash between two directory names. There should not be a trailing slash.

Problem approach

1. First, check if the provided path is empty or null. If it is, return the root directory "/".
2. Split the input path by "/" into an array of strings. Iterate through each part of the path.
3. If a part of the path is empty or represents the current directory ".", skip it. If it represents the parent directory "..", pop the last directory from the stack if it's not empty.
4. Use a stack to maintain the canonical path. Push valid directory names onto the stack.
5. Iterate through the stack and build the final path by appending "/" followed by each directory name.
6. If the final path is empty, append "/" to represent the root directory. Return the constructed path as a string.

Try solving now

3. Happy Number

Write a Program to determine whether a given number N is a happy number.(Link)

A digit is called happy if the sum of the square of the digit gives 1 after the sequence of steps, and in each step, the number is replaced by the previous sum of the square. Let's understand it with an example:
13-> 1^2 + 3^2 = 10
10-> 1^2 + 0^2 = 1
Above, we see that the number eventually gives us 1 as the output, and hence the number 13 is a happy number.

Problem approach

1. Check if the input number is already equal to 1. If it is, return true because 1 is already a happy number.
2. Create a HashSet to store the calculated numbers during the process. Also, set a boolean variable isCycle to false.
3. Add the initial number to the HashSet and enter a while loop until the number becomes 1.
4. Within the loop, calculate the sum of the squares of each digit of the current number.
5. If the calculated sum is 1, return true because the number is happy. If the HashSet already contains the calculated sum, it indicates a cycle, so return false.
6. Add the calculated sum to the HashSet and update the current number to the sum for the next iteration.
7. If the loop exits without encountering 1 or a cycle, return true, indicating that the number is a happy number.

02
Round
Hard
Video Call
Duration60 minutes
Interview date10 Apr 2023
Coding problem1

Timing was 4:00 PM Afternoon in an Online mode.

1. Zig-Zag String

Easy
15m average time
85% success
0/40
Asked in companies
FacebookAppleOYO

Given a String and rowsCount as 3, print the string in a zig zag order.

 For example : s = "PAYPALISHIRING", rowsCount = 3

Output: "PAHNAPLSIIGYIR"

Problem approach

I have already solved the question earlier, so i started with the good approach.

1. Create a HashMap to store characters for each row. Initialize the HashMap with empty strings for each row.
2. Iterate through each character of the input string.
3. Determine whether to move down or up based on the current row index (i) and the number of rows (numRows).
4. Append the current character to the corresponding row in the HashMap.
5. After processing all characters, concatenate the characters from each row of the HashMap to form the final output string.

Now interviewer asked me to further optimize the code. But i struggled to have an another optimal approach although i have solved the question so i was qualified.

Try solving now
03
Round
Hard
Video Call
Duration40 minutes
Interview date11 Apr 2023
Coding problem3

Timing was 3 PM afternoon, Interview was taken by a Senior Software Engineer at Nutanix. It's a full stack round.

1. Frontend UI Development for a To-Do List Application Using React

 Create a UI for To Do list Application from frontend using React.

Problem approach

1. I employed React JS alongside an online Codebox to craft a user interface.
2. To enhance code clarity, I developed several components such as ItemComponent, DetailsComponent, and Modal Component.
3. Leveraging the useState hook, I stored the items of the to-do list as an array.
4. Each item includes a delete button to facilitate its removal from the list.
5. Adjacent to the input box, there is an Add button to effortlessly insert new items.

2. Backend and Database Design for a To-Do List Application

Design Backend as well as Database (SQL / NOSQL ) for the above application.

Problem approach

1. I went with NoSQL Database (MongoDB) as we don't really required any Transaction Power here or Normalization.
2. I started with the Below API's 
GET /todos?id=1
POST /todos/
DELETE /todos?id=33

3. Later Interviewer asked me for corner cases like if id is not there in URL how to parse it or how can we make sure only authorized user can delete a todo. etc.

3. Implementing Concurrent Editing and Handling Multiple User Deletion of To-Dos in a To-Do List Application

Now Interviewer asked me to implement a feature of concurrent editing of a todo or what happens if multiple user clicks on same todo to delete it.

Problem approach

While I struggled to provide a comprehensive answer, I'm inclined to think that web sockets could prove beneficial for facilitating concurrent editing of to-do list items.
Additionally, we could consider employing transactions in MongoDB or implementing an idempotent API to mitigate any potential inconsistencies that may arise if a user clicks a button multiple times.

Here's your problem of the day

Solving this problem will increase your chance to get selected in this company

Skill covered: Programming

What is recursion?

Choose another skill to practice
Similar interview experiences
MTS 1
4 rounds | 5 problems
Interviewed by Nutanix
2571 views
0 comments
0 upvotes
MTS 1
5 rounds | 7 problems
Interviewed by Nutanix
1516 views
0 comments
0 upvotes
MTS 1
4 rounds | 6 problems
Interviewed by Nutanix
2206 views
0 comments
0 upvotes
MTS 1
4 rounds | 4 problems
Interviewed by Nutanix
1530 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
MTS 1
6 rounds | 10 problems
Interviewed by Adobe
4010 views
1 comments
0 upvotes
company logo
MTS 1
4 rounds | 14 problems
Interviewed by Oracle
4064 views
0 comments
0 upvotes
company logo
MTS 1
2 rounds | 5 problems
Interviewed by Adobe
1517 views
1 comments
0 upvotes