Собеседование по Программированию: вопросы слишком сложные и слишком короткие

05.05.2020
Posted in blog-article
05.05.2020 admin

Собеседование по Программированию: вопросы слишком сложные и слишком короткие

Перевод небольшой статьи об особенностях собеседования программистов

Вопросы на собеседовании по программированию могут показаться излишне трудными. Иногда это так на самом деле. И это не только потому, что они делают собеседование чрезмерно стрессовым. Наши данные показывают, что более сложные вопросы по программированию на самом деле хуже предсказывают конечные результаты, чем более простые.

Процесс Программирования под давлением короткого промежутка времени затруднителен. Это особенно актуально во время собеседований. Упражнения по кодированию, которые кажутся простыми при нормальных обстоятельствах, каким-то образом становятся трудной задачей при ярком освещении комнаты для собеседования. Гормоны стресса омрачают ваше мышление  (хотя, к сожалению, ни драка, ни бегство не являются эффективными ответами на сложную проблему программирования). И может показаться, что вопросы обладают извращенной сложностью. Я действительно думаю, что это больше, чем просто чувство паники.

Вопросы собеседования так  разработаны, чтобы быть изначально сложными. Поскольку стоимость найма плохого инженера намного выше стоимости отказа от хорошего инженера, компании заинтересованы в том, чтобы установить высокую планку. И для большинства компаний это означает задавать сложные вопросы. Интуитивно понятно, что это имеет смысл, потому что более сложные вопросы, похоже, должны привести к более строгому процессу проверки. Но интуиция оказывается плохим руководством.Наши данные показывают, что более сложные вопросы на самом деле менее прогнозируемы, чем относительно легкие.

Слишком сложные вопросы

Сложные вопросы отфильтровывают плохих инженеров, но они также отфильтровывают хороших инженеров (то есть, у них высокий уровень ложноотрицательных результатов). Простые вопросы, напротив, приводят к меньшему количеству ложных отрицаний, но больше ложных положительных результатов (поскольку все больше инженеров понимают их правильно, в том числе и плохие).

Баланс этих двух сигналов — основная проблема, с которой вы сталкиваетесь при выборе оптимального уровня сложности для вопросов собеседования. Компании, стремящиеся избежать ложных срабатываний любой ценой, как правило склонны к более жесткому ограничению этого круга.

Однако, правильно ли кандидат отвечает на вопрос, не является единственным источником сигнала во время беседы. Вы также можете оценить их процесс, например, наблюдая, как долго они заканчивают работу, насколько чист их код и как они борются, находя решение. Наш анализ показывает, что этот второй источник сигнала (процесса) почти так же предсказуем, как и первый (правильность).

Но здесь есть дополнительный компромисс. Вопросы, которые несут большую часть сигнала процесса, значительно проще, чем вопросы, которые несут сигнал самой правильности. Причина этого становится понятной, когда вы перегоняете процесс до того, насколько сильно кандидат борется, находя решение (аспект процесса, наиболее непосредственно связанный с трудностью вопроса). Если вопрос достаточно сложен, чтобы дать сильный сигнал о правильности, тогда все кандидаты будут бороться с ним (даже те, кто в конечном итоге ответит на него правильно). Так что борьба не принесет никакого сигнала.

И наоборот, вопросы, которые несут сильный сигнал процесса, будут достаточно легкими для большинства кандидатов, чтобы ответить на них правильно, таким образом, они мало что могут предложить с точки зрения сигнала правильности.

Оптимально сложный вопрос — это вопрос, который уравновешивает процесс и правильности, чтобы извлечь максимальный сигнал из комбинации этих двух факторов (которые могут не быть пиковым сигналом для обоих).

Мы опросили тысячи инженеров и оценили их ответы по нескольким параметрам, включая процесс и правильность, и сравнили эти оценки с более поздними показателями. И после регрессионного анализа (с точки зрения как процесса, так и сигнала правильности) наши данные показали, что наиболее прогнозирующие вопросы были на самом деле намного проще, чем мы ожидали (и легче, чем вопросы, которые задают многие компании).

Сложные вопросы в конечном итоге отфильтровывают слишком много квалифицированных кандидатов, чтобы быть оптимальными. Поэтому, если вы хотите сделать процесс найма более точным, вам, вероятно, следует задать более простые вопросы.

Однако я хочу четко заявить, что это не означает, что вы должны опустить планку и пропустить больше людей. Задавать более простые вопросы не обязательно означает облегчение собеседования. Уровень сложности вопросов, которые вы задаете, и то, где вы устанавливаете порог принятия решения, являются независимыми решениями. Вы все еще можете реализовать чрезвычайно строгий процесс найма, задавая относительно простые вопросы и требуя их оценки. Наш вывод состоит в том, что более простые вопросы дают больше сигналов. Но то, что вы делаете с этим сигналом, зависит от вас.

Более простые вопросы также менее стрессовые, что является важным преимуществом. Стресс заставляет кандидатов показывать уровень ниже. Но, с другой стороны, когда кандидаты чувствуют себя более комфортно, они показывают наилучшие результаты, что на самом деле делает  собеседование более предсказуемым. Я думаю, что при собеседовании, как правило, недооценивают влияние стресса на кандидатов, переоценивая их собственные способности. Когда вы задаете вопросы, легко забыть о том, как тяжело добиться большого реального программирования за 30-60 минут. Чтобы противостоять этой предвзятости, в Triplebyte мы приняли правило, согласно которому кандидаты проходят собеседование. В три раза больше времени, чем они думают ,чтобы ответить на вопрос, и которое потребуется, чтобы решить задание самостоятельно. Обычно это срабатывает в контексте выбора правильного количества времени.

Вопросы для собеседования слишком короткие

Более простые вопросы полезны по другой важной причине. Они позволяют вам вписать больше контента в ваше собеседование. Это означает, что вы можете использовать более длинные задачи, состоящие из нескольких частей, которые имеют комплексные преимущества с точки зрения прогнозирования. Вы можете задавать вопросы, которые со временем усложняются, и эти более длинные вопросы реального мира более предсказуемы, чем их более короткие и сложные братья.

Отчасти это связано с тем, что более длинные вопросы служат лучшими контролёрами для реального программирования. Производственное программирование включает в себя работу с относительно большой кодовой базой в течение длительного периода времени, а более длинные вопросы просто лучше приближают эту реальность.

Кроме того, более длинные вопросы позволяют предлагать подсказки, когда кандидат застревает. Я думаю, что это жизненно важно, потому что даже сильные инженеры могут споткнуться в какой-то момент во время проблемы кодирования. Задание более длинных вопросов дает кандидатам возможность оправиться от ошибок и продемонстрировать свои навыки позже во время упражнения. Один промах не должен испортить целое собеседование. Наконец, возможность предложить помощь делает собеседование менее напряженным, что, опять же, приводит к более точным результатам.

Заключение

Компании могут застрять в порочном круге, когда речь заходит о трудностях. Они начинают задавать вопросы, которые уже являются слишком сложными и слишком короткими, что заставляет их принимать неоптимальные решения о найме на основе сильных сигналов. Когда они имеют плохие результаты, они могут попытаться исправить ситуацию, сделав свой процесс еще более строгим (что обычно означает задавать еще более сложные вопросы). Но это только делает процесс собеседования  менее точными. И так далее. И компании, и кандидаты пострадали от этого цикла. Я вижу компании, которым не хватает талантов, а кандидатам не хватает рабочих мест — и все испытывают больше стресса, чем нужно.

Я надеюсь, что работодатели  примут этот вывод. Это не только делает их работу более точной, но и более легкой. Решать прямые многоэтапные задачи возможно гораздо быстрее, чем излишне сложные короткие задачи.

Итак, вот наш совет: если вы действительно хотите сделать свои собеседования более точными, вам, вероятно, нужно начать задавать более простые вопросы программирования. Это не значит опускать планку. Это просто означает получение лучшего сигнала, чтобы вы могли нанять нужных людей.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Contact

Давайте работать вместе!

Пишите нам и найдем точки соприкосновения, может станем партнерами, а может поможем вам зайти в нашу чудесную нишу

Вы разработчик?

Пишите! Нам постоянно нужны новые кадры, либо можем помочь в продвижении вашего приложения

Новичок?

Поможем быстро войти в нишу, не тратя годы на понимание

Давно в нише?

Рады будем пообщаться как на темы whitehat, так и blackhat тематики ^_^ + всегда есть что обсудить по поводу рекламных сетей

ПИШИ В TELEGRAM!

Contact