First round: Online coding round on cocubes. It has three coding questions.
- Print reverse given numbers.
- Find the maximum sum of subarray containing no duplicates.
- Find the shortest leaf node distance from a given node in a binary tree.
Those who were able to do 2 questions by handling all corner cases were shortlisted.
Second round (Technical round 1): In this round basic oops concept were asked like polymorphism, constructor, and concept of vptr, vtable. Some projects related questions.
Four coding questions were asked
- Find if there is a bridge in a graph so if we remove that bridge then graph become two strongly connected graph.
- Find all left leaf nodes in the binary tree.
- The diameter of the binary tree.
- Find all duplicate subtree in the binary tree.
I was able to answer all the questions. So they called me for the next technical round.
Third Round (Technical round 2): In this round, he wanted to see my problem-solving skills and technologies in which I have hands-on experience.
He asked about all my projects which are present in my resumes. He also told me if possible then give a demo of some project.
He asked about API development. There was half an hour discussion on lru implementation. He started giving me a different different scenario and asked me to relate it with lru and which data structure to use.
- He asked me to sort an array of 0 1 2 in o(n) time complexity.
- He gave me the next coding question he told me to find elements of an array where a+b+c+d=0. Duplicate values were not allowed.
- He also asked some differences in Java and CPP. Asked about python matplotlib, pandas. Because my project included these libraries.
Some discussions happened on the concept of multi-threading. I answered all questions he was very much impressed by me.
Fourth Round: For me, it was only for 15 minutes because my feedback from both previous rounds was good. So in this round manager asked me some questions like why Paytm, one of my projects.
Finally, I got an offer.