[Moscow.pm] Fw: Пока тихо, задам свой вопрос. :)

Alexander V Alekseev alex на alemate.ru
Ср Янв 9 11:41:16 PST 2008


		Hello!

On Wed, 9 Jan 2008, Andrew Shitov wrote:

>> Но мне интересно, если кто-то проводит или если бы вдруг проводил
>> бы собеседования соискателей на вакансию "perlовика", то какие ему
>> вопросы задает (задавал бы)?
>
>Тут надо уточнить, что будет писать этот кадр.
   +1

> Если веб-приложения, то вопросы по самому перлу отходят на второй план.
    Я бы отталкивался от того, какой код нужно получить от человека.
Одно дело, когда нужно часто анализировать лог-файлы всё время разных
форматов, а совсем другое, когда нужно писать много кода, который будет
использоваться другими людьми.

    Соответственно, в первом случае нужно дать syslog и попросить
посчитать количество соощений по секундам (часам, etc), построить
гистограмму и т.д.
    А во-втором IMHO не важно, знает ли человек что такое $/,$&,$` и пр.,
но хотелось бы увидеть знание работы с модулями, разрешения
идентификаторов, пример проектирования какой-ниюудь простенькой
библиотеки... Попросить его написать реализацию метода debug()
(для debug (@) и debug(\*@) ), и посмотреть, сколько ошибок при этом
будет обработано. и Т.д.
    Про $/ можно спросить, как perl разделяет строки во входном потоке,
чтобы человек сказал, что есть такое понятие, как Record Separator.
А уж как оно именуется, всегда можно в документации посмотреть.

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

>> Наверняка, должна быть некая лестница "совсем простые вопросы" ->
>> "простые вопросы" -> "средней сложности" -> "высокой". Чтобы было
>> проще определиться со знанием человеком предмета. 
>
>Удобнее идти в обратном порядке от сложного к простому.
	Обычно всё-же поиск делается не линейный, а хотя-бы делением
пополам. ;-)) Т.е. задаём вопрос "из середины" и смотрим на ответ.

>> Возможно какие-то тестовые задания интересные есть :)
>
>Если говорить про Perl для веба, то если не касаться "глубокой теории
>программирования", я бы спросил, как чувак читает переменные из
>query string, как печатает юникод, как пишет запросы к БД, использует
>ли ORM, будет ли думать о другом языке, если делать что-то на перле
>неразумно.
	У меня "Perl для Web'а" ассоциируется с пониманием вопросов
сетевых соединений и обработки запросов. Т.е. где там должны быть
таймауты, как должен быть устроен Keep-Alive, и т.д. Т.е. в основном
системное такое программирование. Про Unicode согласен.
        Про БД - это вообще необъятный разговор, и очень-очень
БД-специфичный. Я, например, более-менее знаю Oracle. Возможности
DBD-Oracle ограничены Oracle Call Interface. Описание OCI занимает 1300
страниц. Там несколько сотен вызовов. Это хорошее описание, но подводных
камней там тьма. Можно несколько дней говорить...

>А вообще, лучшие вопросы - не на знание деталей, а на умение мгновенно
>объяснить, как получить решение или как найти способ решить задачу. То
>есть это изначальная установка, которую надо применять к кандидату.
         Да, только задачки разные. Может человеку не интересно писать
много надёжного кода? Вот привлекает его красота выразительных скриптов,
которые и сам назавтра не разберёшь. Или наоборот.

		Bye. Alex.


Подробная информация о списке рассылки Moscow-pm