Тестовое задание middle php

Тестовое задание middle php

Сегодня пост будет поделён на две части: одно и то же задание из реальной компании для позиции Middle и Senior Web Developer

В конкретной вакансии указывается язык программирования и иногда версия языка. Ну пусть это будет NodeJS или PHP — смысл задачи не меняется. NodeJS 5 и NodeJS 11 отличаются по возможностям, так же как PHP 5.6 и PHP 7.2 или Python 2.7 и Python 3.7).
В задании может быть указан фреймворк, а иногда просят наоборот, без фреймворка сделать, вот к примеру тестовое задание — сокращатель ссылок без фреймворков).
Также нужен навык работы с указанной базой данных: MySQL 5.5 отличается от MySQL 8, так же как PostgreSQL, MongoDB и другие.

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

Для решения задачи понадобится понимание парадигмы REST API, навык работы с XML, опыт защиты доступа к данных путём авторизации. Не лишним будет понимание, как работают крон-задачи. И важным плюсом будет уменить написать тесты.

Ожидаемое решение этой задачи — это условно несколько файлов помимо фреймворка:

  • скрипт для доступа к базе данных к указанной сущности (так называемая модель данных)
  • скрипт для создания модели данных этой сущности в базе данных (так называемая миграция)
  • скрипт, который запускается из консоли вручную или (так называемый консольный контролер), обращается к чужому серверу по HTTP, разбирает ответ формата XML, сохраняет в базу данных
  • скрипт, который будет выдавать сведения из базы данных при запросах по HTTP протоколу (так называемый веб-контролер)
  • скрипт, который будет проверять доступ к данным при запросах по HTTP протоколу
  • скрипт для тестирования консольного контролера и веб-контролера
Читайте также:  Телефон асус зенфон 3 мах

Ты зашел в эту статью с целью найти решение? Его не будет. Но ты можешь прислать мне своё, а я его оценю и дам подробную обратную связь. Мои контакты.

Как считаешь, это задание можно применять для веб-разработчиков уровня Senior? Чем вообще отличается сеньор от миддла?

Кратко так: миддлу надо объяснить, что от него ожидать (вот, пример сверху — я описал ожидаемое решение), сеньору надо дать понять, какую проблему надо решить, а сеньор подберёт решение самостоятельно, при необходимости озвучит его, учтёт замечания, реализует и обеспечит стабильный результат. Синьор — самостоятельный. И тут уже не столько программирование, сколько принципы и подходы.

Задание для Senior могло бы звучать так:

Необходимо организовать запись на участие в полете на Марс через форму на сайте:

Валидация полей происходит на клиентской стороне с моментальным выводом сообщений об ошибках.

Частично заполненная форма сохраняется в браузере и не очищается при перезагрузке страницы.

Отправленные через форму заявки сохраняются в базе. Нужно предусмотреть страницу, где будет выводиться список отправленных заявок.

Форма должна корректно работать на мобильных устройствах.

Движок

Задание должно быть реализовано на Modx Revo 2.6.5+

Оформление результатов

В качестве результата выполнения задачи принимаются ссылки на готовый сайт с данными для входа в админку с правами администратора.

Если у вас нет своего сервера для выполнения и демонстрации тестового задания, мы предоставим вам доступ к тестовому серверу с уже установленным чистым Modx Revo.

Делюсь некоторыми тестовыми заданиям, с которыми столкнулся при поиске работы на джуниора.
Если вам недостаточно заданий — просто разошлите компаниям на ХедХантере письма с просьбой выслать тестовое задание.

Тестовые задания Yii2

Создание REST API
Реализовать CRUD с регистрацией для авторов и книг. Подробнее

Читайте также:  Dell inspiron 5565 характеристики

Парсер видео
Создать парсер видео с Youtube, Rutube, Vimeo — парсинг данных по ссылке или iframe и занесение их в БД. Подробнее

Агрегатор логов Apache
Собрать логи сервера и записать их в БД, также вывести с возможностью фильтрации. Подробнее

Тестовые задания на Symfony

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

Игра «Электрик»
Усложненная версия игры — переключение лампочек по клику с эффектом неожиданного погасания лампочки. Подробнее

Система пользователей для заказа запчастей
Реализовать раздел, в котором пользователи смогут создавать запросы на запчасти, а магазины, у которых есть запчасти, соответствующие запросам пользователей, смогут получать эти запросы. Подробнее

Тестовые задания на фреймворках

Форма обратной связи (Laravel)
Форма обратной связи с фиксацией заявок и возможностью их обработки менеджером. Подробнее

Парсер новостей из RSS изданий (CodeIgniter)
Нужно брать статьи из 5 источников RSS и сохранять их в БД. Подробнее

Минисправочник (задание в 2ГИС)
Реализовать справочник с адресами, компаниями и зданиями. Нужно реализовать REST и возможность выборки по радиусу/квадрату от заданного положения. Подробнее

Тестовые задания строго без фреймворка

Тестовое задание для web-разработчика (дискретка)
Реализовать структуру БД и класс(-ы) для работы с ориентированным нецикличным графом. Подробнее

Расписание поездок курьеров в регионы
Вывод занятых и свободных курьеров с возможностью фильтрации и данными по поездкам. Подробнее

Создание REST без фреймворков под высокие нагрузки
Новостной каталог с рубриками, авторами и новостями для 100 тыс записей. Реализация REST. Подробнее

Менеджер задач
Обычный менеджер задач. Подробнее

Сократитель ссылок без фреймворка
Генерация короткого url с записью в БД и проверкой уникальности. Должна работать переадресация. Подробнее

Читайте также:  Простая цепь в графе

Напишите REST API для генерации рандомного числа
Каждой генерации присваивать уникальный id по которому можно получить результат генерации. Должны быть доступны 2 публичных API метода generate() и retrieve(id)

Куда без блокчейна в 2017 году? 🙂

Список дел на Solidity
Реализовать, используя язык Solidity смарт-контракт для добавления записей. Подробнее

На Хекслете опубликовали список тестовых заданий, но для разных языков.

Ссылка на основную публикацию
Телефон греется и тормозит что делать
Почему тормозит устройство на Andro >Прежде чем перейти непосредственно к решению проблем, стоит указать на их причины. Зная о том,...
Стоит ли учиться на нефтяника
Добыча газа и нефти — очень популярная сфера в России. Именно поэтому большое количество выпускников стремится поступать на специальность «Нефтегазовое...
Стойка для аудио аппаратуры своими руками
Решил создать данную тему,т.к. думаю форумчанам будет интересно почитать, а кому то и поделиться личным опытом, по изготовлению своими руками...
Телефон завис на загрузке андроид
В результате поломки аппаратной части или сбоя в работе ОС любой Android-смартфон может перестать реагировать на кнопку включения. Частой можно...
Adblock detector