Online Test (150 mins): This round had certain sections. There was an additional constraint that in each section, one had to answer the questions in order. A candidate could not skip questions and re-attempt them later. The sections were based on the following:
- DSA concepts
- CS courses concepts such as OS, DBMS, OOP
Around 200 students appeared for the online test from which approximately 65 were selected for the technical interviews.
Technical Interview 1: Due to coronavirus lockdown, the interviews were held on Zoom.
- Explain Multithreading
- Advantages/Disadvantages of Multithreaded vs. Single Process programs.
Answer: Multithreaded – Can exploit the parallelism of a task and achieve a speedup. Also, the program can be logically divided into many threads which can then be developed individually. It will also make efficient use of memory and CPU time. However, multithreaded programs are harder to debug, and harder to write.
Single Process programs – Entire program has to be loaded at once, even though it has multiple components some of which will be used seldom. Thus, it leads to a waste of RAM. However, they are much easier to debug.
- What will happen if a thread dies?
Answer: The master process must monitor the status of each thread and take appropriate action – abort the program, restart a thread.
- Given an array, for every index, compute the product of all elements of the array except the element at that index. Using the division operator is NOT ALLOWED.
Answer: Maintain a prefix and suffix product array and calculate accordingly
- Puzzle question: When a man goes to a temple, he gives half of the flowers he has to the gatekeeper and 100 flowers to the gods. In this manner, after visiting 3 temples, he’s left with 0 flowers. How many flowers did he have to begin with?&
f(f(f(N))) = 0, find N where f(N) = N/2 - 100
Technical Interview 2:
- Explain heap and the various types of heaps
- Which data structure is convenient for performing BFS
- What are the possible implementations of a queue and which one would you prefer?
Answer: Linked List and Array. I would prefer Linked List as array offers constant time random access which is not required. Array resizing would create overheads on insertions
- I was given an SQL query involving two tables which had to solved using LEFT JOIN
- Given an array of unique elements, design a function that will return a unique sequence of all its elements every time it is called&.
Answer: Start with sorted order. The desired function would be the nextPermutation() function.
- Puzzle question: There is a book whose pages are numbered from 1-150. How many digits are used in enumerating all the pages?
Technical Interview 3:
- What is the best and worst-case time complexity of quicksort?
- For what type of input does the worst-case time complexity of quicksort occur?
Answer: For input array in ascending or descending order
- Describe the phases of a compiler.
- Generate all Parenthesis – II from. The problem is Print all combinations of balanced parentheses
- Find the maximum subarray sum and also report the indices of the subarray
HR Round: This round was fairly straightforward. I was asked to talk about my technical interests, hobbies, and whether I was willing to relocate
Verdict: Selected for the role of Server Technology Engineer.
- Be calm and composed
- Be thorough with your CS subjects
- For puzzle questions, write down precise mathematical steps to make solving them easier
- Speak eloquently in the HR round
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.