Tip 1: Practice at least 150 medium questions.
Tip 2: Mention decent projects from your past experience or college.
Tip 1: Don’t place too much bullets and whitespaces
Tip 2: Use a proper and readable font. Use overleaf for latex resumes.
It was late at night around 9 pm, the camera supervision was required. Round has 2 DSA problems. One easy and one medium.



For ‘arr’ = {1, 0, 0, 2, 1}.
‘Answer’ = {0, 0, 1, 1, 2}.
‘Answer’ should contain all 0s first, then all 1s and all 2s in the end.
The first thing that clicked my mind was to apply the sort on the array.To further reduce the complexity i decided to count the number of 0s ,1s and 2s and store it in a map and then print out the output as per their frequencies which reduced the TC from nlogn to n.



A simple method is to generate all possible triplets and compare the sum of every triplet with the given value.
By Sorting the array the efficiency of the algorithm can be improved. This efficient approach uses the two-pointer technique. Traverse the array and fix the first element of the triplet. Now use the Two Pointers algorithm to find if there is a pair whose sum is equal to x – array[i]. Two pointers algorithm take linear time so it is better than a nested loop.
Round 1- 2 DSA problems and bit if intro/interests.



The start time of one chosen meeting can’t be equal to the end time of the other chosen meeting.
'N' = 3, Start = [1, 3, 6], End = [4, 8, 7].
You can organize a maximum of 2 meetings. Meeting number 1 from 1 to 4, Meeting number 3 from 6 to 7.
Round - 2 , Basic questions on Leadship Principles and 2 DSA questions



Graph where all vertices are connected with each other has exactly one connected component, consisting of the whole graph. Such a graph with only one connected component is called a Strongly Connected Graph.
This can be easily solved by applying DFS() on each component. In each DFS() call, a component or a sub-graph is visited. We will call DFS on the next un-visited component. The number of calls to DFS() gives the number of connected components.



The given linked lists may or may not be null.
If the first list is: 1 -> 4 -> 5 -> NULL and the second list is: 2 -> 3 -> 5 -> NULL
The final list would be: 1 -> 2 -> 3 -> 4 -> 5 -> 5 -> NULL
Make a dummy node for the new merged linked list
Now make two pointers, one will point to list1 and another will point to list2.
Now traverse the lists till one of them gets exhausted.
If the value of the node pointing to either list is smaller than another pointer, add that node to our merged list and increment that pointer.
Last round - 1 DSA problem and questions about Leader ship principles based on past experience.



1. The grid has 0-based indexing.
2. A rotten orange can affect the adjacent oranges 4 directionally i.e. Up, Down, Left, Right.
Create an empty queue Q.
Find all rotten oranges and enqueue them to Q. Also, enqueue a delimiter to indicate the beginning of the next time frame.
Run a loop While Q is not empty and do the following while the delimiter in Q is not reached
Dequeue an orange from the queue, and rot all adjacent oranges.
While rotting the adjacent, make sure that the time frame is incremented only once. And the time frame is not incremented if there are no adjacent oranges.
Dequeue the old delimiter and enqueue a new delimiter. The oranges rotten in the previous time frame lie between the two delimiters.
Return the last time frame.

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
How do you remove whitespace from the start of a string?