Skip to content
Related Articles

Related Articles

Nutanix Interview Experience for MTS Intern | On- Campus 2021 (Virtual )

Improve Article
Save Article
  • Difficulty Level : Hard
  • Last Updated : 24 Aug, 2021
Improve Article
Save Article

Hello guys, I recently interviewed for the position of Member of Technical Staff(MTS) at Nutanix. The whole process was virtual due to the current pandemic situation. The selection process comprised of 1 coding round, 1 debugging round, 1 technical round, and 1 system design round.

Coding Round (2 Questions – 90 minutes Platform – HackerRank)

  1. You have to publish X comic different comic books. For this, you have Y printing machines and Z binding machines. The ith printing machine takes Print[i] minutes of time to print all pages of a comic book. Each binding machine takes K minutes to bind all pages of the comic book. At a single point in time, each machine (printing or binding) can only process most pages of one comic.

    Steps to be followed for publishing are:

    1. An occupied printing machine I starts printing pages of comic book.
    2. After print[i] minutes, the printed pages are taken out of the ith printing machine.
    3. After non-negative amount of time, the printed pages of comic are placed in an unoccupied binding machine.
    4. After K minutes the pages are taken out of the binding machine.

    Find out the minimum amount of time in order to publish X comic books.

    1<=Y<= 10^5 
    1<=print[i]<= 10^9
  2. There are N robots in a single row each having an integer value assigned to them. Each robot can terminate the closest robot either left or right. When a robot with a value x terminates another robot with the value y, then terminated robot vanishes the value changes to x-y. All robots will finish each other until one is left. Find the maximum possible value of the last robot.

    I was able to complete the second question with all test cases. For the first question, I was able to pass 20/21 test cases.

13 students were shortlisted after this round.

Debugging Round(45 mins): This round was held on a zoom call and the proctor shared a separate document with each one of the candidates and we were asked to debug the code. 

  • The code was related to a standard Operating System problem which is Reader- Writer problem. We had to find logical errors in the given code. 
  • The functionality of each function was clearly defined for each function so there is no reason to panic because it is completely logical. 
  • I was able to find errors in the code as I had prepared for this round. 
  • I suggest preparing the standard problems like readers-writers, producer-consumer, dining philosopher problem and etc for this round. 
  • 7 candidates cleared this round.

Technical Interview Round (DSA – 1 hour to 1 hour 15 mins): Before this round 2 candidates had already got an offer from another company so they were out of the hiring process. Only 5 candidates gave the technical round. The special thing about Nutanix for this round is that they formulate their questions on their own which are not available anywhere. They test your thinking skill about how you approach the problem.

The interview was carried on a zoom call. The interviewer first asked me to introduce myself and asked about my interests and hobbies. He was very friendly and even asked about my favorite TV show. Then he shared a google doc link and asked me to code for the following questions.

  1. Given a tree with N nodes. Each bi-directional edge (i,j) in the tree between node i and node j carries a weight. There is one special node X in the tree. Compute the sum of distance of all nodes to this special node X i.e dis(X,1)+dis(X,2)+dis(X,3)…..+dis(X,N). My approach for this was to consider the tree as a graph(since bi-directional edges) and then perform BFS to calculate the sum. The time complexity was O(V) and space complexity was too linear.
  2. The next question was a follow to the previous question. Now a set S is provided of size K, which denotes K special nodes in this tree. For each node i in the tree, compute the sum of distances of i to each of these K nodes, i.e Val(i)= dis(S[1],i) + dis(S[2],i)+…..+dis(S[K],i). Find the minimum Val[i] and the node for which this value is minimum. In other words, find the min(Val(1), Val(2),…..Val(N)) and the node for which the minimum value exists. The interviewer wanted me to edit my previous algorithm for the previous question and form a solution for this question. He gave me hints whenever I was stuck and I was able to come up with a solution in which we had to push initially all the K special nodes into the queue and then perform BFS while maintaining the minimum distance found until now by storing it in a min distance variable. The interviewer was satisfied with my approach and my code.
  3. The next question was entirely new and the interviewer just wanted me to write the approach and pseudo-code for it and the time complexity for it. The question was – In a city, there are several houses. You need to find an optimal way in which every house can receive a water supply. Each house needs to have a water supply. Also, there is a cost associated with opening a well in each house. Cost[i] denotes the cost of an opening well in the house i. Also, there is a graph provided. Each bi-directional edge(i,j) has the cost weight(i,j) of establishing a water supply between the house I and house j. Now find a way to ensure that each house receives water. The entire arrangement must cost as low as possible. My first approach was a greedy approach to sort the cost array and then check whether the cost[i] to build well in the city i is less than the weight of the edge. The approach was wrong so the interviewer gave me a hint and I was able to deduce that first, we have to build the minimum spanning tree and then remove the edges with weight greater than building a new well in that city. As the most time-consuming portion would be of building a minimum spanning tree the time complexity of the solution will be O(VlogE) and space would be O(V+E).

The interviewer was really friendly and helped me whenever I had a doubt. He also corrected where I had made mistakes and made me correct them. After this round 3 candidates were selected for the next round.

System Design Round (1 hour): This round too was carried on zoom call. 

  • The interviewer first introduced himself and then asked me to do the same. 
  • Then he gave me the problem statement to design Domino’s Pizza Delivery System. I was a bit nervous for this round because I had never done system designing. I had prepared for it only for few 3-4 hours with a basic understanding of its concepts. 
  • The interviewer was really helpful during the process and helped me with hints whenever I was stuck. He asked me first to design a basic structure for the system. Then he asked me several follow up questions related to functional requirements, non-functional requirements, which database would be more suitable, schema design tables, how to ensure security and privacy for the user, which protocol to be used, suppose if the database gets full how to make it scalable, which data structure would you use to build your database and why, how to optimize the requests for users faster, what kind of cache will you use, which data structure would you use for your cache, how would you store timestamps for user login so that they do not remain logged in to the system for a very long time, how would you handle if there are a large number of user requests and all. 
  • I was able to answer the follow-up questions with a suitable reason for it. The interviewer accepted my solution for the problem statement. In the end, I asked some of the questions related to the work environment at the company and he very patiently explained everything. The interview had gone very well according to me.

Verdict: I was the only candidate selected who was offered an internship at Nutanix. The interview process was really smooth and the interviewer was very friendly and I am thankful for this opportunity provided by Nutanix.

My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!