Nutanix Interview Experience - Set 1 (On-Campus For Internship)
Nutanix Interview Experience - Set 1 (On-Campus For Internship)
Nutanix Interview Experience - Set 1 (On-Campus For Internship)
Internship)
geeksforgeeks.org/nutanix-interview-experience-set-1-on-campus-for-internship/
Question 2:
Given 2 strings s1 and s2 determine whether s2 is a shuffle of s1. Where shuffle is
defined as an operation that switches 2 children of a node in a binary tree.
Example:
s1 = great
s2 = taerg
1/4
so taerg is a shuffel string of s1.
This was a tricky question of the 2.
12 students qualified for the next round. I solved all the test cases of the 1st question
and 5 test cases of question 2. So I was selected for 2nd round.
Round 2:
I was asked to solve a Dynamic Programming problem. Given a string of digits
separated by operators ( + and *) only. Then parenthesize the string in such a way
that first we get the max value possible and then we get the least value possible from
the string. Return the difference of the two values calculated. I had to solve this
problem on a paper sheet and explain the whole approach. I took 30 min to complete
the code on paper along with the explanation. Then the interviewer tested my code
for some simple cases : 2*2+2 => max is 2*(2+2) = 8 and min is (2*2)+2 = 6.
Then he asked me if I had any questions for him.
He was impressed by my solution and coding style, clean and neat with comments
and camel case of variables.
In total 6 students were shortlisted for the 3rd round including me.
Round 3:
Interviewer asked me to debug a code involving reader – writer locks. It was an OS
question, modified version of readers-writers problem. I pointed out 5 problems with
the code, syntactical and logical both. There was a deadlock condition, write after
write inconsistency, read after write inconsistency, wrong if then else and a syntax
error. I took 10 min to do point out all the problems and write the correct code. The
interviewer had a stopwatch running on his phone, which I only got to know about
after 5 mins.
If you like GeeksforGeeks and would like to contribute, you can also write an article
and mail your article to contribute@geeksforgeeks.org. See your article appearing on
the GeeksforGeeks main page and help other Geeks.
Practice Tags :
Nutanix
The first round was an online coding round hosted on hackerrank. There were two
questions to be solved in 1hr30mins. The questions were as follows –
Q-1. Winning at Sports : In the game of Sports, the object is have more points than
the other team after a certain amount of time has elapsed. Scores are denoted by two
hyphen-separated integers. For example, scores may include 3-2, 4-1, or 10-0. The
first number is how many points you’ve scored, and the second is the number of
points scored by the opposing team. You’re very good at Sports, and consequently
you always win. However, you don’t always achieve victory the same way every time.
The two most extreme kinds of victory are called stress-free and stressful. In astress-
free victory, you score the first point and from then on you always have more points
than your opponent. In a stressful victory, you never have more points than your
opponent until after their score is equal to their final score.
Given the final score of a game of Sports, how many ways could you arrange the
order in which the points are scored such that you secure a stress-free or stressful
win?
Note – Output two integers – one each for stress-free and stressful victory.
Q-2. Given a sorted dictionary (array of words) of an alien language, find order of
characters in the language.
Examples:
1/4
Solution – https://www.geeksforgeeks.org/given-sorted-dictionary-find-precedence-
characters/
Round 2 – Knockout
An erroneous code of segment Tree was given to us on a printed paper. The students
had to identify the mistake and write the corresponding correct code.
8 students were selected and 8 were knocked out from this round.
Round 3 – F2F 1
This was a face to face interview. There were 2 questions –
1. Given an array of integers and an integer X, find all subsets of the array whose
sum of elements is equal to the integer X.
Solution – Recur for two cases – one including current element and other excluding
current element.
2. You have two integer arrays – WELL and DISC. Each integer of WELL represents
the maximum width of a disc that can pass through it in left to right direction. Given a
series of discs of varying width, find out how many discs can be fit in the WELL until
the WELL gets full.
E..g. Say WELL array is {10, 8, 9, 5, 4, 1, 2} and DISC array is {1, 6, 9, 5, 4, 11}
2. disc 6 can pass through only 10, 8 and 9. Hence, it will fall at position of width 9.
3. disc 9 can pass through only 10. Hence, it will fall at position of width 10.
Since the WELL is full at the topmost level, we cannot fit in anymore discs. Hence,
we stop and print the answer as 3.
Solution – Preprocess the WELL array to output the answer in O(m+n).
Round 4 – F2F 2
This round had only one question. There was a variant of the classic bounded buffer
problem and we were asked to synchronize it.
Round 5 – HR
Just a few basic HR questions. No puzzles or technical questions were asked. She
explained about the culture at Nutanix. At the end of the interview, she told me
“Welcome to Nutanix”.
2/4
Nutanix Interview Experience | Set 3 (On-Campus for
Internship)
geeksforgeeks.org/nutanix-interview-experience-set-3-campus-internship/
Nutanix recently came to our college for recruiting interns. Around 130 people gave
the coding round, and 12 were selected for interviews. Test was 1.5 hours long, with
2 questions.
Coding Round:
Q1: https://www.geeksforgeeks.org/minimum-positive-points-to-reach-destination/
I personally found the question tough. I started with the idea of representing dp[i][j] as
the min number of points to reach till index [i][j] from [0][0]. However if you think deep
you would get to know why’s it wrong, or in other words doesn’t produce the most
optimal answer. 3 test cases passed.
Q2: Given a list of points with x and y coordinates, you have to calculate how many
points are not dominated with any other point. A point ‘p’ is said to dominate another
point ‘q’, if p(x)>q(x) AND p(y)>q(y).
It didn’t take me much time to solve this problem. All test cases passed.
Round 1 interview:
There were 3 people taking interview in parallel in three different cubicles. All of them
asked the same questions to students giving the interview at the same time.
Basically three people went, then all three came out, and next three went, and so on
repeated two more time. So same set of questions to students having interview at the
same time in parallel, and they would change questions for the next set of students.
Before telling questions asked to me, i would write down questions asked to others:
1. Given a linked list and pointer to a given node, how to delete this node. Note that
pointer to no other node is given, not even the head. Just this given node. :
https://www.geeksforgeeks.org/in-a-linked-list-given-only-a-pointer-to-a-node-to-be-
deleted-in-a-singly-linked-list-how-do-you-delete-it/
3. Given an array of size n, find out the numbers which have duplicates. Numbers lie
in the range 0 to n-1, and more than one number can have duplicates.:
https://www.geeksforgeeks.org/find-duplicates-in-on-time-and-constant-extra-space/
1/5
Some more easy questions i don’t remember. Anyways, the following questions were
asked to me:
1. Given a BST with two nodes swapped, find the two nodes, and swap them back
(Note that you have to swap the nodes, not just the value within them).
He asked me to code the solution, which i did. He was satisfied with the solution.
2. Given an undirected graph, and each vertex having some value associated with it,
find the number of connected components with total value (meaning the sum of value
of all the nodes within that connected component) as prime.
Round 2 interview:
3 people went first, next three immediately after them. As there wasn’t any possibility
to discuss any question with those who went first, they gave exact same question to
all.
It was a tech + HR round.
Only one tech question was asked, which was pretty simple.
Q: Given a BST with attributes Left*, Right*, Value, Locked, where locked and value
are int, find out if a given node can be locked or not. A node can locked is none of it’s
ancestor, or any node in the subtree with this given node as the root is locked.
I first told that i would do traversal till the given node (Given Node’s pointer is given,
so i have the value, can do the traversal). I would check if there was any node which
2/5
was locked while between reaching till that node. If yes, simply stop and print “Not
Possible”. If no ancestor is locked, simply do some traversal of the subtree with that
node as the root, and find if any node is locked. If yes, then print “Not Possible”. Else
print “Yes”. She asked the complexity, i said O(Log(N)) for reaching till the node, and
O(N) for the traversal of subgraph. Basically Brute force type. She asked to Optimise
it. I asked if i can introduce one more attribute in “struct Node” definition. She allowed.
Then i said i can do pre computation and find if any nodes’ subtree with that node as
the root has any node in it’s subtree locked. If yes, i would set this new attribute. Then
when queries are fired, simply reach till that node in O(logN) time, check for the
ancestors in the way. And if reached successfully, check this newly introduced
attribute. She was happy with solution. Asked me to code it, i did. Then couple of
general HR questions.
I really found them quite chilled and cool people. Everything went well
Out of 6 people, two were finally selected. I enjoyed the whole process.
This article is contributed by Devvrit Khatri. If you like GeeksforGeeks and would like
to contribute, you can also write an article using contribute.geeksforgeeks.org or mail
your article to contribute@geeksforgeeks.org. See your article appearing on the
GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more
information about the topic discussed above.
Practice Tags :
Nutanix
Recommended Posts:
Round 1: 3 Questions
Q1. https://www.geeksforgeeks.org/program-for-nth-fibonacci-number/
http://mpitutorial.com/tutorials/mpi-broadcast-and-collective-communication/No code
for it.
Q3. Given an array of billion of numbers. Billions of queries are generated with
parameters as starting and an ending index. Both these indices lie within that array.
Find the maximum number between these two indices in less than O(N).
Please write comments if you find anything incorrect, or you want to share more
information about the topic discussed above.
Practice Tags :
Nutanix
Misc
Misc
Recommended Posts:
Round1:
It was conducted on hackerrank.
Time duration :1hr
There were 2 questions in total
Question 1: https://www.geeksforgeeks.org/merging-intervals/
Question 2: https://www.geeksforgeeks.org/snake-ladder-problem-2/
14 members were selected to the next round
1/4
finding the optimal strategy to arrange cars in their proper places.
We were asked to give the minimum number of swaps to be done in order to arrange
cars in order.
He asked the project which enjoyed the most to do. As I had said AI is my favourite
subject, he asked me the way I implemented AI in that project.
Question 3: Around 1000 numbers are given where each number is in the range 1 to
10. I first answered we need a minimum time f O(nlogn) to solve it. He asked me to
solve it in O(n) time. So I gave a solution similar to this:
https://practice.geeksforgeeks.org/problems/sort-an-array-of-0s-1s-and-2s/0
He was happy with my solution.
I was very happy with the interview procedures and rounds. But finally 3 were offered
a full-time job and 1 was offered an internship
Please write comments if you find anything incorrect, or you want to share more
information about the topic discussed above.
Practice Tags :
Nutanix
Recommended Posts:
2/4
Nutanix Interview Experiance – Campus Placements
geeksforgeeks.org/nutanix-interview-experience-campus-placements/
Nutanix Technologies came to our campus BITS Goa for On-Campus Recruitment
process. They conducted multiple rounds of screening to finally select 3 Candidates.
1st question: Given n tailors with particular skill values (positive integer array) and m
tasks (positive integer array), we need to find how much time will the tailors would
take to complete m task working together.
A tailor can do 1 task if his skill value >= task value. Completing 1 task by 1 tailor
takes 1 hr. eg Tailor: 4 5 6 task: 5 5 6 will take 1 hr if tailor with skill 4 5 6 are given
task NULL 5 5 / NULL NULL 6 (2 hrs) : then the tailors can distribute the task and
take one each as per skill value such that the time consumed is minimum (2 hr in this
case).
The question had a story with it. I am just telling the crux of the problem. Given a 2D
matrix having either * (means available ) or # (means unavailable) block. An integer k
was given. All the continuous k available blocks either vertical or horizontal needs to
be considered. There will be some set of (continuous) blocks that can overlap having
continuity more than equal to k. The task was to find the maximum number of
overlaps any block can have based on the input matrix. Understanding the question
was very important in order to solve it.
The answer required to make 3 2D matrices of equal dimension as the input. 1 for
vertical continuos block count(>=k). 1 for horizontal and 1 for all the final overlaps.
1/5
Any student who could solve 1 complete problem and other at least half test cases,
was short listed. There were 14 such candidates shortlisted from this round including
me.
Out of 14 students, half of us were to be eliminated from this round. We were given 2
c++ object-oriented codes on OS concepts of Semaphore and Mutex lock. This was
not OOP debugging, But debugging based on logical errors of OS synchronization.
We were asked to point out the errors and suggest corrections. There were
semicolons missing at few places but it was told to only point out logical errors
In the first problem, we had to think about Mutex lock and exception handling.
In the second problem, a small tweak was made in the Producer-Consumer problem
of Semaphore.
out of total 10 errors, I was able to point 4 /6 and 4/4 errors for the two questions. The
approaches were discussed in one of the rounds later. The interviewer told me that I
was one of the top scorers of this round.
The interviewer had a stopwatch. As soon as he explained each problem, the timer
was started. (He wasn’t supposed to mention this. I just noticed)
1st Ques: Construct BST from its given level order traversal
It took me a while to figure out the approach for the 1st problem. The interviewer
gave a small hint which led me to the correct solution approach. I solved the second
problem very quickly though. He asked me to write pseudo-code for both the
problems. I did that and was quite happy.
This round was Resume based round along with a bit HR questions too.
The interviewer was a 23 years experienced engineer working with Nutanix and
asked really smart questions based on what I was explaining on my projects and case
study. ( Btw this is the only round where GFG can’t help you ) The session went
on for 40 – 45 mins. Towards the end, he told me that he liked how passionately I
was explaining my work and contributions in the case study and projects mentioned in
Resume. This was very engaging round and many of his questions were trying to
check which department of the company I can fit well. He was happy after the end of
interview.
2/5
Round 3: Design Round
Before the beginning of this round, The interviewer discussed my Debugging round
approaches and pointed where I missed on errors.
In this round, I was asked to implement an LRU cache using an appropriate data
structure. https://www.geeksforgeeks.org/lru-cache-implementation/
After that, he asked for more algorithms which can be used for caching and ways to
implement them. I told him LFU (Least frequently used). Then the discussion went on
with the difference between the two techniques, pros and cons and further tweaks to
the problem.
By the end of the round, he asked if I had any questions for him. I had a few
questions which he answered properly also giving me advice as a mentor for my
career ahead in software engineering.
All the interviewers tried to help me while getting towards the answer when I was
stuck. I found the overall interview with the NUTANIX team very informative and
rounds were conducted very smoothly. Finally I was 1 of the 3 candidates selected
for NUTANIX Technologies, Banglore
Please write comments if you find anything incorrect, or you want to share more
information about the topic discussed above.
Practice Tags :
Nutanix
Dynamic Programming
Binary Search Tree
Recommended Posts:
Online Round: This round was held on Hackerrank for 1:30 hrs. There were two
questions in this round.
1. A tree was given with upto 10^5 nodes. There were 10^5 queries. Each query
gave a node and the preorder traversal of its subtree was to be answered.
2. There was an undirected graph with a source and a destination. The following
actions would be done each minute –
1. From the current node, choose a road along the shortest path.
2. If you have reached the destination, then stop.
3. Else, from the this node choose any random road except the one you
came to it by, and go to step 1.
Find the time required in the worst case to reach the destination. If not possible print -
1.
Debugging Round: This round also had 2 questions for 1:15 hrs. The questions
contained logical errors which needed to be corrected.
1. A code was given which had functions to insert a node at the beginning of a
circular linked list, and split a circular linked list into two circular linked lists of
half the length.
2. A code based on operating systems was given where multiple threads were
being created which were reading from different input files and all of them were
writing into the same output file. The restriction was that only 400 characters at
time were to be inserted into the file at a time and all threads which couldn’t
obtain access to the output file were waiting in a queue.
The following two rounds followed the same pattern. There was one question in each
round and all the students were simultaneously asked the same questions. After the
interviewee answered the question, he/she was asked about their projects, or
sometimes C/JAVA etc.
Round 1(F2F):
1/4
1. In an infinite 2D plot. You are at location (1, 1). You have to go to (M, N), where
1<=M, N<=10^7. From a position (X, Y) you can go only to (X+Y, Y) and (X,
X+Y). If it is possible to go to (M, N) print the path to be taken, else print NO.
clearly from the constraints an O(N) solution was required. (Hint: try going
reverse).
Round 2(F2F):
1. You have an array of numbers. You have to give the range in which each
number is the maximum element. For Example, If array is 1, 5, 4, 3, 6 The
output would be
1. 1 [1, 1]
2. 5 [1, 4]
3. 4 [3, 4]
4. 3 [4, 4]
5. 6 [1, 5]
5 of the students had answered the questions optimally in both the rounds. After the
second round three guys were selected for HR round, While 2 of them had an extra
round taken by all three interviewers combined, they were asked system design
questions.
Round 3(HR): Usual HR stuff such as questions about resume, tell me about
yourself, why this company, hobbies, future plans, choice of location, how do you
deal with a non performing team member and so on.
The three selected guys were given a 6 month internship and FTE, and one of the
guys from the extra round was offered only a 6 month internship.
Please write comments if you find anything incorrect, or you want to share more
information about the topic discussed above.
2/4
Nutanix Interview (On Campus for Internships)
geeksforgeeks.org/nutanix-interview-on-campus-for-internships/
Recently, Nutanix visited our campus for hiring Interns. The process was similar to
whats there for most of the companies. Initially, there was a coding test which had 2
questions in 1 hour. First question was an implementation of a binary search. It did
not take me much time to strike that the question was binary search. There were 2
types of queries, each a different form of binary search. O(n^2) solution would pass
6/9 cases and a O(nlogn) solution would pass all the test cases. 2nd question was a
tricky modification of counting inversions. I found this little hard as I hard less time left
as well. But it turned out doing one complete question was enough to get qualified for
the interviews. Remember, one complete problem is usually given more preference
than 2 brute force attempts. For example, 9/9 cases in one question is better than 6/9
+ 6/9 in two questions.
11 people were selected for interviews. The first round of interviews was surprisingly
a written round. We were given a 2 page code the purpose of which was to merge
sort a linked list while removing duplicates and we had to point out errors in the
CORE LOGIC of the program and not give silly errors like semi-colons or de-
referencing pointers. I think I found about 4 or 5 good errors in the code. 7 people
were selected for the 2nd round. In my interview, the first question was, given a
ternary operator string, for example, a?b?c:d:e, we had to convert it into a tree form.
https://www.geeksforgeeks.org/convert-ternary-expression-binary-tree/
It took me some time to do this problem, around 25-30 mins including writing the
code. The interviewer was impressed and asked me a second question which was
based on dynamic programming.
https://www.interviewbit.com/problems/ways-to-decode/
This was the second question. I did not take me much time to solve this problem and
the interviewer was very much impressed.
After this, I had an HR round after which I was told that I had been selected for the
Internship and I was extremely happy after that.
1/3