There is a difference b/n not solving a problem and being actively screwed by the interviewer! During phone on-screen was given a problem which I correctly solved recursively. Interviewer asked for iterative solution, and I gave him correct iterative solution with O(n) extra space, interviewer asked to improve space usage - and this is where I went off track. Yet interviewer was actively encouraging my approach, verbally acking every step. I felt, however, that something is off, so upon finishing, asked to confirm, whether it’s the expected solution. Interviewer said: “Yes, pretty much” and promptly proceeded to finish phone screen 30 mins early. Then, it turned out that he wrote a negative review, not recommending me for onsite. If he knew that I am on wrong track, during the interview, he effectively was luring me into the trap and shut the door as soon as I went all the way in, not leaving me any chances to back out and recover.
It’s always a two-way evaluation. If they screwed you during the interview they probably would do so if you get hired. Avoid these loser companies
I wouldn’t judge the whole company by a single engineer. However I feel they should step up interview training.
I would. It means they don’t have a good practice in place. It’s your call though. I usually ditch the companies that treat me that way.
Also do you really want to go to Uber? Much better options now
Every 1 of 4 interviewer is like that. That is why interview is total luck for many qualified peopple. That one interviewer might have unconscious bias or have bad communication skills or lives in his own world and what not. I saw many sane engineers acting irrationally when they become interviewer. I actually learn more about a person when one becomes an interviewer. It tells you a lot about the person just like team sports or driving can sometime show people’s other side. Interview is random once one becomes qualified. There are so many interviewers who don’t know how to make interviewees succeed and make them fail or have their own weird standard. Alas, that is the world we live in and that is human society.
And what was wrong in asking for iterative tree traversal? It would’ve given you extra credits as not many candidates could even explain the idea how to do it.
Inconsistent interview process is an indication of company’s culture
Perhaps, I missed that. The questions were about tree traversal and your thoughts of optimizations. What was inconsistent?
What did you expect? The interviewer to argue with you about how crappy is your solution? His job is to observe your thought process and make a decision wether to go forward in the process. He is not your mentor to correct you or help you. Step up and move on.
You probably have the same mentally as the interviewer. If you give an interviewee a question and he solve it you later asked a follow up question he solves it and the third follow up question and he could not do it and you accept the solution in his face while he still have some time remaining, you know that solution is not right and the write a bad review for that candidate; that is pure evil
Not heard good things about culture at Uber. They seem to have a lot of assholes
Not really the case
I suggest you stop asking interviewers for hints (acking your solution for example). If you can solve then solve it yourself and without hints.
I have had a very negative experience interviewing with Uber myself. In my experience they have some very nasty senior engineer staff there. They just want to feel smarter than the interviewee. Very toxic. I would not interview there again. I had a terrible in-person experience with one guy in particular. He asked a question outside the job description and domain knowledge of my resume and sat there the whole time frowning at me and getting frustrated and short with me. Rolling his eyes. Worst interview I’ve ever had.
Great story. Do you have a question too?
Not such a great story from my perspective! The initial question was pre-order traversal of binary tree, the follow-up where I went off track was to write an iterator that executes same traversal.
So, you used a stack to do that?