First Round(Online Test for 90min): It consists of 20 MCQ’s (Technical and Aptitude questions) and 2 coding questions. The MCQ’s were not very difficult but were very tricky.
Coding question 1: Given a matrix, X of size N*M you need to go from point(1,1) to (N, M). From a point (i, j) in the matrix you can either jump to (i + X[i][j], j) or (i, X[i][j] + j). You cannot jump outside the matrix. Find out the minimum number of moves needed to reach a point(N, M) from (1, 1). If it is not possible to do so return -1.
Input : 2 //N 2 //M [1 1] // matrix X [1 1] Output: 2
Coding question 2: There is a fair in a city that contains N shops. These shops are arranged in a straight line located at 1, 2, 3, …, N positions. M persons are visiting this fair. Each person visits shops that are located between range L to R. The shops that are visited by the most number of people are said to be more popular shops. Your task is to determine the position of the three most popular shops. If two shops are visited by the same number of people, then print the one that contains the minimum position. The output should have the three most popular shops in increasing order.
Input: 6 // N shops 5 // M persons // L and R of M persons 3 5 2 3 4 6 1 6 5 6 Output: 3 4 5
Second Round(Technical for 45-60 min): The interviewer asked me to explain any one of my projects. Since I was more familiar with the web application project I chose it and started explaining. I gave a brief description of my project. He raised a few questions on the project. Since I used a database for web applications. He told me to write the schema for every table and constraints for the field mentioned in each of the tables. He also asked some SQL queries related to my project.
Tip: Always have complete knowledge about the projects you have done. Because sometimes the interviewer himself/herself chooses any one of the projects mentioned in your resume and starts raising questions on that.
Then he asked me 2 coding questions
Question 1: He asked me to design a dictionary and perform CRUD operations on the dictionary
C – create, R – read, U – update, D – delete.
I used Hash Map to design a dictionary. Then he asked me to write the code for that.
Question 2: Given an array of positive and negative numbers. You need to return the output array as alternate negative and positive numbers.
For example :
Input : arr = [1, 2, 3, -1, -4, 5] Output : [-1, 1, -4, 2, 3, 5]
In this example the no of positive numbers is high, so you need to place the remaining positive numbers at the end and also you should not change the position of negative and positive numbers (i.e. In this example [-1] is the first negative number in the input array…so you should place -1 first and follow by the first positive number  and so on)
He asked me to write an in-place algorithm for the above problem.
Third Round(Technical for 90min): In this round, there was a discussion in each of my projects. He asked me many questions related to my projects. Also, he gave me a scenario that is related to one of my projects and asked me how will you approach and tackle this situation. The discussion went for about 45 mins.
Then he asked me some OS questions
- What is a semaphore?
- What is the use of a semaphore with real-time examples?
- What is a critical section problem?
- Then he gave me a recursion code and asked me to explain the code step by step and write the output for the given code and also he asked me about the memory allocated during recursion.
- He asked me one coding question that is similar to the “Buy and Sell Stock” problem in Leetcode. https://leetcode.com/problems/best-time-to-buy-and-sell-stock/
Finally, he asked me how you will keep yourself updated with the latest technologies.
Tip: You should know each and every word of your Resume.
Fourth Round(HR Round for 5-10 min): In this round, the HR asked some general questions :
- Tell me about yourself
Finally, at the end of the interview, HR said that I was selected. I felt very excited and happy.
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course. In case you are prepared, test your skills using TCS, Wipro, Amazon and Microsoft Test Serieses.