Backend Engineer | Zenskar
JP Morgan Chase | SDE 3 | YOE 3.4
Microsoft SDE - 2 | Interview Experience | Status Pending
eBay || SWE3 Interview Experience || Bangalore
Bloomberg | Interview Experience | Senior Software Engineer | NYC | Nov 2025
Nutanix | MTS | Bangalore | Jan 2020
Summary
I had an interview experience with Nutanix for the Member of Technical Staff position in January 2020. The process involved a telephonic screening followed by multiple onsite technical rounds and a final managerial discussion, covering a wide range of data structures, algorithms, system design, and Python-specific concepts.
Full Experience
My interview journey for the Member of Technical Staff position at Nutanix, Bangalore, commenced in January 2020. I brought 1.5 years of experience to the table.
1st Telephonic Round
This round focused on fundamental data structures and Python concepts. I was asked to:
- Construct a complete binary tree from a given array in level order fashion.
- Answer questions regarding Python's threading module, classes, and objects.
2nd Onsite Round
The first onsite round delved deeper into algorithms and problem-solving:
- I was challenged to rearrange positive and negative numbers within an array using constant extra space. I approached this with an O(N2) solution, though the interviewer was looking for an O(N log N) approach.
- Another problem involved evaluating division queries given initial equations (e.g., a/b = 2.0, c/d = 3.0), with the expectation of O(1) query time through precomputations.
- I also had to implement the lower bound using binary search to find the first occurrence of a query element in a sorted array with duplicates.
3rd Onsite Round
This round continued with more complex data structures and algorithms:
- I successfully constructed a binary tree from its postorder and inorder traversals, providing a complete working code and explanation.
- A problem on finding the minimum deletions required to make the frequency of each letter in a string unique was presented.
- I solved the problem of finding the minimum number of bracket reversals needed to make an expression balanced, managing to do so without using any extra space.
- Additionally, I tackled counting subarrays with a sum less than or equal to K. For positive K and array numbers, I used a cumulative sum array with binary search (O(N log N)). I extended this to handle negative K and array elements using a Binary Indexed Tree (BIT) with value shifting.
4th Onsite Round
The fourth onsite round covered concurrency and system design:
- I was given a problem to print array elements using two threads, one for even-indexed elements and another for odd-indexed elements (assuming the original question's typo meant odd indices for the second thread).
- A significant discussion point was sorting a very large file that couldn't fit into memory, with a focus on minimizing disk access. I proposed a merge sort-like solution involving batching during list merging.
- Finally, there was a high-level system design discussion about implementing a views count feature for YouTube, covering topics like distributed servers, distributed caching, load balancing, and consistent hashing.
5th Onsite Managerial Round
The final round was managerial, focusing on technical leadership and architectural considerations:
- Discussion revolved around handling threads within a server using
ThreadPoolExecutor, maintaining states for incoming requests, and optimizing resource utilization.
Interview Questions (13)
Discussion and questions related to Python's threading module, as well as fundamental concepts of classes and objects.
Given equations like a/b = 2.0 and c/d = 3.0, represented as [['a','b'],['c','d']] = [ 2.0, 3.0 ], and a large number of queries like ['a','d'], calculate the value of a/d. The interviewer expected O(1) query time, suggesting precomputations.
Given a sorted array that may contain duplicate elements, find the index of the first occurrence of a queried element 'x'. This problem requires implementing the lower bound concept using binary search.
Find the number of subarrays where the sum of elements is less than or equal to K. This was initially for positive K and array numbers. I solved this in O(N log N) using a cumulative sum array and binary search. I also extended the solution to handle negative K and array numbers by employing a Binary Indexed Tree (BIT) and shifting values to accommodate negatives.
Given an array, print its elements using two threads. One thread prints elements at even indices, and the other prints elements at odd indices. (Assuming this was the intent due to common problem patterns, as the original text had a typo 'even indexed elements' twice).
Sort a very large file containing integers that cannot fit into memory, with an emphasis on optimal resource usage and minimizing disk access.
High-level system design discussion for implementing a YouTube views count feature. This involved discussing distributed servers, distributed cache, load balancing, and consistent hashing.
Discussion focused on managing threads within a server environment using ThreadPoolExecutor, maintaining states for incoming requests, and optimizing resource utilization.