ROUND 1: ONLINE WRITTEN TEST: It was the first elimination round which consisted of 4 sections and had several subsections in it, where every subsection had respective time limits (which is very less) and also cutoffs, which is the main reason for the difficulty of the test. There is no negative marking.
SECTION 1 (APTITUDE TEST): Subsections: Quantitative, logical, data interpretation, Reasoning.
SECTION 2: CODING SKILLS: Mixed types were asked of which majority were based on AVL TREES (building, rotating, etc), SORTING ALGOS (mine was radix sort related ques), BINARY TREES, BTREES, etc. The second section consisted of data flow diagrams and their outputs. The third section was something like code snippets and their outputs.
SECTION 3 (CONTEXTUAL COMMUNICATION): The type of ques(subsections) includes comprehension, grammar, antonyms, synonyms, sentence correction, ordering of sentences, parts of speech, etc. Comparatively, this was some sort of easier section of all, but another challenging task was the ques time ratio was less than a minute for the ques other than the passages, which should be taken care of.
SECTION 4 (CS KNOWLEDGE): This section mainly tests your knowledge of CS basics and advanced concepts. The subsections consist of OPERATING SYSTEMS, DBMS, SQL, COMPUTER NETWORKS, and CS KNOWLEDGE.
- Started with the briefing about myself and asked about projects and related follow-up questions, if any.
- Straight away jumped into solving questions (all my technical interviews are purely problem-solving types), he gave me a question to find the diameter of a binary tree. https://practice.geeksforgeeks.org/problems/diameter-of-binary-tree/1 Solving included drawing a pseudo tree on the board shared and first explaining the answer for the tree drawn and then the required approach. He was satisfied with the tree drawn and then asked to write the code, as there could be no further optimization, he was satisfied (but if there could be an optimization, he asks to do it)
- He asked me about the memory efficiency of creating an object to creating a static method and a detailed discussion of how both works for about 6-7 min.
- He asked me about ACID properties in DBMS and asked me to explain each in detail.
- The last question he gave me was to find the longest substring without repeating characters and gave me some test cases to dry run them. https://www.geeksforgeeks.org/print-longest-substring-without-repeating-characters/ As we were running out of time, he was more curious about my approach than code. First, I gave the brute force approach of finding all the substrings and finding the longest one, but he asked me to further optimize to linear time complexity. I then gave the approach using hashmap and he was all satisfied with that approach.
- The last part was any questions for him. The interview lasted for about 40 min.
ROUND 3: This round also started with a briefing about me and my projects. He started with a definition of recursion and then a simple problem stating finding the power of a number without using inbuilt functions. https://www.geeksforgeeks.org/write-a-c-program-to-calculate-powxn/
- Told him the brute force iterative approach and then he told me to optimize further, (I didn’t work out the bit manipulation method), so went with divide and conquer of handling odd and even powers, even then he wasn’t satisfied and asked to further optimize and then I corrected my code a bit but it’s not working for corner cases for number pow zero.
- This question lasted for about 20-23 min and then somehow, I could do it after a couple of hints.
- Then he asked me about tree traversals and an explanation for every traversal (in order especially).
- Then he asked me if I knew the iterative in order of a binary tree and asked me to draw a pseudo tree and asked me the output. https://practice.geeksforgeeks.org/problems/inorder-traversal-iterative/1/
- I told him that I would use stack and carry my approach, he was satisfied with my approach and asked me to code and a few follow up’s like why only stack and not queue and what is a stack, etc. This one took me about 30-35 min and at last, he gave me a tree to dry run especially including skewed trees. He was a perfectionist and was not considered my approach but asked me to walk him through the code and if the output was correct.
- Then he asked me a question on arrays to find the triplet sum closest to zero, first I told him the brute force, and then for optimization, I said I would sort the array and perform accordingly to my requirements (as he also asked for the quadruplet sum too).
- https://leetcode.com/problems/3sum-closest/ its variation
- https://iq.opengenus.org/4-sum-problem/ its variation
- The last question was based on quicksort and asked me about where quicksort has its worst-case and a detailed discussion for about 15-20 min.
- Asked about the Master’s theorem, Recurrence Relations, and a few academic-related questions.
- The last few minutes were any questions for him. This round lasted for around 1:30 hrs.
ROUND 4 (HR): This was a purely resume-based round and seldom does it have any technical questions.
- A briefing here too and an intro into the projects.
- Some mandatory HR questions like why oracle etc.
- Then he shared her screen and asked me to write the approach for a puzzle she’s yet to give.
- She then stated to measure 9 minutes using two hourglasses of 7 and 4 min each.
- Do not directly jump into the solution, instead clarify what are the requirements and given things.
- She was satisfied with my approach and asked me to write the approach on the board sharing.
- This lasted for about 20-25 min.
- The last part was any questions for her.