Tip 1: Practice DSA consistently with a focus on understanding patterns rather than memorizing solutions.
Tip 2: Analyse every mistake after solving problems and revise weak topics regularly.
Tip 1: Keep your resume concise and impact-driven, highlighting measurable results and real contributions instead of generic responsibilities.
Tip 2: Showcase strong projects with clean GitHub links, and ensure every skill mentioned is something you can confidently explain and defend in an interview.



Step 1: I first thought of a brute-force approach where I check all possible substrings and verify if each substring has unique characters. I realized this would take too much time for large inputs.
Step 2: I identified that the problem could be optimized using the sliding window technique with two pointers to maintain a window of unique characters.
Step 3: I used a hash set (or map) to keep track of characters in the current window. When a duplicate character appeared, I moved the left pointer forward until the window became valid again.
Step 4: At each step, I updated the maximum length of the valid window.
Step 5: This reduced the time complexity to O(n), and the solution handled all edge cases efficiently.



For the given 5 intervals - [1, 4], [3, 5], [6, 8], [10, 12], [8, 9].
Since intervals [1, 4] and [3, 5] overlap with each other, we will merge them into a single interval as [1, 5].
Similarly, [6, 8] and [8, 9] overlap, merge them into [6,9].
Interval [10, 12] does not overlap with any interval.
Final List after merging overlapping intervals: [1, 5], [6, 9], [10, 12].
Step 1: I first understood the problem clearly and identified that overlapping intervals need to be combined into a single interval.
Step 2: I realized that sorting the intervals by their start time is necessary to process them in order.
Step 3: After sorting, I initialized a result list and started comparing the current interval with the last merged interval.
Step 4: If the intervals overlapped, I merged them by updating the end time; otherwise, I added the interval as a new entry.
Step 5: Finally, I returned the merged list, which handled all edge cases efficiently with optimal time complexity.



Step 1: I first thought of a brute-force approach, checking all possible subarrays and calculating their sums. This helped me understand the problem clearly, but the time complexity was too high.
Step 2: I realized the brute-force solution was inefficient, so I focused on optimizing it by avoiding repeated sum calculations.
Step 3: I applied Kadane’s Algorithm, where I maintained a running sum and reset it whenever it became negative, while tracking the maximum sum found so far.
Step 4: I handled edge cases like arrays with all negative numbers.
Step 5: The final solution worked in O(n) time and O(1) space, which met the expected efficiency.
Timing: The round was conducted during regular working hours, not late night.
Environment: The environment was calm, professional, and well-organized, which made the conversation comfortable and smooth.
Other Significant Activity: The recruiter clearly explained the role, team expectations, and overall hiring process, and also discussed my background and career goals.
Interviewer: The recruiter was friendly, attentive, and supportive, creating an open discussion rather than a stressful interview. The interaction felt more like a two-way conversation focused on mutual fit.
Tip 1: Be structured and honest: I answered in a clear flow (context → action → outcome) instead of long stories.
Tip 2: Connect answers to impact: I linked my experiences to problem-solving, ownership, and learning mindset.
Tip 3: Show growth mindset: For weaknesses or failures, I focused on what I learned and how I improved.

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?