Round 1: Online Test on Hackerrank. There were 20 MCQs of 1 marks each and 4 coding questions of total of 240 marks. MCQs were Networking, OS, and Linux/UNIX based.
Two coding questions were of 50 marks and two were 70. The questions were :
- You are given a binary array (with only 1s and 0s), and you are supposed to bring all the 1s to the right and all the 0s to the left, or vice-versa. The operation that can be performed is to swap two adjacent values, find the minimum number of operations needed.
- You start from the 0th position and at every step, you can choose to move I (i is the step number) steps forward or can remain in your position. There is a bad index in which you cannot stand. Find the maximum index you can reach in k steps after avoiding the bad Index.
- Given a list of names appended with roman numbers. First sort them with names, then with the numbers appended to them, in increasing order.
- A string question related to appending a string multiple times to get a given string. If we can make the first string by appending the second string multiple times, then we have to return the smallest string that will produce the second string by appending one or more times.
Out of around 430 students, only 12 were selected.
Technical Interview 1:
- Tell me about yourself.
- What is the complexity of quicksort and how to make it always nlog(n). He asked this question because I had a project on sorting visualization.
- Operating System Questions: What is virtualization (In terms of virtual memory). In a single-core system, 3 processes are running of size 526Mb each and the system memory is 1Gb. How is the os handling this? Question related to page replacement.
- Networking Questions: The process followed in DHCP protocol: Didn’t answer. Difference between TCP and UDP. What happens when you type www.google.com in your browser. What happens when you connect an Ethernet cable to your system. What is dynamic IP.
Then there were two coding questions:
- Given an array of size n and an integer k, find the maximum values of all the subarrays of size k.
- Evaluate an expression tree.
- Asked the third question, to tell the logic of forming the expression tree, but then the time was over.
Technical Interview 2 :
- Again started with the introduction.
- Asked some questions about my project which I was working on (Online multiplayer game). What server you are using. Have you written some code for the login authentication? What database are you using? Why MongoDB instead of MySQL.
- Then asked a coding question: Given a comma-separated list of keys and some other comma-separated values in a vector of strings(like a CSV file), parse that and return a vector of the map with key-value pairs in it.
- Asked about child, parent, zombie process.
- Difference between thread and a process, I was confused and giving wrong answers, but he went on for around 10 mins.
- Then loaded a question from the first round (question with the badIndex), and told me to optimize my code, I was able to give the optimization in the case when we are calling the function multiple times(by storing all the results beforehand).
Technical Interview 3:
- Started with the introduction again.
- Told me about the devTest role.
- Create a function pointer, didn’t remember the syntax
- Tell something about virtualization in C++, I couldn’t answer.
- Wrote the code: char *ch = new char; Asked about memory allocation in heap and stack. Create 10 character pointers.
- Then asked a coding question: Count the number of consecutive letters and append the number to the character. Not allowed to use the map or any extra space. Manipulations had to be done on the input itself. The only extra space given was some space at the end of the input string (which is equal to the length of the string). Struggled for an hour in that but didn’t reach the final answer.
Input : “aaaabbbca” Output : “a4b3c1a1”
- Tell me about your experience in the past two days.
- What do you remember about us from yesterday’s presentation?
- Are you satisfied with your performance?
- Told about the role again in detail. (The devTest role)
In about 2 hours they informed me through a call that I was selected. A total of 3 students got the internship and full-time offer.
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.