тестовые задания для php junior

Блог Максима Федорова

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

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

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

Парсер видео
Создать парсер видео с 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 смарт-контракт для добавления записей. Подробнее

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

Источник

Какое тестовое задание junior php дают на собеседовании?

В интернете полно информации про устное собеседование на junior php.

А что по поводу тестового задания?

тестовые задания для php junior. Смотреть фото тестовые задания для php junior. Смотреть картинку тестовые задания для php junior. Картинка про тестовые задания для php junior. Фото тестовые задания для php junior

тестовые задания для php junior. Смотреть фото тестовые задания для php junior. Смотреть картинку тестовые задания для php junior. Картинка про тестовые задания для php junior. Фото тестовые задания для php junior

тестовые задания для php junior. Смотреть фото тестовые задания для php junior. Смотреть картинку тестовые задания для php junior. Картинка про тестовые задания для php junior. Фото тестовые задания для php junior

тестовые задания для php junior. Смотреть фото тестовые задания для php junior. Смотреть картинку тестовые задания для php junior. Картинка про тестовые задания для php junior. Фото тестовые задания для php junior

тестовые задания для php junior. Смотреть фото тестовые задания для php junior. Смотреть картинку тестовые задания для php junior. Картинка про тестовые задания для php junior. Фото тестовые задания для php junior

тестовые задания для php junior. Смотреть фото тестовые задания для php junior. Смотреть картинку тестовые задания для php junior. Картинка про тестовые задания для php junior. Фото тестовые задания для php junior

тестовые задания для php junior. Смотреть фото тестовые задания для php junior. Смотреть картинку тестовые задания для php junior. Картинка про тестовые задания для php junior. Фото тестовые задания для php junior

тестовые задания для php junior. Смотреть фото тестовые задания для php junior. Смотреть картинку тестовые задания для php junior. Картинка про тестовые задания для php junior. Фото тестовые задания для php junior

Антон Клочков, оффтоп конечно, но расскажите пожалуйста всё что связано с IQ тестом, если не сложно, можно в двух словах: что вам сказали когда давали тест, аргументировали ли чем-нибудь, что он вообще из себя представляет.

тестовые задания для php junior. Смотреть фото тестовые задания для php junior. Смотреть картинку тестовые задания для php junior. Картинка про тестовые задания для php junior. Фото тестовые задания для php junior

тестовые задания для php junior. Смотреть фото тестовые задания для php junior. Смотреть картинку тестовые задания для php junior. Картинка про тестовые задания для php junior. Фото тестовые задания для php junior

тестовые задания для php junior. Смотреть фото тестовые задания для php junior. Смотреть картинку тестовые задания для php junior. Картинка про тестовые задания для php junior. Фото тестовые задания для php junior

тестовые задания для php junior. Смотреть фото тестовые задания для php junior. Смотреть картинку тестовые задания для php junior. Картинка про тестовые задания для php junior. Фото тестовые задания для php junior

Тестовое в разных конторах разное. Для джуна это обычно: Таск-менеджер или примитивный блог, с необходимыми заказчику технологиями и, чаще с ограниченным временем. Могут попросить сделать что-либо на чистом PHP, например ваше представление модели MVC.

В общем задача включающая в себя решение базовых принципов львиной доли сайтов на рынке: регистрация, авторизация. Работа с формой (публикация новостей, создание таски/задачи). Работа с БД, в частности с JOIN, тут либо комментарии к постам, либо теги у задачи.

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

тестовые задания для php junior. Смотреть фото тестовые задания для php junior. Смотреть картинку тестовые задания для php junior. Картинка про тестовые задания для php junior. Фото тестовые задания для php junior

тестовые задания для php junior. Смотреть фото тестовые задания для php junior. Смотреть картинку тестовые задания для php junior. Картинка про тестовые задания для php junior. Фото тестовые задания для php junior

Тестовое в разных конторах разное.

тестовые задания для php junior. Смотреть фото тестовые задания для php junior. Смотреть картинку тестовые задания для php junior. Картинка про тестовые задания для php junior. Фото тестовые задания для php junior

тестовые задания для php junior. Смотреть фото тестовые задания для php junior. Смотреть картинку тестовые задания для php junior. Картинка про тестовые задания для php junior. Фото тестовые задания для php junior

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

2) Дан текст в который включены ключи raz: dva: tri:
текст может располагаться как перед ключами так и после

Источник

Собеседование на PHP разработчика. Более 100 вопросов для Junior, Middle и Senior

Собрал список вопросов, по которым можно подготовиться к собеседованию или которые можно спросить у дипломированного PHP-разработчика. Конечно, список, не является исчерпывающим. Больше вопросов с кодом в нашем телеграм-канале @phpquiz. Погнали по вопросам!

Junior

Основы

Какие основные операции с использованием ссылок?

Назовите простые типы данных, поддерживаемые в РНР?

Что такое инкремент и декремент, в чем разница между префиксным и постфиксная инкрементом и декрементом?

Что такое рекурсия?

В чем разница между =, == и ===?

Какие знаете принципы ООП?

Какая система типов используется в PHP? Опишите плюсы и минусы.

Чем отличаются ключевые слова: include и require, mysql_connect и mysql_pconnect?

Что такое абстрактный класс и чем он отличается от интерфейса?

Может ли абстрактный класс содержать частный метод?

Какие модификаторы видимости есть в РНР?

Какие магические методы вы знаете и как их применяют?

Что такое генераторы и как их использовать?

Что делает оператор yield?

Что такое traits? Альтернативное решение? Приведите пример.

Опишите поведение при использовании traits с одинаковыми именами полей и / или методов?

будут доступны частные методы trait в классе?

можно компоновать traits в trait?

Расскажите об обработке ошибок и исключения (try catch, finaly и throw).

Что такое type hinting, как работает, зачем нужен?

Что такое namespace и зачем они?

Сравнение значений переменных в РНР и подводные камни? Приведение типов. Что изменилось в PHP 8 в этом контексте?

Как работает session в РНР, где хранится, как инициализируется?

Cуперглобальные массивы. Какие знаете? Как использовали?

Сравните include vs required, include_once vs required_once.

Что означает сложность алгоритма?

Что такое замыкание в PHP? Приведите пример.

Какая разница между замыканием в PHP и JavaScript?

Что такое позднее связывание? Расскажите о поведении и применения static.

Расскажите о SPL-библиотеку (Reflection, autoload, структуры данных).

Расскажите о принципах SOLID.

Расскажите о шаблонах GRASP.

Расскажите о Dependency Injection: что такое DI-контейнеры? Какие есть варианты реализаций?

Что вам известно о MVC?

Что вам известно о шаблонах GoF?

Что вам известно о шаблонах, которые применяются в ORM?

Напишите / расскажите на PHP пример реализации паттерна Singleton.

Что такое Docker? Каков принцип его работы?

Что такое LAMP / NAMP?

Расскажите о regexp.

Расскажите о SSH-протокол.

​​Что нового появилось в PHP 8?

Какие версии PHP до сих пор поддерживаются?

В чем разница между GET и POST?

Какие еще HTTP-методы знаете?

Чем отличаются операторы BREAK и CONTINUE?

Есть ли разница между одинарными и двойными кавычками?

Что такое cookie и зачем они используются?

Что нельзя хранить в cookie и почему?

Какую среду разработки предпочитаете и почему?

Какой командой добавить изменения?

Какой командой зафиксировать изменения?

Какой командой отправить изменения в удаленный репозиторий?

Базы данных

Что такое транзакция?

Что такое нормализация?

Что такое денормализации? Для чего она нужна?

Какие типы связей в базе данных?

Что означает утверждение о том, что СУБД поддерживает контроль ссылочной целостности связей?

Если используемая вами СУБД не поддерживает каскадные удаления для поддержки ссылочной целостности связей, что можно сделать для достижения аналогичного результата?

Что такое первичный и внешний ключи?

Какие различия между первичным и уникальным ключами?

Какие типы JOIN и в чем различия?

Что такое курсоры в базах данных?

Что такое агрегатные функции SQL? Приведите несколько примеров.

Что такое миграции?

Расскажите о связи друг к другу, один ко многим, многие ко многим.

Зачем используют оператор группировки GROUP BY?

В чем разница между WHERE и HAVING? Приведите примеры.

В чем разница между операторами DISTINCT и GROUP BY?

Для чего нужны операторы UNION, INTERSECT, EXCEPT?

Опишите разницу типов данных DATETIME и TIMESTAMP.

Какие вы знаете двигатели таблиц и чем они отличаются?

Какие способы оптимизации производительности баз данных знаете?

Что такое партицирование, репликация и шардинг?

Чем отличаются SQL от NoSQL базы данных?

Какие бывают NoSQL базы данных?

Какие типы данных есть в MySQL?

Разница между LEFT JOIN, RIGHT JOIN, INNER JOIN?

Разница между JOIN и UNION?

Что такое индексы? Как они влияют на время выполнения SELECT, INSERT?

Что такое хранимые процедуры, функции и триггеры в MySQL? Для чего они? Приведите примеры использования.

Как организовать сохранность вложенных категорий в MySQL?

Практические задания

Спроектируйте базу данных для хранения информации о книгах и их авторов. Напишите запрос для выборки всех авторов и количества написанных ими книг.

Есть матрица 3 × 3. Посчитайте диагонали, только парные / нечетные числа в диагоналях.

Ваш приложение выдает 500 ошибку. Опишите последовательность поиска проблемы.

Напишите функцию, которая определяет, слово является палиндромом.

Какой результат выдаст такой код и почему: If (-1) print «True» else print «False»

Какой результат выдаст такой код и почему: var_dump (array_merge ([2 => ‘a’], [3 => ‘b’]));

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

Есть массив Integer, напишите возможные способы, как увеличить каждый элемент на единицу (1).

Order

User

Напишите запрос для увеличения значения column1 на 1 для id = 2

Напишите цикл for так, чтобы аргумент цикла менялся в геометрической прогрессии.

Что выведут выражения:
print (!! «false»)
print (!! true)
print ((int) ‘125g7’)
print ((int) ‘x52’)

Результат выполнения функции? Как исправить результат?
in_array (1, [0, ‘0’, true])

Напишите класс с реализацией всех возможных способов строгой типизации данных с учетом возможностей PHP 8.

Middle

Основы

Как передаются переменные (по значению или по ссылке)?

Какие процессы происходят, когда пользователь вводит в браузере URL?

Что такое вариативная функция или spread-оператор?

Какие типы уязвимостей знаете? Как от них защищаться?

Что такое идемпотентность метода? Какие HTTP-методы являются идемпотентными для REST?

Что такое stateless?

SOAP vs REST. В чем разница?

Какие методы авторизации используют для построения API?

Что может содержать интерфейс?

Класс содержит свойство, которое, в свою очередь, является объектом. Что будет содержать это свойство в клонированный объект: ссылка на тот же дочерний объект или копию дочернего объекта? Что нужно сделать, чтобы это изменить?

Что такое Mock? Где используют и зачем?

Опишите реализацию одного из шаблонов проектирования.

Как хранятся данные в redis / memcached?

Расскажите о целесообразности применения redis / memcached для кэширования. Какие плюсы и минусы?

Назовите различия между nginx и apache.

Что такое opcash? Как он работает?

Что такое JIT? Как он работает?

Зачем нужно ключевое слово final?

Что нового в РНР 7/8?

Что такое SOLID, DRY, KISS, YAGNI?

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

Что такое простая фабрика?

Что такое Service Layer и где его следует применять?

Как устроен Singleton и почему его считают антипатерном?

Что такое идемпотентность?

Опишите жизненный цикл HTTP-запроса?

Что такое куча и стек?

Что такое рефлексия?

Что такое хэш-функция и где она используется?

Как применяются очереди в РНР?

Как в общих чертах работает opcache?

Чем отличаются модульные тесты от интеграционных?

Что такое трейты? Как применять на практике?

Как разрешить конфликты при использовании trait?

Как работает автозагрузки классов?

В чем разница между стеком и очередью?

Расскажите о Unit Tests (required), Functional Tests (optional). Моки и стаб в PHP.

Представим ситуацию, в которой нам нужно вызвать частный метод, как это сделать?

Опишите разницу между PHP-FPM и PHP на сокете.

Как бы вы реализовали загрузки больших отчетов с большим количеством данных (файлы от 1 гигабайта до N гигабайт).

​​Как бы вы импортировали 50-гигабайтный файл xml в базу данных?

Почему после PHP 5 идет сразу 7, куда делась 6?

Есть ли разница между self и this в PHP?

У нас есть важный PHP-файл, его надо запускать каждые 20 секунд, как бы вы это сделали?

Как расшифровать 644 в правах на файл в Linux?

В чем разница между merge и rebase?

Какой командой можно сделать ресет изменений, не потеряв их?

Что такое stash и зачем он нужен?

Базы данных

Какая разница между MyISAM i InnoDB? В каких случаях и лучше применять?

Как найти и оптимизировать «тяжелые» запросы?

Какие типы индексов?

Как хранить координаты точки на карте в БД?

Какие типы индексов бывают в RDBMS?

Какое свойство полей БД нужно учитывать при выборе типа индекса?

Когда следует использовать индексы, преимущества и недостатки?

Что такое план выполнения запроса и как его узнать?

В чем разница между типами данных CHAR и VARCHAR в SQL?

Каково назначение транзакций? Расскажите о принципе работы.

Назовите 3-4 нормальные формы реляционных БД.

Каково назначение репликации? Какие типы связей и в чем разница между ними?

Что такое индексация? Какие типы индексов? Какой смысл их использовать?

Что такое полнотекстовый поиск в MySQL? Как он реализуется?

Что такое cursor в MySQL-процедурах?

Расскажите о RabbitMQ или Gearman.

Что знаете о Solr / ElasticSearch?

Что такое deadlock MySQL?

Влияет ли порядок JOIN на план выполнения MySQL-запроса?

Практические задания

Вам нужно спарсить продукты и их цены с интернет-магазина. С помощью чего будете это делать и какие основные нюансы нужно учесть?

Для сайта пользователей необходимо сделать механизм добавления и отображения аватарок. Как бы вы его реализовали?

Какой результат выдаст такой код:

Какие модификаторы доступа допустимые в реализации метода getName

Реализуйте очередь сообщений, используя MySQL для хранения данных. Как избежать ситуации, когда несколько воркеров получат в обработку одинаковое сообщение?

Есть мануал на API с курсом валют. Нужно найти минимумы-максимумы за 5 лет, а потом то же, но с разбивкой по месяцам.

Напишите архитектуру, которая основывается на базовой абстракции. Дочерние классы расширяются с помощью интерфейсов. Реализацию одинаковых методов выполните, используя трейты (реализовывать в абстракции).

Источник

H Вопросы и тестовые задания на позицию Junior PHP Developer в черновиках Recovery Mode

тестовые задания для php junior. Смотреть фото тестовые задания для php junior. Смотреть картинку тестовые задания для php junior. Картинка про тестовые задания для php junior. Фото тестовые задания для php junior
Привет всем!
В последнее время побывал на многих собеседованиях, позиционируюсь я как Junior PHP Developer. До этого я нереально боялся всех собеседований, боялся завалить их, пытался готовиться к ним, гуглил примерно такого рода статьи, которую пишу сейчас (и находил не прямо так много информации). Здесь я хотел бы оставить список всех возможных вопросов, которые Вам могут задать на собеседовании с техническим специалистом, которые задавали мне в различных компаниях, а так же тестовые задания которые мне приходилось выполнять, чтобы добраться до технических собеседований. Помимо PHP сюда вставлю парочку вопросов по MySQL, конечно же. Поехали!

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

Тестовое задание второй компании:

Создайте на *название вашего фреймворка* доску объявлений.
Должен присутствовать функционал регистрации и авторизации пользователей. После того как пользователь зарегистрировался и авторизовался он может заполнить информацию о себе и загрузить свое фото, добавить объявления с фото. К профилю пользователя можно добавлять текстовые комментарии и ставить оценку (рейтинг от 1 до 5). На главной странице сайта отображаются 20 последних добавленных объявлений и присутствует пагинация.
Готовый функционал нужно выложить на Git и прислать нам.

Тестовое задание третьей компании:

1. Создать справочник журналов, с возможностью CRUD. У каждого журнала должны быть:

1.1 Название. (Обязательное поле)
1.2 Короткое описание. (Необязательное поле)
1.3 Картинка. (jpg или png, не больше 2 Мб, должна сохраняться в отдельную папку и иметь уникальное имя файла)
1.4 Авторы (Обязательное поле, может быть несколько авторов у одного журнала, должна быть возможность выбирать из списка авторов, который создается отдельно).
1.5 Дата выпуска журнала.

2. Список авторов создается отдельно. Также должна быть возможность добавления, удаления и редактирования. У каждого автора должны быть:
2.1 Фамилия (Обязательное поле, не короче 3 символов)
2.2 Имя (Обязательное, не пустое)
2.3 Отчество (Необязательное)

3. На выходе получаем:
3.1 Просмотр отдельно страниц журналов и авторов.
3.2 На странице авторов:
3.2.1 Должна быть возможность увидеть список всех журналов определенного автора.
3.2.2 Сделать сортировку авторов по фамилии
3.3.3 Сделать сотрировку таблицы по дате выпуска журнала.
3.4 Работа с каждой отдельной страницей должна происходить без её перезагрузки с использованием jQuery (или Angularjs).
3.5 Сделать пагинацию по журналам и авторам
4. Рекомендуемое время выполнения задания — 4 часа.

Всем удачных подготовок и прохождения собеседований!

Источник

PHP: Тестовое задание для разработчика // PHP

тестовые задания для php junior. Смотреть фото тестовые задания для php junior. Смотреть картинку тестовые задания для php junior. Картинка про тестовые задания для php junior. Фото тестовые задания для php junior

После прохождения собеседования, для разработчика наступает испытательный срок. Это один из самых тяжелых этапов для человека на новой работе – идет адаптации с новым коллективом, нескончаемый поток новых знаний, которые с трудом успеваешь усваивать, да еще и тестовое задания, и оно не из простых.

Не буду ходить вокруг да около, а напишу какое оно есть, и надеюсь на Ваши комментарии:

Данное тестовое задание скорей всего больше подходит для junior разработчика, чем для матерого волка seniorа.

Аннотация

Данный документ описывает тестовое задание, которое должен выполнить претендент на должность Junior PHP Developer.
Задание рассчитано на 80 часов разработки. После завершения тестового задания принимается решение, оно может быть одним из следующих:

Тестовое задание разделено на четыре составляющих – первая часть обязательна, остальные не являются обязательными, и связаны только с первой частью. Тем не менее выполнение необязательных частей является безусловным плюсом.

Гостевая книга

Гостевая книга предоставляет возможность пользователям сайта оставлять сообщения на сайте. Все данные введенные пользователем сохраняются в БД MySQL, так же в базе данных сохраняются данные о IP пользователя и его браузере.
Форма добавления записи в гостевую книгу должна иметь следующие поля:

Сообщения должны выводится в виде таблицы, с возможностью сортировки по следующим полям: User Name, e-mail, и дата добавления (как в порядке убывания, так и в обратном). Сообщения должны разбиваться на страницы по 25 сообщений на каждой. Сортировка по умолчанию – LIFO.
При написании проекта следует обратить внимание на защиту от XSS атак и SQL –инъекций. (http://ru.wikipedia.org/wiki/Межсайтовый_скриптинг и http://ru.wikipedia.org/wiki/Инъекция_SQL)
Приветствуется создания простейшего дизайна с использованием CSS.

Гостевая книга. JavaScript и работа с файлами.

К базовой функциональности, следует добавить следующие возможности:

Гостевая книга. Регулярные выражения.

К базовой функциональности, следует добавить следующие возможности:

Гостевая книга. JavaScript и AJAX.

К базовой функциональности, следует добавить следующие возможности:

Требования

Система должна корректно работать на ОС Linux со следующей конфигурацией:

Допустимо использовать следующие библиотеки:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *