Давайте кандидатам задачи
Когда только начинал собеседовать - знания проверялись только через тестовые задания. Но на проверку уходило много времени, да и не все хотели их делать. Поэтому на их место пришли вопросы наподобие типов данных в js или что такое замыкание?
После первого кандидата, который ответил идеально на теорию, был нанят, а на деле оказался слабым, добавили простые задачки на кодинг: перевернуть строку, поиск гласных, анаграммы. И да, этот этап оказался узким местом.
Это не были какие-то умные задачи на алгоритмы - печально известный FizzBuzz не мог потянуть каждый 2-ой.
Именно поэтому я пришел к выводу, что такие задачи давать надо!
Если у кандидата не получается их решить, то скорее всего со своей работой он справляться не будет. Это не всегда так, но корреляция высокая.
Также важно понимать, что это не способ найти хорошего программиста.
Это нужно для того, чтобы отсечь потенциально слабого.