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.
In first round, I was not able to complete code but explained the solution.
Tip : Try to practice coding even if you have 10 years of experience.



1. If ‘k’ is not present in 'arr', then print -1.
2. There are no duplicate elements present in 'arr'.
3. 'arr' can be rotated only in the right direction.
Input: 'arr' = [12, 15, 18, 2, 4] , 'k' = 2
Output: 3
Explanation:
If 'arr' = [12, 15, 18, 2, 4] and 'k' = 2, then the position at which 'k' is present in the array is 3 (0-indexed).
This question could be solved using Binary search which would have a time complexity of O(log n). The approach would be:
1. Find the mid = (low + high)/2
2. If key is present at middle point, return mid.
3. If arr[low….mid] is sorted
a) If key to be searched lies in range from arr[low] to arr[mid], apply binary search for arr[low..mid].
b) Else apply for arr[mid+1..high]
4. Else (arr[mid+1..high] must be sorted)
a) If key to be searched lies in range from arr[mid+1]
to arr[high], apply binary search for arr[mid+1..high].
b) Else recur for arr[low..mid]



Greedy approach can be used here. If observed carefully , it can be concluded that it is always optimal to shift the elements towards the median element among the persons or the center person among all the persons present. The number of jumps will always be minimum when we shift points to the median
Steps :
1. Create an array/ list to store the indexes of the persons present.
2. Find the median of the created list. All the other persons will now be made to sit around this person as this will give the minimum number of jumps that are required to be made.
3. Initialize a variable ans that stores the minimum jumps required.
4. Now traverse the created list and for every index i find the median element and update ans as:
ans= ans+ abs(arr[i] – medianElement)
At the end, ans will store the final result.
Time complexity : O(n)
Auxiliary Space : O(n)
Round 2 went very good. They gave a design question in this round.
Design file searching functionality for windows/mac (indexing of file names).
Tip 1 : Design your structure and functions according to the requirements and try to convey your thoughts properly to the interviewer so that you do not mess up while implementing the idea .
Tip 2 : Before you jump into the solution always clarify all the assumptions you’re making at the beginning of the interview. Ask questions to identify the scope of the system. This will clear the initial doubt, and you will get to know what are the specific detail interviewer wants to consider in this service.
The third round was also a design round.
Design MakeMyTrip .
Tip 1: Firstly, remember that the system design round is extremely open-ended and there’s no such thing as a standard answer. Even for the same question, you’ll have a totally different discussion with different interviewers.
Tip 2:Before you jump into the solution always clarify all the assumptions you’re making at the beginning of the interview. Ask questions to identify the scope of the system. This will clear the initial doubt, and you will get to know what are the specific detail interviewer wants to consider in this service.
Tip 3 : Design your structure and functions according to the requirements and try to convey your thoughts properly to the interviewer so that you do not mess up while implementing the idea .

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