Тестовое задание для собеседования на php программиста?

Технические требования:
- Приложение НЕ должно быть написано с помощью какого-либо фреймворка. Но можно использовать различные пакеты, установленные через compоser, включая компоненты Symfony.

Ответ работодателя:
Несмотря на то, что вы подготовили рабочее решение и владеете PHP, ваш опыт не соответствуют нашим текущим потребностям в части знаний ООП, composer (использовании сторонних библиотек). Приложение сложно расширять.
Мы ожидали увидеть приложение с использованием готовых библиотек для работы с HTTP, базой данных, работы с консолью. А также легко расширяемое и поддерживаемое.

Первый раз в жизни мне пишут, что я не использовала сторонние библиотеки. Хотя в требовании было написано, что можно. Но можно и обязательно это не одно и тоже.
И еще - задание рассчитано на 2-3 часа. Что-то мне кажется сомнительным за такое количество времени спланировать расширяемое приложение и прикрутить сторонние библиотеки.

Прошу совета у вас. Может это я не права?
  • Вопрос задан
  • 4641 просмотр
Пригласить эксперта
Ответы на вопрос 5
Maksclub
@Maksclub Куратор тега PHP
maksfedorov.ru
Мы ожидали увидеть приложение с использованием готовых библиотек для работы с HTTP, базой данных, работы с консолью. А также легко расширяемое и поддерживаемое.

Теперь понятно, что они хотят — но в ТЗ не было указано:
  • Под HTTP понимают либы, работающие с PSR 7 или близкие по «духу», например Symfony HTTP Foundation
  • Под БД понимают Doctrine 2 или Eloquent
  • По консольным — на рынкке используют как правило Symfony Console

Именно это и хотели, предлагаю вам либо объяснить и написать уже на компонентах, либо послать к черту, НО отметить этот момент и на будущее таки делать уточнение, каковы ожидания от задания...
Нескольких людей встречал до фанатизма не принимающих сторонние пакеты, и наоборот... Это нужно учитывать... видел задания на PHP 5.3, видел задания строго на Codeigniter...

Тут на Тостере был пример, когда человек применил композер даже не для сторонней либы, а для внутренних, так на него тимлид сокрушился...
Разве Composer бесполезен в 2017?

Люди разные :)


Материал по компонентной разработке

Елена,
не нужно Symfony ассоциировать с фреймворком — это в первую очередь компоненты — потрясающие компоненты:
  • Symfony Console
  • Symfony HTTP Foundation
  • Syfony Routing (к слову очень быстрый, недавно ускорили его в 70 раз ребята и сделали самым шустрым компонентом)
  • Twig
  • Debug
[*!*] В некоторых вакансиях даже указывают, что нужно уметь работать с некоторыми выше перечисленными компонентами :) Пруф: https://novosibirsk.hh.ru/vacancy/25367906

Doctrine — совсем не из Symfony и этот компонент можно использовать где угодно

Zend к слову пошел по тому же пути, например
  • для HTTP Request/Response PSR 7 у него есть отличный компонент Zend Diactoros,
  • для работы с PSR 15 Middleware есть компонент Zend Expressive,
  • для работы с ролями и правами крутое решение Zend ACL

Laravel уже да — фреймворк, и опять же на компонентах, и можно использовать его куски, например у него замечательная ORM (Active Record) — в отличие от AR в Yii2 ее можно (и нужно) использовать в любом кастомном проекте вне фреймворка Laravel или вообще фреймворка там , где Доктрина лишняя


Почитать и посмотреть:

Современный PHP без фреймворков (статья Mail.ru на Хабре)
Консольное приложение (мастер-класс) — собрано из компонента Symfony Console и ORM Eloquent (от Ларавел)
PSR-7 фреймворк от Д.Елисеева
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Ответ работодателя:
Несмотря на то, что вы подготовили рабочее решение и владеете PHP, ваш опыт не соответствуют нашим текущим потребностям в части знаний ООП, composer (использовании сторонних библиотек). Приложение сложно расширять.
Мы ожидали увидеть приложение с использованием готовых библиотек для работы с HTTP, базой данных, работы с консолью. А также легко расширяемое и поддерживаемое.

Бесплатный сбор с кандидатов различных интересных архитектур и подходов на open-source решениях/либах для своих будущих разработок под видом тестирования. И ничего более...
Ответ написан
Комментировать
sim3x
@sim3x
На ваш вопрос может ответить только тот, кто писал вам ответ

Отказ вам мог быть дан по обьективным причинам так и нет

Но можно и обязательно это не одно и тоже.
если библиотека общеупотребима в стеке, но вы сделали свой велосипед (на уровне трейни/джуна) - значит замечание корректно

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

Приложение НЕ должно быть написано с помощью какого-либо фреймворка. Но можно использовать различные пакеты, установленные через compоser, включая компоненты Symfony.
судя по описанию, вас попросили имитировать симфони без прямого использования самой симфони

В следующий раз, попросите того кто будет проверять вашу работу, указать на ключевые моменты, которые важны для него
Ответ написан
@vanyamba-electronics
Ваш опыт не соответствует их требованиям.
Вы избежали нещадной эксплуатации.
Ответ написан
Комментировать
lokki00003
@lokki00003
Web developer
Сидит дурак у которого есть деньги и он не знает куда их деть.
К тому же дурак начитанный.
Laravelami, фреймворками и другими пакостями голова набита.
Мне один писал что нужно делать одно из приложений типа мессенджер только на angular причём в качестве аргументов выбранного фреймворка приводил сайт сделанный для компании "Аэрофлот".
Я ему объяснил где он,а где Аэрофлот.
Посылайте их.Ищите адекватных работодателей
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы