店面45分钟做了2题,然后onsite
- Programming Interview (45 minutes)
I was asked 2 problems. The first was easy, but then had to figure out how to make it more efficient. The interviewer gave a hint, and I was able to finish the optimization and give the Big-O of it the time complexity. The 2nd problem was a graph traversal maze type problem. I was at 10 minutes left when this was posed. I knew the exact solution was a DFS traversal, and I described the solution to my interviewer, but ran out of time to finsih writing it. I think I was penalized for not writing the full code. - Harder Programming Interview (45 minutes)
I was asked a dynamic programming question. It seems easy at first. Had to do with integer manipulation. But was hopelessly stuck, and then they gave me another one that was slightly easier that I got much further with, and ran out of time, but was 95% done with the code. The interviewer said I had the right solution at the end and just had to fix the loop iteration. But in my experience, if you don’t finish the code 100%, they seem to hold it against you, even if you already figured the problem out.
Lunch Break (30 min) with a current engineer
- Behaviorial Interview (with small programming task at the end) (45 minutes)
They asked me pretty much what you are told by your recruiter in the documents they send you for preparation. They asked stuff like “Tell me about a time you disagreed with your manager, and what did you do about it.” Of course, I really hate these sort of questions where they are essentially goading you into speaking badly about a prior employer, even if you have nothing bad to say anyway. Take my advice, if you have never had a serious disagreement wih your manager (why would you if usually people managers don’t decided on technial direction), just make something up, or adopt something based on a possible disagreement with a coworker or manager, and spin it in a positive light. Pretty annoying interview, but I thought this went well too. - System Design Interview
They asked to design an API that accomplishes a task. It was a really weird interview where the interviewer wanted a specific outcome, and you had to keep proposing ideas until it matched where they were going. Very freeform, but at the same time, they want something really specific. I thought it went well enough.
They took almost 2 weeks to get back to me. I felt like the recruiter was really attentive before I got to the interview, but once I got back home, I was their 2nd priority.
I thought I did well during the interview. Well enough to be hired. I am at a loss as to how they evaulated me, and unfortunately, these companies never give any sort of feedback to see what you could have done well. I have interviewed worse at other companies and gotten offers.
I didn’t 100% finish one of the problems but I had the exact solution in mind and described it and wrote pseudocode, but ran out of time to write the whole thing. I think that maybe they put too much emphasis on writing the full program, and not enough on your thought-process. Your thought-process matters, and they should put more weight on it.
I have more than 15 years of industry experience, so I am kind of shocked that I was not selected given that I did well enough to show I know data structures and algorithms well, and had more experience then the sum total experience of all the interviewers put together.
While I know the coding skills are what matters most, it seems they don’t care about your resume really or what experience you have. In way that is good, in another way, that is really bad.
I am at a loss as to why they did not select me, but I hope to try again in the future.