Round 1(Online test 1 hr 40 mins): Conducted on Aspiring Minds AMCAT platform. There were 3 sections:
- Verbal Reasoning: It had questions like fill in the blanks with the correct word, choose a better option to replace the highlighted phrase with and questions based on paragraphs. We had 15 mins to solve 14 questions.
- Business Analytics: This section had questions where graphs, stocks, the performance of a company, etc were given and we were supposed to answer by analyzing those. This section had 14 questions to be solved in 25 mins.
- Coding: There were 2 questions to be solved in 1 hr. Everyone had different questions.
Given an array and an int k, we have to replace arr[i] by the sum of the next k elements of that array if either both arr[i] and k are positive or negative else if anyone is negative, replace arr[i] with some of previous |k| elements and print the new array.
1<n<=10^6 and 1<=k<=10^5
I had used brute force and 11/12 TCs passed. Later I realized it could be done with the help of a modified prefix/suffix sum array.
Given an unsorted array on integers, find the length of its largest sub-sequence such that it is increasing at first and then decreasing and the number of elements in increasing and decreasing parts should be the same.
I found out the length of the longest increasing sub-sequence(p) and longest decreasing sub-sequence(q) and returned 2*min(p,q)-1, which I knew was not 100% correct solution. 9/19 TCs passed.
Input: 1 2 3 2 1 4 5 6 7 19 15 12 10 9 Output: 9
There were 3 further rounds. 2 Technical and 1 HR I suppose. I was selected for the interview.
Round 2 (Technical Interview 45 mins): Due to the pandemic, it was conducted on Zoom. He told me to introduce myself first. After that, he shared the link of a collab-edit which was basically a shared document between us.
- Implement a queue using linked list (Code and explain)
- Given an unsigned int, return reverse binary string of it (code and explain, answer expected using bitwise shift operators)
- Longest Increasing Sub-sequence and its time complexity (code and explain, I had not given the DP solution but it had O(n^2) time complexity)
- What is backtracking?
- What is OOPs and how is it different from all the other paradigms?
- What is polymorphism, its types (Compile-time and run-time polymorphism)
- What is Normalisation? Why do we need it? What are all the normal forms and the difference between them?
- What are semaphores, their types, how and why are they implemented?
- Difference between process and thread
- 4 conditions for deadlock in OS
One of my friends was asked what is a Hamiltonian cycle and path and was asked to code it because he had written Discrete Math in his resume. (So, see to it that stuff that you write in your resume doesn’t backfire.) Some were asked questions about graphs as well.
Finally, he asked what were my future plans if I wanted to take up a job or study further, etc.
The interviewer didn’t look very interested. Maybe because it was a Sunday afternoon and he had been taking interviews since morning. He didn’t smile even once, gave no hints or tell me if the solution was correct or needed to be optimized or asked me if I had any questions for him at the end.
I was hoping to get selected further but I got disqualified.