Tip 1: Focus on strengthening your fundamentals (DSA, OS, DBMS, OOPs) before moving to advanced topics.
Tip 2: Practice coding problems regularly and analyse multiple approaches instead of memorizing solutions.
Tip 3: Build and work on real-world projects to apply concepts, improve problem-solving.
Tip 1: Keep your resume concise and highlight strong fundamentals, relevant projects, and measurable impact rather than listing everything.
Tip 2: Be honest about your skills and experiences, and ensure you can confidently explain anything mentioned on your resume.
It was an online assessment consisting of a coding problem and some computer fundamentals.

All the nodes are zero-based.
Input:
N=5, M=5, edges=[(0, 1), (1, 4), (2, 3), (2, 4), (3, 4)], src=1
Output: 1 0 2 2 1

Explanation: The path from vertices are:-
(1->0) = 1 -> 0, path length is 1.
(1->1) = 1 -> 1, path length is 0.
(1->2) = 1 -> 4 -> 2, the path length is 2.
(1->3) = 1 -> 4 -> 3, path length is 2.
(1->4) = 1 -> 4, the path length is 1.
Hence we return [1, 0, 2, 2, 1]
Step 1: I first analysed the problem and identified that it was a graph-based problem involving minimum cost / shortest path between nodes.
Step 2: Since the graph had non-negative edge weights, I decided to use Dijkstra’s Algorithm, as it is optimal for finding the shortest path in such scenarios.
Step 3: I represented the graph using an adjacency list to efficiently store the nodes and edges, considering the input size constraints.
Step 4: I initialized a distance array with infinite values for all nodes except the source node, which was set to 0.
Step 5: I used a min-heap (priority queue) to always pick the node with the minimum current distance.
Step 6: For each extracted node, I relaxed all its adjacent edges by updating their distances if a shorter path was found.
Step 7: This process was repeated until all reachable nodes were processed and the minimum distances from the source were finalized.
Step 8: Finally, I returned the distance array, assigning -1 to nodes that were not reachable from the source.



[1, 2, 3, 4] is a strictly increasing array, while [2, 1, 4, 3] is not.
Step 1: I started with a brute-force recursive approach to check all possible subsequences, but it was inefficient.
Step 2: The interviewer suggested optimizing, so I introduced DP by storing results of subproblems in an array.
Step 3: I explained the optimized DP solution with O(n²) time complexity, which the interviewer was satisfied with.



Consider the array {2,1,5,6,3,8} and 'K' = 3, the sorted array will be {8, 6, 5, 3, 2, 1}, and the 3rd largest element will be 5.
1) Kth largest element in an array is the kth element of the array when sorted in non-increasing order.
2) All the elements of the array are pairwise distinct.
Step 1: Initially, I thought of sorting the array and picking the k-th largest element.
Step 2: The interviewer asked for a better solution, so I used a min-heap of size k.
Step 3: By maintaining the heap efficiently, I achieved an optimized solution with better time complexity, which was accepted.
This round involved a mix of Operating Systems, DBMS, OOPs, and Computer Networks.
Tip 1: Read Operating System Concepts by Galvin thoroughly to build strong conceptual clarity.
Tip 2: Focus on understanding real-world use cases of OS concepts like synchronization and memory management.
Follow DBMS notes from any channel or a book.
The round was conducted during normal college hours and did not extend into late night. The environment was structured and discussion-oriented, allowing open communication and logical thinking. The discussion involved understanding requirements first, followed by designing the system step by step with clarifying questions. The interviewer was patient and interactive, guiding the discussion and encouraging reasoning behind design choices.
Design a scalable URL Shortening Service (similar to bit.ly).
The problem involved discussing functional and non-functional requirements, high-level architecture, database schema, scalability considerations, and handling high traffic efficiently.

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