After clearing the Online Assessment (OA), I received an invitation for the first technical interview. I was excited but nervous because I knew the interviewer would evaluate not only my coding skills but also my problem-solving approach and understanding of my projects.
The interviewer started by asking me to introduce myself and explain one of the projects on my résumé.
I explained the project's architecture, the technologies I used, and how the frontend communicated with the backend through REST APIs.
The interviewer asked:
I answered based on my implementation and discussed some improvements I would make for a production environment.
The interviewer then shared a coding problem:
Problem: Given a string, find the length of the longest substring without repeating characters.
Example:
Input: abcabcbb
Output: 3
I initially explained the brute-force approach, which checks different substrings. Then I proposed an optimized sliding-window solution using a map to track the last-seen position of each character.
The interviewer asked me to explain why the left boundary of the window only moves forward. I walked through the example and explained how this avoids unnecessary repeated work.
Complexity: O(n) time with an appropriate character-position map.
Last updated Oct 13, 2026
Next, the interviewer asked about object-oriented programming.
Questions included:
I explained the concepts with examples from application development, particularly how composition helps build flexible and maintainable systems.
Before ending the interview, the interviewer asked whether I had any questions about the team.
I asked about the engineering challenges the team was working on and the expectations for a new SDE.
The main lesson from this round was that I needed to explain my reasoning clearly, discuss time and space complexity, and understand every project listed on my résumé.
After the first technical round, I progressed to the second round. I expected deeper coding questions and more detailed follow-ups about my decisions.
The interviewer started with a behavioral question:
“Tell me about a time you disagreed with a teammate about a technical decision.”
I used the STAR method to structure my answer:
The interviewer asked follow-up questions about my personal contribution and how I would handle a similar situation in the future.
This made it clear that I needed specific, genuine examples rather than generic answers.
The interviewer presented the following problem:
Problem: Given a collection of intervals, merge all overlapping intervals.
Example:
Input:
[[1,3], [2,6], [8,10], [15,18]]
Output:
[[1,6], [8,10], [15,18]]
I first clarified the input assumptions. Then I explained that sorting the intervals by their starting values would make the problem easier.
My approach:
The interviewer asked me to explain the complexity.
I answered:
The interviewer then asked about edge cases, including an empty input, duplicate intervals, and intervals that touch at their endpoints.
The interviewer asked whether I could reduce the additional space used.
I explained that the intervals could potentially be merged in place after sorting, provided modifying the input was allowed. However, the output could still require linear space if a separate result was required.
This follow-up tested whether I understood the trade-offs rather than merely memorizing the standard solution.
The interviewer also asked questions related to Ownership, Dive Deep, and Learn and Be Curious.
Examples included:
I focused on explaining the context, my specific actions, and the measurable or observable outcome.
At the end, I asked about the team's technical challenges, how engineers handle production issues, and what success looks like for a new SDE during their first six months.
Technical Round 2 reinforced three important lessons: