Tip 1 : Practice as much questions as you can from various coding platforms from the beginning but always remember that it's never late to start. It will help you to develop your logic building skills and gradually, you will be able to solve questions quickly. Solving code challenges is a great way to keep your skills sharp for interviews.
Tip 2 : Al least keep yourself aware to the basics of new emerging technologies.
Tip 3 : Prepare some good projects and keep complete details about them as well.
Tip 1 : Make it short and eye-catchy.
Tip 2 : Mention your academic and professional details properly with duration.
Tip 3 : Be honest about yourself. Don't put anything which is likely to cause you trouble during the interview.
The round consisted of 5 sections. The Coding section had 2 questions, CS mutiple choice section had 8 MCQs, Problem solving multiple choice section had 7 MCQs, Advanced section had 1 programming question and the Subjective section had 2 questions. Each MCQ earned 5 marks for correct answer and -2 for incorrect answer.



There are three occurrences of the word 'NINJA' in the following grid:

1) Given word will not be a single character.
2) If occurrences of the given word start from two different cells, then these two occurrences are considered to be different.
Consider the word 'XYX' to be searched in the string 'AXYXB'. Here, we find an occurrence of 'XYX' at index 2 going in the right direction, and another occurrence at index 4 going in the left direction.
Although these two words correspond to the same word, they will be considered as different occurrences.
I used recursive approach to solve this problem.
First I check every cell of the grid say G, if the cell contains the first character of the word say W, then I search for the complete word in all 8 directions by calling a function with parameters - index say (i,j) of grid to be looked, the index say k of word to be searched and the direction in which searching is to be done.
If the G[i][j] = W[k], then it calculates the next index of grid to be looked based on the direction and called the function recursively until the indexes are within the range and the word is matching.
A global variable was used to keep track of number of words found. It was incremented every time when the complete word founds.



The leaderboard scores are in descending order.
The game scores are given in ascending order.
First of all I removed the duplicates from the given leader board scores.
In each iteration say i, I kept the track of current score by taking the maximum of scores till ith attempt.
Then, I searched for the greatest lower bound of current score. The index of greatest lower bound plus one will be her current position.
If there is no number lesser than current score then her current position will be equal to the number of elements in the list plus one.
This was a technical round held over the zoom video call around 11:00 hours. I was given a code-pair link where I had to code. The interview started with the question - "Tell me about yourself." Then, he asked the subjects I studied and asked few things about data structures and algorithms. He asked my preferred language of coding and gave two coding problems to solve. Finally, he asked me to explain my project and then gave me a scenario where he extended the project and asked about my design and database approach for that case.



1. The array can have duplicate elements.
2. Each of the array elements must belong to exactly one of the 'K' subsets.
3. The elements chosen for a subset may not be contiguous in the array.
Firstly I calculate the sum of the array and if that sum is not divisible by 3, then the array cannot be divided and if the sum is divisible, then our target is shifted to find the sub-array whose sum is equal to the sum of array divided by 3 which can be found using the recursive approach.



1. Each array element should belong to exactly one of the subsets.
2. Subsets need not always be contiguous.
For example, for the array : [1, 2, 3], some of the possible divisions are
a) {1,2} and {3}
b) {1,3} and {2}.
3. Subset-sum is the sum of all the elements in that subset.
Input: 'n' = 5, 'arr' = [3, 1, 5, 2, 8].
Ouput: 1
Explanation: We can partition the given array into {3, 1, 5} and {2, 8}.
This will give us the minimum possible absolute difference i.e. (10 - 9 = 1).
I proposed a solution where we will find all the possible sums by including an element and not including that element and then using those possible sums, we will find the minimum difference.
This was also a technical round held over the zoom video call around 14:00 hours. In this round also, I was given a code-pair link where I had to code. First of all, he asked me to introduce myself. Then, he asked about tree data structure and its practical implementation. Then, he gave me two coding questions to code. At last, he asked about the operating systems, i.e., Windows, Linux and have I ever installed Linux in my system by deleting Windows.



I designed a function in which I checked whether a number say n is prime or not by running a loop from 2 to root n and if the number is divisible by any of this number I returned false, else true.
Lastly I called this function repeatedly for range a to b and print numbers for which the function returned true.



This was HR round held over the zoom video call around 15:30 hours. The interviewer asked me to go through the resume and then discussed about my current internship, how long I have been doing the internship, what is the project, what technology is being used in the project and what I had learnt so far, etc. Then we discussed about the project that I had developed in my last semester and he asked my contribution to the project. Then the discussion was shifted to DBMS and he asked what is relational database and asked me to tell the SQL query to remove the duplicate rows. Finally, he asked me about the cloud, its usage and AWS(Amazon Web Services).

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
What is recursion?