Tip 1: Consistency is the key.
Tip 2: DSA is mandatory to get your dream package, as it tests your creativity and problem-solving ability.
Tip 3: Have thorough knowledge of the areas you mention in your resume.
Tip 1: Ensure your resume clearly reflects that you are both hardworking and smart through your skills, achievements, and experiences.
Tip 2: Highlight projects based on trending technologies to showcase your adaptability and relevance in the current market.
The test consist of 10 question - 8 question MCQ mix of DSA + Operating system (process synchronization + concurrency based) + DBMS - Normalization Based , followed by 2 coding question one of medium and second was of hard level.


So basically its look hard - but its a tricky problem so basically I use difference idea,
1.arr[a] += k
arr[b+1] -= k
Because this “marks” the start of an increase at a, and the end of it after b.
2.Build final array using prefix sum
a) Traverse the array once, maintain a running sum.
b) The running sum at each point gives the actual value.
c) Keep track of the max while traversing.

So basically in my mind it strikes its a dp problem and need to define the states so I go through step by step
1.Define the states
dp[day][time] = maximum number of good wakeups possible starting from this state.
2. Transition (choices per day)
On day i, if current wake time = t:
Sleep for a[i] hours → new wake = (t + a[i]) % h.
OR delay → sleep for a[i] - 1 → new wake = (t + a[i] - 1) % h.
So I need to take the maximum of the two options.
and then just thought of base case and then code it
The interview started with my brief introduction about me and discussion about the topics mentioned in the resume along with the discussion on the project and the schema of the project used. I use MongoDB in my project as a Database. So ask why u use MongoDB why not anything else and then started with all the schema involved in my project - so basically ask why's so much schema in your project and then proceed with some question of MongoDB queries involved in my project. After that - Ask 1 DSA question - one is easy-medium other one is medium. and then asked whether you know system design I replied I know basic - like SOLID principle and all - so they asked question around that area



Let us consider 'K' is 3, an element at index 4 in the sorted array, can be at indexes 1, 2, 3, 4, 5, 6, 7 in the given array, because the absolute difference of all these indices with 4 is at most 3.
So initially - I replied simply sort it and the complexity was O(nlogn) they replied if it was so simple so why I should ask this question the expected time complexity is O(nlogk).
Then I think step by step and suddenly heap idea come to the mind because of the fact that The main idea is to sort the array efficiently from left to right. For each position i, we look at the next k elements (from i to i + k) and find the smallest element in that range using a min-heap.
We don’t need to look at elements to the left of i because they are already in their correct positions. By always placing the smallest available element at the current position, the array gets sorted efficiently as we move from left to right.
1: Initialize a Min-Heap
Create a min-heap to keep track of the next k+1 elements.
Because for the current position i, the smallest element that can go here will be somewhere in [i, i+k].
2: Fill the Initial Heap
Push the first k+1 elements of the array into the min-heap.
This ensures the heap contains all possible candidates for the first position.
3: Place the Smallest Element
Remove the smallest element from the min-heap and place it at position i in the array.
This guarantees that the current position is correctly sorted.
4: Slide the Window
Move to the next position i+1.
Add the next element from the array (at i+k+1) into the min-heap if it exists.
remove the smallest element from the heap and place it at i+1.
5: Repeat the process
So it was around the discussion on real life problem. I messed up this round - As I was not ready for it I would had though they ask about System Design - Pattern Design principles and all.
Suppose you want to design an app like uber how would u start - then how would you get the coordinates of source and destination.
We had 20 minutes discussion about that - interview was not satisfied with my answer.
Ten-pin Bowling - I want to hack this game. It doesn't matter where you hit , whether in the middle or in the leftmost or the rightmost all pin should fall at any case. How would u hack it? It means in a way he want to know my creativity how I will be doing it in the coding language. What concept I would be using. I replied I hit it at the leftmost and then leftmost will push his right and the series continue - so the interviewer probably somehow agreed but not completely.

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