Покритикуйте собеседование
От: monax  
Дата: 09.08.11 06:09
Оценка: +1
Ищу к себе в группу разработки ещё одного программиста. По навыкам меня устроил бы студент 4-5 курса, но поскольку нужно быть на работе целый день, то и вчерашний выпускник тоже подойдёт. От кандидата требуется базовое знание html, php, т.е. если человек способен написать цикл, условие, функцию, то он подходит, если может написать класс, то тем более. Javascript знать не обязательно, его мало. Нужно хорошее знание sql, потому что запросы нужно писать часто, много, и большие, ну и часто приходится разбираться с запросами, которые были написаны 5-7 лет назад. Вроде, весь список требований. ЗП предлагается вполне неплохая (по ростовским меркам).

Теперь о собеседовании.

Сначала общение по тому, что написано в резюме. Просто чтобы познакомиться, присмотреться и послушать, что человек может рассказать о работе в предыдущих местах. Если таких мест нет, то спрашиваю про диплом. Если сам сталкивался с технологиями, о которых рассказывает кандидат, то спрашиваю подробнее, просто чтобы удостовериться, что он написал резюме о своём опыте работы, а не выдумал его неделю назад (бывает и такое). По ходу дела объясняю с чем ему придётся работать, сколько будет получать и с кем будет работать.

После такой беседы даю человеку карандаш с листиком или предлагаю доску с маркером (кому как нравится) и прошу написать мне функцию для переворота строки на php. Если php не его любимый язык, то допускается написать функцию на любом другом (потому что тот объём знаний php, который нужен в работе может быть получен за неделю). Этого кода на 5-10 строк достаточно, чтобы оценить логическое мышление на простой задаче.

Потом рисую две таблицы на доске: авторы и статьи — связь необязательная один ко многим (у одного автора 0 или более статей, у статьи один автор). Прошу написать два запроса, один на объединение с like, второй с group by. Тут по ходу дела могут возникнуть дополнительные вопросы, в зависимости от того, как кандидат будет писать запрос. Но в целом вопросов по sql не будет больше 7-10.

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

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

Критика?

З.Ы. я был удивлён, как много людей не способны написать код для переворачивания строки.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.