среда, 16 февраля 2011 г.

[work.flame] HTTP-сервер как тестовое задание для соискателя – это оригинально!

Наткнулся на еще один опус о том, как правильно подбирать программистов: Давайте наймем программиста... Сама статья мне показалась ну очень уж знакомой – такое впечатление, что где-то тоже самое я уже неоднократно читал, на английском. Ну да не суть.

Важнее другое. Автор говорит, что домашние задания для соискателей – это хорошая штука – и здесь я с ним согласен (с кучей оговорок, однако). Но вот пример подходящего тестового задания просто офигителен (выделение мое):

Как пример – новостная лента или несложный сервер (HTTP или FTP).

Как говорится, я фигею с этих русских. Что такое “несложный сервер”? Это какое-то убогое подмножество HTTP-протокола с совершенно убогими возможностями по обслуживанию TCP-шных подключений?

Если так, то в чем польза такого задания по сравнению, скажем, с хрестоматийной функцией reverse? Что эта задачка покажет? Что соискатель способен сваять халтурку на коленке? Или что-то иное?

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

8 комментариев:

  1. С некоторых пор тоже участвую в проведении собеседований. По хорошему надо собирать свою базу качественных задач.

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

    Очень не нравятся дурацкие вопросы с дурацким кодом, Надо рассказать что делается. - Если кто-то в проекте попытается написать такой код - руки поотрываю... :) И задавать такие вопросы - глупо.

    Код должен быть красивый и обязательно компилироваться.

    С поиском ошибок в коде достаточно хорошо справляются компиляторы. нет смысла требовать это от кандидатов.

    ОтветитьУдалить
  2. @Андрей Валяев:

    >Код должен быть красивый

    Это, к сожалению, очень субъективно.

    >обязательно компилироваться

    и не только компилироваться, но и линковаться :) И это объективно :))

    ОтветитьУдалить
  3. @Евгений Охотников:

    >>Код должен быть красивый
    >Это, к сожалению, очень субъективно.


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

    Это может быть не совсем красота, понятность, удобочитаемость... но с красотой перекликается. :)

    ОтветитьУдалить
  4. @Андрей Валяев:

    >Ну не скажи...

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

    ОтветитьУдалить
  5. меня поразило количество ошибок которое народ делает в трех соснах (видел в http://blog.not-a-kernel-guy.com/2011/02/08/980 и следующем и многих постах в жж на тему ). Причем забавно именно то что задачка ставится на "на доске" чтобы побеседовать с человеком а не его компилятором :)

    ОтветитьУдалить
  6. @Myroslav Rubanets:

    Спасибо за ссылочку, очень поднимает настроение.

    На самом деле два правильных вопроса там задал Alexander Yastrebov:

    >
    1. Размер пакета big endian или little?
    2. Что делать, если не хватает размера буфера для приема пакета?


    Не имея ответов на них писать что-нибудь бесполезно.

    ОтветитьУдалить
  7. так там же сказано - у доски с беседой. умение задать эти вопросы тоже оценивается. Так же забавно что из желавших написать только 1 вариант при 2м случае оставлял поток в определенном состоянии :)

    ОтветитьУдалить
  8. >так там же сказано - у доски с беседой.

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

    >умение задать эти вопросы тоже оценивается.

    Угу, так оно и есть. Иногда наводящие вопросы от соискателя важнее написанного им решения.

    ОтветитьУдалить