I applied for the Performance Engineering role at Bangalore via VMware careers site. Soon I received a link for a coding test at HackerRank. It was a 90-minutes test, had 3 questions. According to me, they were in the order of Easy – Medium – Hard. I could solve the first two questions, could not solve the last one. A few days later I was informed that I am selected for the onsite interviews.
This round mainly bounced between DS-Algo and OS concepts.
Some OS questions –
1. Virtual Memory – a thorough explanation expected, with some conceptual questions thrown in between
2. Paging and its internal features, advantages, disadvantages.
3. Locking mechanisms – Mutex, Semaphores
Some DS-Algo questions –
1. Delete middle element of linked list in one pass (The hare and the tortoise strategy).
2. Find 2nd smallest element in array, told that I would maintain two variables (smallest_till_now and next_smallest_till_now) and update them accordingly in one linear pass. Finally next_smallest_till_now would contain the result. Later was asked to generalize the solution for finding the kth smallest element. Gave the quick-select algorithm as a solution and coded it. Was asked to compare it with an alternative solution that uses a heap of size k.
There was only one problem statement – it was a modification of the Producer – Consumer problem. But I was expected to write a code that uses threads with locking for simulation. I was using C++ for the interview and did not write any threaded program ever in it, so was allowed to google a little and then code it. Could complete the code but it was not at all a good one. The round concluded with some more questions regarding threads, processes, semaphores.
It was a general discussion round. The interviewer did not ask me any technical questions. He asked me about my previous company, my experiences there, my interests and where I find myself growing in my career. He also explained me about this Performance Engineering role and the nitty-gritty aspects of it.
It involved design questions only.
1. How to send video streams from remote machine to another machine – I discussed various compression strategies.
2. Design an error-handling library (using inheritance) that can be invoked anywhere at the code.
3. Design a Washing Machine that serves atleast the basic requirements – it’s block diagram, algorithm of operation.
Result – Selected
General advice for VMware enthusiasts – Make sure your OS concepts are strong. The level of DS-Algo that they willl ask you would most probably be quite less demanding in comparison to the depth of OS concepts in which you would be tested upon.
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course. In case you are prepared, test your skills using TCS, Wipro, Amazon and Microsoft Test Serieses.