Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
Timing : Morning
Environment : It happened in the Computer Lab of my institution
All students were assigned a computer and we had to solve two questions on hackerrank



1. Consider that all elements in array ‘Height’ are unique.
2. It is guaranteed that a valid order always exists for the given array ‘Height’ and ‘Infront’.
Let there are 6 people, their heights are given by array ‘Height’ : [5, 3, 2, 6, 1, 4], and the number of people in front of them is given by array ‘Infront’: [0, 1, 2, 0, 3, 2]
Thus the actual order of people’s height in the queue will be [5, 3, 2, 1, 6, 4]
In this order, the first person in a queue i.e a person with a height of 5, has no person in front of them who is taller than him.
The second person in a queue i.e a person with a height of 3 has 1 person (person with height 5) in front of them who is taller than him.
The third person in a queue i.e a person with a height of 2 has 2 people (people with height 5 and 3) in front of them who are taller than him.
The fourth person in a queue i.e a person with a height of 1 has 3 people (people with height 5, 3, 2) in front of them who are taller than him.
The fifth person in a queue i.e a person with a height of 6 has no person in front of them who is taller than him.
The sixth person in a queue i.e a person with a height of 4 has 2 people (people with height 5, and 6) in front of them who are taller than him.
We can observe this is the only possible order that is possible according to the array ‘Infront’.
Sort people by heights. Then iterate from shortest to tallest. In each step, you need an efficient way to put the next person in the correct position. Notice that the people we’ve already placed are not taller than the current person. And the people we place after are taller than the current. So we have to find the first empty place such that the number of empty positions in front of it is equal to the Infront value of this person.



The Number of elements smaller than 4 on its right side is 2.
The Number of elements smaller than 2 on its right side is 1.
The Number of elements smaller than 1 on its right side is 0.
The Number of elements smaller than 5 on its right side is 0.
Hence the count array is [2,1,0,0]
The key idea is similar to merge sort divide the array into two parts until the base case is reached that is when the size is less than or equal to 1.
It was a debugging round. We were given a code and we had to find bugs and correct them.
Timing : Morning
Environment : Shortlisted candidates were seated in a room and we were given bugged code on a paper.
There was code of in-place merge sort in a linked list and there were a few bugs in it both logical and optimisation ones. We needed to correct them.
Tip 1 : Do not rewrite the whole code. Only change the segment which is wrong.
Tip 2 : Find as many bugs as possible.
Standard DS/Algo round with 2 coding questions



1. The string is made up of lowercase English alphabets, ‘?’ and ‘:’ special characters.
2. The alphabets may be repeated in the string.
3. The expression which uses ‘?:’ is known as ternary expression and the expression will be evaluated as (condition ? value_if_true : value_if_false).
Idea is that we traverse a string make first character as root and do following step recursively .
1. If we see Symbol ‘?’ then we add next character as the left child of root.
2. If we see Symbol ‘:’ then we add it as the right child of current root.
Do this process until we traverse all element of the input string




We can use top down DP for it. Lets say the string is "234" , so we have option to either take decode 2 first and then move on to the next part or we can decode "23" together and move onto the next part. We cannot take more than 2 characters at a time as they will exceed 26. So our dp[i] = dp[i+1] + dp[i+2]. And then we can have appropriate base conditions like if we exhause the string then return 1 and if in between we take two characters and if it exceeds 26 then return 0 and so on.

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