Если работодателю нужно выявить сильные и слабые места кандидата, а не загнобить и сбить зарплатные ожидания,
стоит дать кандидату возможность подумать.
Если кандидату нужно что-то накодить или поревьюить,
высылайте задание заранее. Например,
так делают в ThoughtWorks.
Хорошим вариантом будет дать небольшое тестовое задание
после собеседования, на пару-тройку часов, не больше.
Современная разработка состоит не только из алгоритмов и структур данных. Разработчики добрым словом и пистолетом выбивают требования, тушат пожары по аджайлу, общаются с коллегами и руководством. Самый крутой технарь с нулевыми софт-скилами принесёт проекту больше вреда, чем пользы. Особенно если ваше конкурентное преимущество не состоит из одних алгоритмов, как в навигаторах или высокочастотном трейдинге. В большинстве случаев компаниям нужны не гики-энциклопедисты и олимпиадники-с-хакатонов, а адекватные и ответственные специалисты, умеющие
осмысленно искать решение.