Tip 1: Solve at least two DSA questions every day.
Tip 2: Keep notes of the approach and revise twice a week.
Tip 3: Keep core concepts (OS, DBMS) at fingertips.
Tip 1: Use action keywords to rank your resume better.
Tip 2: Use numerical indicators to show the results or impacts of your projects.
It was an afternoon shift for me. The exam was closely proctored. The questions were easy to medium level.

Input: 'n' = 5 , ‘arr’ = [3, 4, 5, 1, 2]
Output: 3
Explanation:
If we rotate the array [1 ,2, 3, 4, 5] right '3' times then we will get the 'arr'. Thus 'r' = 3.
I went for a straightforward brute force approach. Since the array is originally sorted in ascending order, I simply traversed the array once while keeping track of the minimum element and its index. The index at which this minimum element occurred was the answer.

My approach is simple and linear. I initialize a counter to zero and then traverse both strings character by character. At each index, I check if the characters are different, and if they are, I increment the counter. After completing the traversal, the counter gives the total number of differing positions.
Topic: Effects of the US Tariffs on India (Focus: Ground-level effects on Indian Manufacturers).
There were 10 participants in GD.
I aim to initiate or conclude the discussion and participate at least 2–3 times in between. I try to stay on topic, put forward only relevant points, and highlight key facts and figures.



Input:
4 5
0 1 5
0 2 8
1 2 9
1 3 2
2 3 6

In the given input, the number of vertices is 4, and the number of edges is 5.
In the input, following the number of vertices and edges, three numbers are given. The first number denotes node ‘X’, the second number denotes node ‘Y’ and the third number denotes the distance between node ‘X’ and ‘Y’.
As per the input, there is an edge between node 0 and node 1 and the distance between them is 5.
The vertices 0 and 2 have an edge between them and the distance between them is 8.
The vertices 1 and 2 have an edge between them and the distance between them is 9.
The vertices 1 and 3 have an edge between them and the distance between them is 2.
The vertices 2 and 3 have an edge between them and the distance between them is 6.
1. There are no self-loops(an edge connecting the vertex to itself) in the given graph.
2. There can be parallel edges i.e. two vertices can be directly connected by more than 1 edge.
To solve Dijkstra’s algorithm, I first initialize the distance of the source node as 0 and set the distance of all other nodes to infinity, since we don’t yet know the shortest paths. I then use a priority queue (min-heap) to always pick the node with the smallest current distance.
When I pick a node, I look at all of its neighbors. For each neighbor, I check if the distance through the current node is shorter than the previously recorded distance. If it is, I update the neighbor’s distance and push it into the priority queue with this new value.
This process repeats until the priority queue becomes empty. In the end, the distance array will contain the shortest distance from the source to every other node in the graph.

(1) 1 x -> this means to push the element ‘x’ in the queue.
(2) 2 -> This means deleting the front element of the queue and returning it. If there’s no element in the queue, return -1.
In the output, you will see the output of queries of type 2.
In the queries, there will be at least one type 2 query.
You will be given two functions, ‘push’, and ‘pop’.
Your task is to implement the two functions.
Input: ‘q’ = 5
‘queries’ = [[1 3], [2], [1 4], [2], [2]]
Output: 3 4 -1
Explanation: After the first query, the queue is {3}. After the second query, the queue is {}, and we returned 3. After the third query, the queue is {4}. After the fourth query, the queue is {}, and we returned 4. After the fifth query, the queue is {}, and we returned -1(since there was no element at the time of the pop statement).
To implement a queue using a doubly linked list, I maintain two pointers front and rear. Enqueue operation is done by inserting a new node at the rear end, and dequeue operation is done by removing the node from the front end. Since the doubly linked list allows constant-time insertion and deletion at both ends, both operations run in O(1) time.
Basic HR questions and behavioural & situational questions were asked in this round.
Can you describe a situation where you had to make a difficult choice? What choice did you make, and why?
Tip 1: Choose from your experience.
Tip 2: Don't Bluff.
Tip 3: Highlight what you learnt from the situation.

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