Как стать автором
Обновить

О собеседованиях

Время на прочтение5 мин
Количество просмотров7.9K
По долгу службы приходится иногда собеседовать людей на различные открытые вакансии в моём отделе.
В основном, на вакансии веб-программиста.

В заявке на подбор персонала в требованиях я указываю обычно весьма простые вещи:
– Хорошее знание SQL (MySQL, если быть точным).
– Знание Perl или PHP (с желанием перейти на Perl).
– Базовые знания всего остального, что может пригодиться разработчику — хотя бы отличать HTML от CSS, Java от JavaScript и веб-сервер от браузера.

Почему так просто? Всё банально — как правило, мне не нужны гуру.
Проекты, над которыми работает мой отдел, не такие сложные, чтобы не справиться человеку с 2–3 годами опыта активной веб-разработки. Все сложности, с которыми придётся столкнуться в первые месяцы работы, вполне себе могут быть решены или мной, или системными администраторами.

После того, как заявка заполнена, одобрена начальником департамента и генеральным директором, отдел кадров начинает поиск подходящего человека.



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

Почему меня не очень устраивают студенты?
Причина проста — человек мне нужен в офисе на полный рабочий день.
Совмещать работу и учёбу при таком условии достаточно сложно.
Прекрасно знаю это по своему опыту.

Почему мне не нужны люди с чересчур большим опытом?
Во-первых, как я писал выше, проекты просты и будут попросту скучны опытному разработчику.
Во-вторых, коллектив у нас молодой и вряд ли себя будет хорошо в нём чувствовать человек 35+.
В-третьих, программисты с большим опытом хотят и больше денег.

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

Что еще в резюме мне не очень нравится.
Это, в основном, три вещи.

Во-первых, иногда присылают резюме на английском.
Коллеги, мы в России работаем, пишите резюме на русском, если вас специально не просят прислать английскую версию. Нет, конечно, я читаю по-английски, но см. выше — мы в России.

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

В-третьих, иногда пишут много умных слов а-ля «знаю TCP/IP, HTTP, SMTP», «прекрасно разбираюсь в настройке Apache» или «слушал курсы Oracle». Знаете умные слова? Будьте готовы, что я обязательно спрошу об этом предмете то, что вы не знаете. В чем отличия HTTP1.0 от HTTP1.1? Как с помощью mod_rewrite запретить всем пользователям забирать файлы из определённой папки, разрешив это только одному и не используя паролей? Чем отличается использование PGA в режиме shared и dedicated сервера? Не знаете? Ну вот и нечего писать в резюме страшные слова. Я их боюсь, да.

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

Обычно, с человеком сначала общается кто-то из наших кадровиков.
Если их всё устраивает, приглашают меня.

Всё собеседование у меня обычно строится таким образом.
Сначала я интересуюсь какие задачи доводилось решать человеку, спрашиваю что-нибудь из предметной области этих задач. Как правило, это теоретические вопросы — например, что-нибудь об асинхронной обработке данных, об устройстве некоторых узлов СУБД, с которой работал человек, об ООП и так далее. Несложные. Исключительно, чтобы посмотреть как глубоко копал человек или как он умеет рассуждать. Могу давать простенькие задачки на сообразительность с той же целью. Как связанные с веб-разработкой, так и не связанные.

Потом начинаю спрашивать уже более конкретные вещи.
Обычно, это работа с регулярными выражениями, базовый синтаксис языка, SQL.
Как ни странно, уже на РВ и БС начинает складываться впечатление, что веб-разработчик как-то обмельчал. Задачи уровня первого курса института или не решают вообще, или решают неправильно, или используют чересчур сложные методы решения там, где этого не требуется.

Пример:
Задача написать регулярное выражение, проверяющее IP-адрес (IPv4) в то виде, в котором его привыкли видеть на корректность. Даже проще — всего один октет.

Большинство из тех, кого довелось собеседовать, пишут первое решение такое:
\d+\.
Естественно, пишу IP, который это регуляркой считается корректным.
Например, 999.999.999.999
Который корректным как раз не является.
И процесс начинается по-новой.
Решают. Не всегда.

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

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

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

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

Но самое паршивое то, что при всем этом, зарплатные ожидания большинства очень сильно не соответствуют тем навыкам, которые соискатели показывают во время беседы. Люди, которые не могут писать простейшие запросы и при этом претендуют на 60-70 тысяч рублей, меня сильно удивляют. 70 тысяч — это вполне нормальная зарплата для нормального веб-разработчика в Москве. Не для тех, кто ко мне обычно приходит и не проходит собеседование.

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

upd
Для тех, кто хочет узнать эту самую задачу.

Условия я отправил первым пяти людям из тех, кто отметился в топике уже куче народа.
Пишите в личку, если интересно. На письма, приходящие в личку, я обязательно отвечу, но возможно не сразу — всё-таки рабочий день в разгаре. Правда, пока увидел только один ответ, который хотя бы отдаленно был похож на решение.

И еще. Товарищи, активно минусующие карму, мне она фиолетова, конечно, но я попросту не смогу отвечать на ваши комментарии, если вы ее заминусуете окончательно. :)

upd++
Спасибо за интересные мысли. Некоторые из них я постараюсь учесть.
Вообще говоря, я не ожидал такой резонанс от обычного описания процесса собеседования. :)
Теги:
Хабы:
+42
Комментарии255

Публикации

Изменить настройки темы

Истории

Ближайшие события

PG Bootcamp 2024
Дата16 апреля
Время09:30 – 21:00
Место
МинскОнлайн
EvaConf 2024
Дата16 апреля
Время11:00 – 16:00
Место
МоскваОнлайн
Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн