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

Найм персонала: О важности примитивных вопросов

Время на прочтение4 мин
Количество просмотров7.3K
Вам приходилось бывать на долгих собеседованиях? На многоуровневых собеседованиях? А может вы такие проводите сами? Многие компании ведут подобную практику, и большие и маленькие, но подобная практика имеет ряд очевидных минусов. Таких, как впустую потраченое время на интервьюирование человека по полной программе, который не подходит просто по техническим навыкам. В данной статье я хочу описать подход к интервью технических навыков (про остальное не забываем, но в статье рассматривать не будем), который, возможно, сбережет вам кучу времени. Сутью подхода является задавание вопросов, которые грамотный специалист расценит как: «Ты что дурак? Меня о таком спрашивать!»

Куда мы катимся

Для начала небольшое лирическое отступление. Наверное с выходом книги Уильяма Пандстоуна: «Как сдвинуть гору Фудзи», многие компании помешались на вопросах на сообразительность, и многие посты на хабре из разряда «Как я собеседовался в компании ХХХ» это подтверждают. Эти задачки тиражируются, их полно в инете и думаю что уже каждый знает: почему канализационные люки делают круглыми и знает пяток вариантов решений того, сколько шариков для пинг-понга влезет в школьный автобус.
Да, такие вопросы помогают выявить уровень сообразительности кандидата, а также его подход к решению задач. Но он тоже не гарантирует, что в рабочей рутине человек будет также сообразителен и активен (знаю несколько людей которые задачки на IQ щелкают как орешки, но в работе увальни и лентяи). Я считаю, что прежде чем бюрократизировать в бумажной форме порядок проведения интервью, необходимо сесть и составить KPI на все открытые вакансии, например: командность, лояльность к компании и профессиональные навыки. И далее проводить интервью, четко выявляя насколько кандидат сможет соответствовать нашему KPI не тратя время на все лишнее.

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

Суть метода на примерах

Пример вопросов касающихся Multithreading (для Windows)

Вопрос: Назовите объекты ядра которые используются для синхронизации потоков.
Profit: Мы узнаем о том, какие объекты ядра знает/использует человек. Знает ли он вообще, что такое объекты ядра. Имеет ли он представление о конкуренции потоков. По ответу человека мы можем задать вопрос уже по его предыдущей практике, например как он использовал какие-то объекты или реализовывал какие-то механизмы взаимодействия.

Вопрос: Чем отличается критическая секция и мьютекс?
Profit: Мы узнаем не только о том, читал ли человек Рихтера, в случае положительного ответа, можно предполагать, что человек знает — что такое переключение контекста. Насколько оно критично для быстродействиствия. И, как результат, то, что человек заботился о производительности, снижая количество переключений контекста. Конечно, это только предположение, но его всегда можно подтвердить или опровергнуть более конкретными вопросами. Просто эти вопросы могут не понадобиться в зависимости от того насколько уверенно или развернуто отвечает соискатель.

Вопрос: Что такое дедлок? (можно предложить человеку нарисовать на бумажке схему дедлока)
Profit: Если человек сможет нарисовать схему дедлока, то с высокой вероятностью я могу предполагать, что человек сталкивался с дедлоками, знает как их диагностировать искать и устранять. Если есть неуверенность, то можно задать и более детальные вопросы.

Примеры вопросов касающиеся COM

Вопрос: Для чего нужен интерфейс IUnknown?
Profit: Если человек не понимает, для чего нужен этот интерфейс, то он не понимает всю идеологию жизненного цикла объектов COM. Какой смысл с ним разговаривать после этого?

Вопрос: Сколько раз в приложении нужно вызывать функцию CoInitialize?
Profit: Второй вопрос в лоб, если человек дал неправильный ответ, и вы его взяли, и он написал вам много кода, то потом пеняйте на себя, когда его код придется отлаживать.

Примеры вопросов по C++

Вопрос: Приведем кусочек кода:
char* word1 = “Hello”;
char* word2 = “Hello”;
if( word1 == word2 )
  printf(“equal”);
else
  printf(“not equal”);


* This source code was highlighted with Source Code Highlighter.

Что будет напечатано в консоли после выполнения кода?
Profit: Тише смех… Есть люди которые приходят собеседоваться на оклад в пару килобаксов, которые считают, что так можно сравнивать строки. Думаю с этим вопросом всё ясно.

Примеры вопросов, касающиеся .NET

Вопрос: (Мощный вопрос в лоб ) Что такое управляемый код?
Profit: Ну, тут всё очевидно, если нет ответа на данный вопрос, или человек несет полную ахинею, то такого человека точно не стоит брать на позицию выше Junior, т.к. полное непонимание идеологии .Net – это катастрофа.

Заключение

Прошу прощения, что вопросов я привел мало, и написал такое занудное вступление. Просто я никак не мог подобрать хорошие слова для описания данного подхода. Но, я надеюсь, что прочитав раздел с вопросами, вы уловили суть.
А ещё, по собственному опыту скажу, что 90% людей, которые ответили без проблем на примитивные вопросы, ответили мне и на более глубокие вопросы. Это даже превращалось из интервью в программу по разливанию бальзама на душу — ты задаешь человеку вопрос, а он отвечает правильно, хорошо и развернуто.
Ну, и я думаю вам не составит труда составить аналогичные вопросы для своих вакансий и попробовать на практике применить этот подход.
Надеюсь, вам он сбережет много времени, которое вы могли бы потратить на бестолковые дискуссии о программировании сервисов работающих 24/7 с человеком, который не знает, в каком случае в C++ надо писать «delete p», а в каком «delete[] p».

Ну, а теперь давайте дискутировать, жду комментариев, критики и конструктива.
Теги:
Хабы:
+24
Комментарии129

Публикации

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

Истории

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

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн