Там выше в pdf не задание, это какая то муть "а угадайте что я хотел сделать, и при этом оптимизируйте"
antonn На самом деле очень хорошая тренировка. В TBDev движке и не такое встречалось, задачка из разряда на внимательность и не спешить переделать побыстрее. Т.е. надо сесть и спокойно методично понять что делает и переписать. После того-же TBDev мне уже никакой быдлокод не страшен
Контора, которая приводит меня на рабочее место и говорит - вот работай, а что мы пишем - догадайся сам, и еще оптимизируй, такая контора идет лесом. Koc мне кажется я понял что там есть, но видишь ли "оптимизировал" бы я ее немного по разному исходя из того для чего оно будет применяться и в каких условиях. Кол-во строк еще ни о чем не говорит. Эт первое. Второе - я не напрашиваюсь и даже не пытаюсь тут сказать правильное решение или дать понять что я понял. Подобный "Код (форматирование сохранено)" мне часто приходится разгребать, тока я это делаю в блокнотике
Поясню немного. Тестовое задание - это не только проверка "клиента", это так же возможность самому клиенту попробывать силы в тех задачах, которые поставит ему компания в будущем. Если мне дают вот ту "пдфку" я делаю вывод что им нужен быдлокодер А если мне дают реальную задачу (или часть ее), пару-тройку направлений работы и "поддерживаемых" инструментов и нужно из этого соорудить некое решение - вот тогда и я пойму что рано пошел на серьезное дело, и компания поймет, что искать надо специалиста за бОльшую цену %)
Столкнулся с той-же "схемой" что и псих. Сейчас могу разобрать любой быдлокод, но на это конечно-нужно время. А если код маленького размера (как этот .pdf) так тут и проблем 0. Сначала переписал. Потом посмотрел смысл. Придумал улучшенный алгоритм и оптимизировал.
Это проверка на умение разбираться в чужом коде и не более того. В современных CMS встречаются более страшные куски, я уж не говорю про всякие наколенные поделия. И во всем этом приходится разбираться.
Никто из соискателей никогда не будет тратить на тест два-три дня. А найти «реальную задачу», которую можно решить за меньший срок я не вижу где. Так что не стоит судить по тестам о деятельности самой компании.
Мне в банке давали два простых тестовых задания. 1. SQL запрос с join/group_by (запрос не сложный и не идиотский. Обычный такой запросик на проверку квалификации в SQL синтаксисе) 2. Написать алгоритм парсинга счетов (там определенные группы чисел и т.д). Циклы и строковые функции. Хотя сначала почему-то делал через регулки, хз. Взяли меня на следующий же день, отослав всех кандидатов после меня лесом Имхо — тестовое задание должно быть именно таким, т.к оно даст более подробное представление о навыках кандидата. Хотя идея с оптимизацией мне тоже понравилась.
Нет. Тестовое задание выявляет умение не только разбираться в чужом коде, но и еще множество факторов, таких как: 1) Стилистика кода. Если человек пишет без отступов - это показатель, что он либо программирует менее полугода, либо программирует всю свою долгую жизнь, но при этом не написал ни одного скрипта, в котором более 100 строк. 2) Знание функций. Большинство РНР-программистов работают с Mysql. Если человек пишет, что он супер-пупер веб-программист, но при этом не знает Mysql-функций... 3) Оформление запроса SQL может нам показать, какого уровня проекты писал человек 4) Понимание веб-безопасности. Mysql Injections 5) Понимание использования функции, а так же дефолтовых значений В общем там много чего можно посмотреть в этом кусочке.
Не согласен. Когда у меня собеседуются, не знание на память функций ни о чем не говорит. Пусть он хоть в псевдокоде пишет - я согласен, но покажет алгоритм. 3 - тоже. Человек должен понимать, что такой рутинный процесс, как экранирование данных в запросе, подлежит автоматизации, и что он об этом САМ думать не должен!
Для всех отписавшихся: вам действительно давали на собеседовании код, просили разобраться что он делает и при этом даже не намекали в какой задаче он используется? Потому как при таком подходе отсеиваются те, кто просто не решал подобные задачи, и им будет куда труднее не понять, а оптимизировать предложенный код. И среди них могут быть вполне хорошие кадры, готовые к обучению. Там не написана нагрузка, как минимум, а без этого "оптимизация" смотрится не к месту
Если человек достает последний вставленный Id посредством выборки предыдущего и инкрементирования значения, это говорит о том, что он с этим никогда не сталкивался и не полностью пролистывал список функций. Ведь когда мануал листаешь, то смотришь какие функции существуют. Да, я согласен, что все можно оптимизировать. Но когда тебе дают данные, которые напрямую (без всяких классов) загоняются в базу, то их по-любому нужно экранировать. Разве не так? В этом тесте все написано. Не знаю, как вам, но мне мне тест позволяет выявить действительный уровень разработчика. Все они присылали резюме, что хоть с руками отрывай, но когда выполняли тестовое задание, просто расстраивался, что такие "опытные" люди не знали самых основ. Понимаешь, Олег, может они и хорошие Дельфи-программисты, но они приходят в готовый проект, в котором нужно сразу начинать работу, а не познавать специфику веба. Да и проблема в том, что зная множество языков, многие так и не познали типизацию. Как можно знать 5 языков программирования (в том числе и С, ассемблер) и не отличать число от строки?
флоппик я тебе дам кусочек кода рендера альфаканальных битмапов с общим и локальным блендингом, ты точно уверен что сможешь его качественно оптимизировать с учетом того, что ты мог ранее к этому даже не притрагиваться? Я не про знание функций говорю, функции нужно еще применить верно и в нужном месте. А эта "нужность" есть опыт. это не тест а есть прецеденты? можно глянуть?
но чет у меня такое чуйство, что народ реально думает раз он разобрал небольшой код в pdf то значит он крут и пример есть "правельный тест"...
Там ни разу не упомянуто слово «оптимизация», ты откуда его выцепил? Если человек позиционирует себя как PHP-Web-программист и не знает как записать данные в БД, то я не возьму его работать. А больше в той функции ничего нет. Мне нужно было набрать людей в команду, я нарисовал этот тест и людей таки набрал нужных. Свою задачу этот тест выполнил