Round 1: (Online Test)
The test contained 2 sections. First section had 25 MCQs based upon OS, DBMS, CN, Data Structures and Aptitude. Second section had 2 coding questions. The questions are mentioned below :
- You are given a list of n-1 integers and these integers are in the range of 1 to n. There are no duplicates in list. One of the integers is missing in the list. Write an efficient code to find the missing integer.
- Solution : https://www.geeksforgeeks.org/find-the-missing-number/
- In share trading, a buyer buys shares and sells on a future date. Given the stock price of n days, the trader is allowed to make at most k transactions, where a new transaction can only start after the previous transaction is complete, find out the maximum profit that a share trader could have made.
- Solution : https://www.geeksforgeeks.org/maximum-profit-by-buying-and-selling-a-share-at-most-k-times/
Round 2:(F2F Interview)
This round begun with introduction from the Interviewer. Then I was asked to tell something about myself. After that asked some basic questions from resume.
Then the interviewer performed some mathematical calculations as shown below :
229 = (9 * (2 ^ 0)) + (2 * (2 ^ 1)) + (2 * (2 ^ 2)) = 9 + 4 + 8 = 21
85 = (5 * (2 ^ 0)) + (8 * (2 ^ 1)) = 5 + 16 = 21
77 = (7 * (2 ^ 0)) + (7 * (2 ^ 1)) = 7 + 14 = 21
405 = (5 * (2 ^ 0)) + (0 * (2 ^ 1)) + (4 * (2 ^ 2)) = 5 + 0 + 16 = 21
69 = (9 * (2 ^ 0)) + (6 * (2 ^ 1)) = 9 + 12 = 21
In short, you had to add the digits of numbers by multiplying each digit with its proper base(Power of 2).
Firstly I was asked to tell the minimum number that would form 21.(Ans 69).
The same question was asked for various values. Then I was asked about the logic that I had used to answer the questions. After that I was told to write down its code and tell its complexity which I was able to do.
Then he repeated the same process for the maximum number that would give out the sum 21.
After that I was told to write down the code to convert decimal number into binary string.
I was then asked that when is the complexity of the program log(n) and how can you tell that mathematically.
After that I was asked to wait for some time for the next round.
Round 3:(F2F Interview)
This round also started with basic introduction from the interviewer. The interviewer then asked me about myself and the projects I had worked on. He also asked me to explain some of them.
After that he asked me to write down the code to multiply 2 complex numbers.
The next thing I was asked to do was to merge 2 BST. I initially solved it using extra space but then I was asked to optimise it and think about solving it without using extra space.
I explained the interviewer method 3 of the above mentioned link. I was then asked to write down its code and also use recursive stacks as DLL(Doubly Linked List).
After that I was asked to wait for some time. I was called for next round after 5 minutes.
Round 4:(F2F Interview)
This round started as usual with the introduction of interviewer. I was then asked to describe myself. While describing myself I mentioned chess as my hobby and there was a discussion about it.
After that he asked me the following question:
Given 3 matchboxes with 4 match sticks in one, 3 match sticks in the next and 2 match sticks in the last box. If a match box has x match sticks it can only receive x matchsticks from another match box.
i) The match box with 2 match sticks can receive 2 match sticks from the match box with either 4 or 3 match sticks. The possible configurations would either be (2, 3, 4 ) or (2, 1, 4) after these operations respectively if it was (4, 3, 2) initially.
ii) The match box with 3 match sticks can receive 3 match sticks from the match box with 4 match sticks. The possible configuration would be (1, 4, 4) after this operation if it was (4, 3, 2) initially.
iii) The match box with 4 match sticks can not receive any match stick.
You have to tell if it is possible that all the match boxes have same number of match sticks after any number of operations. I answer with a no after some calculations. The interviewer asked me to explain him the reason for my answer and then to write down the code for the problem which returned a boolean value. I wrote down some code and then he asked me to wait outside.
After some time a list of selected students was announced. I was also selected.