Tip 1: Practice consistently every day, even if it's just for an hour—consistency builds confidence.
Tip 2: Mock interviews and peer discussions are incredibly helpful to identify blind spots and improve communication skills.
Tip 1: Keep your resume clear, concise, and limited to one page—highlight only the most relevant skills and experiences.
Tip 2: Use action verbs and quantify your achievements wherever possible to show impact (e.g., “Improved performance by 30%” instead of “Worked on performance”).
It was the DSA round, I was given two coding problems that tested both my problem-solving skills and understanding of core data structures.
The first question was of medium difficulty and involved implementing logic using arrays and hash maps. It mainly tested my ability to optimize for time and space.
The second question was more challenging and required the use of advanced data structures like trees or graphs. It evaluated not only my logic but also how I approached edge cases and explained my solution.
Throughout the round, the focus was on writing clean, efficient code and clearly explaining the thought process behind the solution. Time management was crucial, as both problems had to be solved within the allotted time.



Given an array of integers and a target sum, find a contiguous subarray that adds up to the given sum.
Step 1:
Initialize two pointers:
start = 0 (beginning of the window)
curr_sum = 0 (current sum of the window)
Step 2:
Loop through the array using an index end from 0 to n-1:
At each step, add arr[end] to curr_sum.
Step 3:
If curr_sum > target_sum,
keep removing elements from the start (i.e., subtract arr[start] and increment start)
until curr_sum <= target_sum.
Step 4:
If curr_sum == target_sum,
we’ve found the subarray!
Return start and end.



Given a binary tree and two nodes n1 and n2, find their Lowest Common Ancestor (LCA)—the lowest node in the tree that has both n1 and n2 as descendants.
Step 1:
Start from the root of the tree.
Step 2:
If the current node is None, return None.
Step 3:
If the current node matches either n1 or n2, return that node. (We found one of the nodes.)
Step 4:
Recursively search the left and right subtrees.
Step 5:
If both left and right recursive calls return non-null, the current node is the LCA.
If only one side is non-null, return that one upwards.
If both sides are null, return None.

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