Thank goodness we hired someone who can reverse a b tree on a whiteboard (2016)
I  partially disagree.<p>I completely agree that &quot;trick&quot; questions only select for people comfortable with trick questions.  It doesn&#x27;t hurt if someone who is good at them that is on the team but let it happen organically -- and let it be a non-jerk, which is more important!<p>I completely agree that coding problems can be excuses for jerks to nitpick, and about the only &quot;good&quot; thing that could come out of such a situation is that the candidate learns that the company employs jerks and doesn&#x27;t mind them talking to candidates.<p><i>However:</i><p>The whiteboard can be a welcoming tool if used right.  How do you think, how do you talk about the problem, do you actually know the basics?<p>We use Java, C++, Python and Javascript.  We do want you to know one of them.  We don&#x27;t care, in the interview if you forget or misname the name of a routine, or get the arguments backwards (you&#x27;re not in front of a computer; you don&#x27;t have to worry about your typing speed, looking up the name, unfamiliar settings on the machine you&#x27;re in front of, house style etc).  We don&#x27;t care if you forgot a semicolon or even a closing brace, much less a #include.  Use whichever language you&#x27;re most comfortable from the set you&#x27;d be using in your job.  The best &quot;problems&quot; should be less than a dozen lines, even without any fancy tricks.<p>We pick something boring, say from the standard library, and nothing tricky like a hash table.  <i>Really</i> boring like floor().  If you can&#x27;t figure out how floor() does its &quot;magic&quot; that&#x27;s scary.  If you need to look up how to balance a tree in place, that would be no big deal so don&#x27;t put someone on the spot.  If you claim to know python but can&#x27;t print your outputm, that&#x27;s bad.  If you claim to know python and your indentation isn&#x27;t clear on the whiteboard who cares?<p>I&#x27;ve told this story on HN before: almost 20 years ago I interviewed a candidate who wrote a routine to shuffle a deck of cards on the whiteboard (we use even simpler examples today).  His program ended up elaborately coping the input to the output without shuffling.  One of us asked, &quot;Is that really a shuffle?&quot;  He said, &quot;Oh I&#x27;m a fucking idiot&quot; and fixed it.  He was an awesome hire.<p>At one company we had a standard question (again, write XXX from the standard library) that had a special outlying case.  Only one candidate got that, but we hired several people who missed it.  Stuff like that can be caught in code review.<p>But I&#x27;ve interviewed several candidate who spoke well and claimed to know, say, C, but couldn&#x27;t write &quot;hello, world&quot; in that language.  Whiteboard caught it.