I was approached by recruiter for the position. I have been thinking to switch jobs, so decided to give it a shot. Definitely one should revise data structures, algorithms and their runtimes and traditional problems like knapsack producer consumers etc. Phone screen was easy leetcode style question. I was able to solve and write code for the first problem. For second problem we were short on time, hence I explained the approach with pseudo code. Interviewer was satisfied.
Afterward virtual onsite was scheduled for whole day. I logged in in the morning, recruiter explained process and what to expect. First hour was with two engineers. After initial introduction, I was asked to solve the problem. I suggested two solutions which we discussed. I explained runtime for both approaches. I did mix up runtimes but corrected while explaining the solution. Second interview was also with two engineers. Within few mins I had this feeling that one of the interviewer is going to be challenging. For any clarification questions he kept saying basic trivial design or I don’t care. But in the end he wasn’t satisfied with the solution. You know not all interviewer wants you to succeed. Some of them are really trying to pull you down. Second interviewer also asked another problem to solve. I suggested two solutions, explained whole thing including runtime. I implemented most of it. He kept adding complexity to the question and I was giving solutions. After 2 hours we took a break of 15 mins. After 15 mins I was told it’s done for the day. Recruiter will contact me further. I knew this is the end.
Pros: I was interviewing for any position after looong. So yes I am rusty with academics, but I was good with problem solving. I know where to focus.
Cons: Interviewer should be explicit about problem being represented. Conveying solve it in simple terms sends mixed signal. Recruiter could have been more professional to give follow up call/email to tell me that I don’t meet their criteria.