Round 1 (Online Round): The first round comprised of 2 coding question and 4 MCQ questions.
Question 1 – You are given 3 array A, B, C you need to find all possible combinations such that A[i1] + B[i2] = B[i3] + C[i4].
Question 2 – You are given with a string S. You need to find maximum length of string S after deleting some or none characters from S such that it can in form of T+T, where T is substring of S.
For example S = abcababc, maximum length of string S will be 6 after deleting a, b from position 4, 5.
MCQ questions were based on OS, networking, C output, Time Complexity.
Round 2 (Skype Interview): I was asked about how I solved questions in Online Round, then some DS question
Question 3- You are given with array where each element represents price of stock, you need to maximize profit by choosing when to buy and when to sell stock, and this operation can be done at most 1 time. I was asked to optimize the space complexity by O(1), although it was easy.
Question 4- It was puzzle. https://www.geeksforgeeks.org/puzzle-9-find-the-fastest-3-horses/
After that some discussion on pointers in C, multi-threading in C, some question on locks and monitor, the difference between calloc and malloc in C.
Round 3 (Face To Face): Some general introduction and questions related to project of current company.
Question 1 – You are given with a tree(not a binary tree) you need to print all its boundary clockwise first rightmost element, then bottom-most and then left most. The solution is BFS.
Question 2 – Design a priority queue in C, I designed it using int array then she asked to modify code it elements are in pair like (3, 2), (4, 6) first priority will be given to the first element, tie-breaker will be the second element, I simple changed int array to structure array.
A further question was based on SQL, I was asked to write optimized SQL Query, Stored Proc.
Round 4 (Face To Face – Senior Manager 2):Some general introduction and questions related to the project of the current company.
Question 1 – Write code for Quick Sort, Questions related to time complexity and optimization, can we achieve Complexity of less than O(nlog(n))? by using N threads ?.
Question 2- Implement polymorphism in C, I wrote code using function pointers. Read more about function pointers here/
Question 3 – Discussion on pointers, void pointers in C, implement size of without using sizeof operator in C. here/
Question 4 – Discussion on OS, threads, process, processor, multi-threading, context switching, CPU scheduling, locks and monitor. here
Round 5 (Face To Face – Director Engineering):Some general question related to current company, question-related to one of my college projects on IoT, nothing technical was asked in this round.
Round 6 (Face To Face – HR round):This round was based on Behavioral Skills taken by the HR team.
I was able to clear all the rounds.