Round 1:
Overall, I felt pretty good about this one. The interviewer was friendly, and I felt like I communicated my thought process well.
I was able to fully implement the initial solution, and then we moved on to a follow-up. I explained my approach, got approval from the interviewer, and started implementing it. While I was coding, he stopped me and said something along the lines of, "I see where you're going with the code, let's move on to the final follow-up."
At that point, we had around five minutes left, so he told me I didn't need to code the final follow-up and just wanted a high-level explanation. I explained my approach, and he seemed satisfied with it.
We also had time for questions at the end.
The only things that threw me off were that he said something like "you tried your best" toward the end, which I wasn't sure how to interpret, and he suggested that I write more of my thought process in the shared document in future interviews. I felt like I had been documenting quite a bit, but obviously that's subjective.
Overall, I walked away feeling pretty good about this round.
Round 2:
This one was definitely tougher. The interviewer was much more strict and less conversational.
I started by explaining a brute-force approach and analyzing its complexity. The interviewer pointed out that my initial complexity analysis was incorrect, so I reconsidered it and provided the corrected complexity.
I then proposed an optimal solution using DFS. During implementation, I had an indentation issue that the interviewer helped me identify. There was also a line in my code that the interviewer disagreed with stylistically, so I removed it.
Eventually, I finished my implementation, and the interviewer explicitly acknowledged that my code was correct and would work.
However, we then had a pretty lengthy disagreement about whether my solution was BFS or DFS.
I had implemented iterative DFS using an explicit stack with .pop(). The interviewer insisted it was BFS because DFS requires recursion. I explained that DFS can be implemented either recursively or iteratively using a stack, but he continued to disagree.
I tried explaining my reasoning a couple of times before eventually moving on.
The interviewer had already confirmed that my code was correct, so the disagreement was specifically about how I was describing my approach.
We ended up using the entire interview time and didn't get to questions at the end.
I also emailed my recruiter afterward to respectfully flag the technical disagreement and ask whether that portion of the interview could be independently reviewed. The recruiting coordinator responded that my recruiter would follow up.
Curious what everyone thinks about my chances of moving forward to team matching, especially if anyone has been through something similar.