We stopped asking people to invert binary trees three years ago. Our offer acceptance went up and our retention got better.
Our process is four steps and about four hours of a candidate's time. Here is what we do and why.
A real conversation, not a quiz
Forty-five minutes with the person you would report to, about work you have actually done. We are listening for how you reason, not for trivia.
A practical exercise close to the job
A small, self-contained task resembling something we shipped last month. If it takes more than two hours, we pay for it. Nobody should work for free to be considered.
Reviewing code, not just writing it
We hand candidates a pull request with three problems in it. How someone gives feedback tells us more about their seniority than any algorithm question.
A straight answer, quickly
Five working days from application to first reply, and a decision within a week of the final conversation. Silence is the rudest thing an employer does.
We hire slower than we would like. We have not regretted a hire in three years.