I think the problem with interview questions is the following;<p>Asking candidates about algorithmic problems is great, if that&#x27;s what you&#x27;re hiring for. However, what has happened over the past decade is that a lot of companies who aren&#x27;t even close to solving those kind of problems (e.g. digital ad agencies, web dev &amp; mobile app shops) have started to ask these kind of puzzle questions in their interviews because &quot;that&#x27;s what Google does&quot; and if Google does it, well, then it must be good.<p>Interviewing is hard and hiring the right candidate is even harder. A lot of interviewers don&#x27;t even come close to having the experience of hiring a fellow colleague. A lot of these interviewers are basically hiring themselves meaning; if the interviewer has a PhD then the candidate they&#x27;re looking should also have a PhD. If the interviewer loves Haskell then the candidate should also have this quality, if the interviewer can reverse a binary tree then, well.. regardless whether or not this has any application to the position they are hiring for,<p>When I interview I try to look for smart people who can explain and articulate problems well. I&#x27;m looking for people who are thoughtful and have a strong sense of integrity and an absence of ego. If they can talk about building software and programming I can easily spot if they bullshit or not. Smart people can easily learn how to reserve a binary tree.