Бес с ним с кэшем, хоть бы алгоритм правильно написали. Для тех, кто справляется с первой частью, есть хитрый случай, когда прямоугольники пересекаются. Тогда надо копировать чуть более хитро, чтобы уже скопированные фрагменты не начали повторно копироваться.
On Thu, Dec 10, 2015 at 9:25 AM Andrey Kovbovich <[email protected]> wrote: > Мне нравится задачка с циклами и {Get,Set}Pixel. Заодно можно узнать в > курсе ли чел про cache locality, если спросить про разницу по чем бежать в > цикле по памяти, по x сначала или по y. > 10 дек. 2015 г. 11:05 пользователь "Alexander Lourier" <[email protected]> > написал: > > Вы зря смеётесь. Вы себя перехитрили, подключив к решению элементарной >> задачи мощнейщую машину регулярных выражений. Её внутренняя сложность >> огромна, и передав в качестве регулярного выражения один из входных >> аргументов, вы активировали возможность пользователя контролировать всю эту >> машину - подкинуть невалидное или вычислительно дорогое выражение, >> заинжектить код на перле да и ещё кучу всяких гадостей. Т.е. программа не >> делает того, что должна. >> >> Проблема, на самом деле, концептуальная. Я не лично про вас говорю, а >> вообще, по опыту собеседований (100+). Это своего рода карго-культ у >> программистов - натаскать "сниппетов" отовсюду, слепить соплями - и >> программа готова. Если не работает, поискать на stackoverflow, >> перепробовать все "советы". Если ничего не получается, поискать другую >> библиотеку. Регулярные выражения могут делать поиск? Могут. Значит надо их >> и использовать в реализации strstr. Без понимания. >> >> Возвращаясь к примеру с регуляркой, я бы назначил собеседование, и первым >> вопросом попросил рассказать, как эта программа работает. Всегда ли она >> решает поставленную задачу. Если не всегда, то как это можно исправить. И >> если кандидат логически сообразит, в чём проблема, и сможет написать >> нормальное, простое, с циклами, то это очень, очень хороший знак. 90% не >> смогут. >> >> Я много собеседований проводил на программистов, которые будут >> разрабатывать системы технического зрения. Обычно прошу написать код - есть >> изображение, надо скопировать прямоугольный фрагмент из одного места в >> другое (на том же изображении). Из операций доступны только GetPixel и >> SetPixel. Как вы думаете, какая доля способна написать просто два вложенных >> цикла по X и Y? Я всё понимаю, собеседование, стресс, но блин, люди, если >> вы такое не можете написать без сознания, то о чём вообще речь идёт? А >> резюме кандидатов - одно другого краше: кандидаты наук с работами в области >> распознавания образов, программисты с опытом 5 лет в компьютерной графике. >> А всё одно - 90% кандидатов нельзя даже к компьютеру подпускать. >> >> On Thu, Dec 10, 2015 at 7:15 AM Anatoly Y <[email protected]> wrote: >> >>> А если на перле вам напишут такое >>> perl -E 'sub strstr{$_[0]=~/$_[1]/;length $`} say strstr("hello >>> world","world")'' >>> Вы будете считать, что тест пройден? К вопросу о Кнуте. >>> >>> 2015-12-09 22:54 GMT+06:00 Ivan Petrov <[email protected]>: >>> >>>> > 9 декабря 2015 г., 15:35 пользователь Ivan Petrov < >>>> [email protected]> >>>> > написал: >>>> >>>> > блин ну при чем тут Кнут и strstr? >>>> >>>> > наверное, потому что это фундаментальная вычислительная проблема? >>>> Оттого в >>>> > названии одной из самых эффективных реализаций (КМП) есть буква >>>> принадлежащая >>>> > Кнуту. >>>> >>>> в тестах тестируем не умение составить самый лучший алгоритм, решающий >>>> какие-то там фундаментальные вычислительные проблемы, >>>> а умение составить алгоритм ВООБЩЕ. >>>> >>>> вот первый попавшийся с прямо Вашей ссылки - ДОСТАТОЧЕН для того чтобы >>>> пройти тест. >>>> >>>> проблема в том что 9 из 10 респондентов его не пишут, увы. Вот эти >>>> самые 5 строк. >>>> >>>> >>>> попытка свести обсуждение к Кнуту - есть попытка перевести разговор на >>>> другую тему. >>>> мы говорим о том что работодатель хочет малыми затратами понять кто >>>> перед ним стоит и что этот человек из себя представляет. >>>> >>>> тесты в данном случае - очень хороший способ. >>>> >>>> и я это на своем опыте говорю: приходит 10 человек и из них 9 не >>>> может написать strstr простейшим способом. >>>> Если всех 10 собеседовать, то это работу просто бросить надо и только >>>> собеседованиями заниматься. А так всякие "эксперты" отсеиваются на >>>> стадии просмотра результатов теста за 10 минут. >>>> >>>> >>>> -- >>>> Moscow.pm mailing list >>>> [email protected] | http://moscow.pm.org >>>> >>> >>> -- >>> Moscow.pm mailing list >>> [email protected] | http://moscow.pm.org >>> >> >> -- >> Moscow.pm mailing list >> [email protected] | http://moscow.pm.org >> >> -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org >
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
