[Moscow.pm] гребаные тестовые задания

Alexander Lourier aml на rulezz.ru
Чт Дек 10 00:03:23 PST 2015


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

Проблема, на самом деле, концептуальная. Я не лично про вас говорю, а
вообще, по опыту собеседований (100+). Это своего рода карго-культ у
программистов - натаскать "сниппетов" отовсюду, слепить соплями - и
программа готова. Если не работает, поискать на stackoverflow,
перепробовать все "советы". Если ничего не получается, поискать другую
библиотеку. Регулярные выражения могут делать поиск? Могут. Значит надо их
и использовать в реализации strstr. Без понимания.

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

Я много собеседований проводил на программистов, которые будут
разрабатывать системы технического зрения. Обычно прошу написать код - есть
изображение, надо скопировать прямоугольный фрагмент из одного места в
другое (на том же изображении). Из операций доступны только GetPixel и
SetPixel. Как вы думаете, какая доля способна написать просто два вложенных
цикла по X и Y? Я всё понимаю, собеседование, стресс, но блин, люди, если
вы такое не можете написать без сознания, то о чём вообще речь идёт? А
резюме кандидатов - одно другого краше: кандидаты наук с работами в области
распознавания образов, программисты с опытом 5 лет в компьютерной графике.
А всё одно - 90% кандидатов нельзя даже к компьютеру подпускать.

On Thu, Dec 10, 2015 at 7:15 AM Anatoly Y <iskhartakh на gmail.com> wrote:

> А если на перле вам напишут такое
> perl -E 'sub strstr{$_[0]=~/$_[1]/;length $`} say strstr("hello
> world","world")''
> Вы будете считать, что тест пройден? К вопросу о Кнуте.
>
> 2015-12-09 22:54 GMT+06:00 Ivan Petrov <i.petro.77.00 на gmail.com>:
>
>> > 9 декабря 2015 г., 15:35 пользователь Ivan Petrov <
>> i.petro.77.00 на gmail.com>
>> > написал:
>>
>> > блин ну при чем тут Кнут и strstr?
>>
>> > наверное, потому что это фундаментальная вычислительная проблема?
>> Оттого в
>> > названии одной из самых эффективных реализаций (КМП) есть буква
>> принадлежащая
>> > Кнуту.
>>
>> в тестах тестируем не умение составить самый лучший алгоритм, решающий
>> какие-то там фундаментальные вычислительные проблемы,
>> а умение составить алгоритм ВООБЩЕ.
>>
>> вот первый попавшийся с прямо Вашей ссылки - ДОСТАТОЧЕН для того чтобы
>> пройти тест.
>>
>> проблема в том что 9 из 10 респондентов его не пишут, увы. Вот эти
>> самые 5 строк.
>>
>>
>> попытка свести обсуждение к Кнуту - есть попытка перевести разговор на
>> другую тему.
>> мы говорим о том что работодатель хочет малыми затратами понять кто
>> перед ним стоит и что этот человек из себя представляет.
>>
>> тесты в данном случае - очень хороший способ.
>>
>> и я это на своем опыте говорю: приходит 10 человек и из них 9 не
>> может написать strstr простейшим способом.
>> Если всех 10 собеседовать, то это работу просто бросить надо и только
>> собеседованиями заниматься. А так всякие "эксперты" отсеиваются на
>> стадии просмотра результатов теста за 10 минут.
>>
>>
>> --
>> Moscow.pm mailing list
>> moscow-pm на pm.org | http://moscow.pm.org
>>
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20151210/b6d7e249/attachment.html>


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