Задачи для собеседования и список тем для прохождения собеседования на ваканчию «PHP-разработчик» в отдел веб-разработки.
-
Вы отправили резюме или с вами связался наш HR.
-
Получили ссылку на этот репозиторий.
====== ВЫ НАХОДИТЕСЬ ЗДЕСЬ ======
-
Ознакомились с темами и решили тестовую задачу, в течение недели получили обратную связь в виде issues в своём репозитории от разработчиков и итоговый ответ от HR в почте или по телефону.
-
Если всё ок, то пришли на собеседование, в течение недели получили обратную связь от HR.
-
Если всё ок, то вышли на стажировку сроком от 1 до 3 месяцев.
…
-
PROFIT!
Ничего страшного, если вы с частью технологий ещё не успели поработать, а про часть вообще только читали на Habr. Если не знаете ответа на вопрос, то так об этом и скажете — это позволит нам скорректировать ваш план обучения.
О чём мы с вами будем говорить:
- Версии PHP, с чем работали, чем отличаются
- PSR
- Composer
- Логирование
- ORM
- Кеширование
- Отладка
- ООП
- Объекты / классы / интерфейсы / трейты.
- Базовые концепции ООП.
- Принципы проектирования (SOLID и другие).
- Шаблоны проектирования
- Архитектура
- Клиент-сервер, например «Что происходит, когда вы ввели url в браузере и как сервер обработает этот запрос и вернёт ответ»
- Горизонтальное и вертикальное масштабирование
- Изменение архитектуры при повышении нагрузки х2, х5, х10.
- Базовые понятия Javascript
- Базовые понятия MySQL
- SELECT/INSERT/UPDATE
- HAVING/GROUP BY
- Индексы
- Оптимизация SQL-запросов
- Битрикс
- Магазин
- Разработка собственных модулей/тиражных решений
- Битрикс24
- Общий функционал системы
- Роботы и бизнесс-процессы
- Разработка собственных приложений
Тестовое задание — 4 часа. Времени не достаточно и мы об этом знаем. Ваша задача спроектировать систему целиком, продумать вопросы и начать реализовывать функционал, сколько успеете. Все, что не успели, потом можно будет просто дорассказать.При проверке обращаем внимание на «целостность» системы, деталями реализации классов/методов/функций можно пренебречь.
Если есть спорные моменты и/или неточности в постановке задачи, то вы можете сами вводить ограничения исходя из того, как вы видите «со стороны бизнеса» и «здравого смысла». Просто укажите эти ограничения в коде как //TODO
.