Round 1: Online Test
The round 1 was an online test, on cocubes platform comprising of two sections.
- Aptitude (30 questions in 30 minutes.): Again, it had two subsections, logical, comprosing of 20 questions and 10 quantitative, all being paragraph based. –
- Coding Section: Two very easy questions, 30 minutes.Every one got different sets. Some of the questions were:
- Sum of all the digits of a number until sum is of one digit.(https://www.geeksforgeeks.org/finding-sum-of-digits-of-a-number-until-sum-becomes-single-digit/)
- Given a number n, find the number of cards required to make a card pyramid of level n.
- Simple password checker with given constraints like atleast one capital, atleast two numbers and a special character, etc.
- Rotation of a linked list in groups of k. (https://www.geeksforgeeks.org/rotate-linked-list-block-wise/) and some other simple questions.
Round 2: Problem solving pen and paper coding test
35 people were shortlisted for this pen-paper-code round. People were divided in groups of nine and were being called group by group. Every group was given a question which was completely open-ended, and we had to write code in any language of our choice. Each individual was given 45 minutes. the four questions were:
- Problem Statemenrt: Given a graph implementation like, for eg, Facebook, find the minimum degreee of separation betwen two given people. It is also given that the graph is implemented by using linked lists. The people who could see that the question demanded minimum path between two given nodes in a graph represented through adjacency list solved the problem by applying Djikstra algorithm after taking any of the given nodes as source.
- Problem Statemenrt: Find the trending words on Twitter. Again, a very blunt, open-ended question that didn’t define much. Thay wanted to test the analytical, coding skills as well as thought process of the students. They were expecting features like, frequency-based sorting of the words giving priority to the timestamps(that’s what trending is, right!), remove the special characters like #, $, @, etc, do not count the common words like is, am, are, the, preositiions and all. Two or more similar words, for example, #metooo and #meeeeeetoooouuuuuu.. be cosnidered same and many things else.
- Problem Statemenrt: Maximise profits in stock given you can buy and sell stocks given k times. https://www.geeksforgeeks.org/maximum-profit-by-buying-and-selling-a-share-at-most-k-times/
- Problem Statement: Krithika has got a new prime subscription and have watched k movies. Help the prime people in suggesting her the (k+1)th movie. Basically, design a personalized recommendation engine. (w/o using ML libraries obviously! They wanted a C/C++/Java/Python code) This is the question I was asked. Again, a very open-ended question. They had come with plans to grill us and check our thought process. How I approached this problem was, I took both the conditions to filter out the remaining movies which are : 1. Item-based filtering: You have watched this movie, so you are more likely to watch movies of this type. For this, I had created a structure in C++ called movies, which contained different compontents like Genre, Rating, Studio, an array of Actors, release date, and an array of struct(Persons) which contained the list of people who had watched the movie. 2. User-based Filtering: People who have watched this movie have also watched thse movies. For the implementation of this feature, I created a structure person which contained name, age, nationality, profession and an array of struct movie that he has watched. Now, the process was, for each of the movie she has watched, I was comparing it first with all the features of every movie present in the database which is nothing but right now, an array of movies, and generating a score accoridng to an arbitrarily assigned priority right now. For the user based filtering, for each of the movie that she has watched, there must be an array of persons who have also watched that movie, so again, traverse through that array and then inside that array, there must be an array of movies he would have watched, compare it with those and then generate the final maximum socre from all of these. Finally, from all the scores generated the movie with the highest score is recommended.
Round 3: Technical Interview
After writing the code for the last round and submitting it, every one was being called one by one and were being asked to explain the code and then discussion about the projects done and some SQL queries. In my case, there were three people togerther whom I had to explain my logic first, then, they started questioning.
- You have assigned the priority arabitrarily to generate the score. What if this priority is wrong for the person? If the recommendation is wrong, the person will obviously not watch the movie or leave it in between. So, let’s take a time-limit, and if until then, the movie is not watched, some other feature will be given priority and some other movie will be recommended and the different features are put into a circular queue. Apart from this, all the recommended and not watched movies should be kept in an array options and keep recommending them from time to time. Like giving them rest for now, and then comparing again, with the max score movies to go for recommendation.
- Although you have covered many great features, to do so, the time complexity is O(n^3), and for such a large database, dynamically calculating and showing this will impossible. How are you going to improve this? Well, for comparisions, I can partiiton the movies in different buckets so that the exhaustivity can be reduced, and put them in different sets which works in logn for searching. That’s how for two level of loops are converted to logn, thereby reducing the time complexity to n(logn)^2.
After this, I was asked about the projects I had done, one of them was a networking and ML specialist and my project was detection of DDoS (HTTP-get and post flooding, DNS reflection and amplification) attacks using ML. So, in both areas, I was eaten up raw. 😐
Round 4: HR Interview
If you have reached this far, because the last round was a grilling elimination round, its highly likely that you will succeed. So, I was asked the simple HR questions like why should we hire you. tell me something you have done and is not in the resume(I had plethora)., preferential location, number of siblings, etc Then, any questions? (Tip: Have some question for them!)
Finally, the result came, I was selected along with 8 other people I’d like to thank everyone who helped me, especially GeeksforGeeks and InterviewBit.
- InfoEdge Interview Experience | OnCampus-2019
- ServiceNow Interview Experience Oncampus
- MathWorks Interview Experience (EDG, Oncampus)
- Interview Experience at Naggaro 2019 (3 yrs of Experience)
- OYO Interview Experience - SDE (2019)
- TCS NQT 2019 Interview Experience
- OYO Interview Experience 2019
- OYO Interview Experience 2019 (On-Campus)
- MAQ Software Interview Experience (Aug 2019)
- Infosys SES(PP) Interview Experience 2019
- TCS Codevita Interview Experience - 2019
- TCS digital 2019 Interview Experience
- Amazon Interview Experience 2019 (SDE, DE, SE )
- Oyo Interview Experience (On-Campus 2019)
- Infosys SE / SES / PP Interview Experience 2019
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.