[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Новое тестовое задание
Страницы: 1, 2
Razzwan
Пришло новое тестовое задание.
Надеюсь, администрация форума не будет возражать, если я проведу небольшое исследование. По-прежнему, хочется понять, насколько я медленный.
Вот текст письма:
Текст письма
Вы откликались на вакансию Web developer. Благодарим за Ваше резюме и
интерес к нашей вакансии.
Процесс отбора на данную вакансию имеет несколько этапов, первый из
которых – выполнение тестового задания удаленно. Задание – в приложении.
После успешного выполнения данного задания, кандидаты будут приглашены
на собеседование с менеджером по персоналу, после чего руководитель
отдела разработчиков встретиться с Вами.
Если Вы готовы принимать участие в данном процессе отбора, подтвердите,
пожалуйста, получение данного письма.

С уважением, Имя


Это само тестовое задание:
текст
Напишете пакет для Composer, который будет заниматься тем, что с

удаленного хоста загружать картинки и сохранять их на ФС.

Пакет выложить на packages. Пакет должен делать все возможные проверки и

бросать exceptions в случае исключительных ситуаций. Возможные форматы

картинок - jpg, png, gif. Работать должно на Windows и Linux.

Код комментировать, стиль - psr-2

Автолоадер - psr-4

Комменты - phpdoc

Юнит тесты обязательно - phpunit

Выложить на Github


_____________
Youtube канал WebDeveloper->Run()
Сайт для души
Gitter
AllesKlar
Не голосовал, оставлю комент:
Я ни разу не писал пакеты под композер и без понятия, как это делается.
Поэтому, включать в расчет времени мои исследования на данную тему - это не верно.
Ну, по-любому это некая "надстройка" над стандартным функционалом.
Стандартный функционал же писался бы от силы час-два.


_____________
[продано копирайтерам]
Ron
Совершенно не знаком с phpunit и разработкой пакета под composer. У меня тут же вопрос: с какого хоста забирать картинки? Что там, API, парсить DOM, или есть array с готовыми ссылками или иной список уролов... Задание неполное. Ну предположим, что есть URL определенной страницы и оттуда надо выдернуть все имеющиеся картинки. А там они лежат в виде ссылок, в таблице, например.

Я бы выполнил эту работу с учетом перестраховок думаю что за пару дней. Ну таких дней, не особо ППЦ. Короче за 10 часов примерно. У меня вот такое ощущение сложилось по ТЗ. Может быть и больше, я ХЗ...

И что значит "пакет"? Пакет подо что? Куда он должен или не должен встраиваться? Просто некий класс или бандл под симфони?

Если я ничего не путаю, то имеется ввиду выбросить свою поделку в репозиторий компоузера. Соответственно там от "пакета" будет что-нибудь вроде JSON файлика с конфигом/описанием. Вот тебе и весь пакет.

Гораздо больше вопросов вызывает phpunit, звучит страшновато.

Короче я свое мнение высказал. ТЗ говно, потому как в нем недостаточно спецификаций. Это больше походит на заказ клиента во фрилансе. Я такие же задания получаю от "прошаренных".

10 часов. С учетом незнакомого phpunit. Если всё знать, то да, часа 2 думаю.

P.s. ТС, скажи, а чего за довольствие-то? О какой сумме речь, это интересно.

depp
хорошее задание. само по себе лажа полная и набросать загрузчик картинок с удаленного хоста можно за 10 минут.
тут больше проверка на стиль написания кода, знание юнит-тестов, композера и иже с ними.

я бы в такую компанию работать пошел, будучи программистом.
AllesKlar
Ron
Если речь идет об Composer, это значит, что и источник и приемник - подконтрольные сервера.
Следовательно, как ты организуешь хранение картинок на удаленном хосте, так оно и будет.
И неосторожно заявив
Цитата (Ron @ 1.12.2015 - 23:44)
Короче я свое мнение высказал. ТЗ говно, потому как в нем недостаточно спецификаций. Это больше походит на заказ клиента во фрилансе. Я такие же задания получаю от "прошаренных".
можно попасть в очень нелепую ситуацию и ответом: спасибо, уже не нужно ничего писать.

_____________
[продано копирайтерам]
Ron
Цитата (AllesKlar @ 2.12.2015 - 02:27)
Если речь идет об Composer, это значит, что и источник и приемник - подконтрольные сервера.

Откуда это следует? Я ставлю из компоузера ПО, но у меня подконтрольный только мой сервер.

Цитата (AllesKlar @ 2.12.2015 - 02:27)
можно попасть в очень нелепую ситуацию и ответом: спасибо, уже не нужно ничего писать.

Ну нет, так нет. Я человек дотошный, люблю когда задание предоставляют в исчерпывающем виде. Здесь вижу неуместную абстракцию. Это не может называться техническим заданием. Просто какое-то задание, составленное явно не программистом, а со слов программиста. =)

Вообще-то здесь допущена грубейшая ошибка - не указан формат входных данных. Да и выходных, собственно говоря, тоже. Что делать с файлами у которых одинаковое название?

Короче вот это вот не задание. В качестве устной дискуссии и оценки хода мысли подходит идеально. Для написания реального кода фуфло полнейшее.

redreem
Цитата
Напишете пакет для Composer,

с этой строчки можно слать постановщика
inpost
redreem
Отличный врыв! Ха-ха-ха! laugh.gif
Кто не понял, так redreem не любит неграмотных людей laugh.gif

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
chee
Нормальное задание, я бы выполнял 1-3 часа, у меня затруднение вызовет phpunit, это еще тот гемор, его установить сложно и запустить, сам же его использовать не сложно.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Oyeme
Создание пакета https://knpuniversity.com/screencast/questi...omposer-package

Phpunit устанавливается в пару минут. Сама работа с ним для изучения займёт минут 30 для новичка.
Razzwan
Я почитал и удивился. Просто для меня основная трудность как раз реализовать сам механизм. + я не знаю, что такое ФС.

1. Композер - это просто один маленький файлик, который может помочь составить сам composer.
2. PHPUnit тоже не вызывает никаких затруднений - когда код написан, нужно проверить, что желаемое соответствует действительному. Доки там подробные. Только с тестированием БД я не до конца разобрался.
3. Комменты к коду PhpStorm пишет сам.

А вот суть задания я не понял, как и Ron. Что за сервер, с которого мы будем грузить картинки? Должно ли существовать какое-то правило, или нужно пытаться загрузить картинки со всех возможных адресов? (т.е. еще дополнительно нужно автоматически найти, где на сервере эти картинки лежат) Что с этими картинками делать? Уже написал, что не знаю, что значит ФС.

Правильно ли я понимаю, что в пакете должен быть метод, например getImages, вызов которого и произведет вытягивание картинок?
Есть ли смысл использовать для написания фрэймворк? Просто все выглядит так, как будто достаточно одного самописного класса.

Радует, что профессионалы сказали, что это простое задание. Просто оно пришло на вакансию, которая в остальном выглядит адекватно. Меня, признаюсь, задание смутило.

_____________
Youtube канал WebDeveloper->Run()
Сайт для души
Gitter
kaww
Цитата (Razzwan @ 2.12.2015 - 08:41)
что такое ФС

Файловая система.
Ну если из задачи непонятно что нужно, то идти по пути наименьшего сопротивления, а это предположить, что на вход подаются адреса изображений и их нужно скачать и положить на диск. А поскольку это тестовое задание а не реальный проект, то вкрутить интервьюеру можно все что угодно wink.gif

Цитата (Razzwan @ 2.12.2015 - 08:41)
никаких затруднений - когда код написан, нужно проверить, что желаемое соответствует действительному.
разработка через тестирование предписывает обратное - сначала тест, потом код
Razzwan
Спасибо большое. )))

_____________
Youtube канал WebDeveloper->Run()
Сайт для души
Gitter
Razzwan
"На ФС" написано. Я бы написал "В ФС".

_____________
Youtube канал WebDeveloper->Run()
Сайт для души
Gitter
chee
Цитата (Oyeme @ 2.12.2015 - 11:35)
Phpunit устанавливается в пару минут.

Правда, то есть там не нужно создавать скилетоны и прочие вещи, можно запустить консольную команду и она сама подключит классы с тестированием? Если нет, то геморой все так же остался. Я помню как пытался его завести, не завел, потому что он требует слишком много настройки, плюс еще раньше шел через PEAR без альтернатив.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.