Техническое собеседование Middle PHP-разработчика с разбором ответов по PHP, архитектуре, базам данных, Git и DevOps-практикам. Интервьюер уточняет теоретические определения и просит соотносить их с реальным опытом кандидата.
Запись технической части собеседования на вакансию Middle PHP-разработчика в неназванном стартапе; автор оценивает вилку как примерно 150–190 тысяч, но название работодателя не раскрыто. Кандидат отвечает на вопросы по ООП, PHP, типизации, замыканиям, паттернам, MVC, REST API, базам данных, Git и инфраструктурным практикам, а интервьюер уточняет и корректирует отдельные ответы. В конце интервьюер говорит, что впечатление в целом положительное и кандидат, вероятно, пройдёт дальше, однако окончательное решение в видео не сообщается.
Подготовить не только определения инкапсуляции, наследования и полиморфизма, но и рабочие примеры: кандидат объясняет абстрактный класс для двух платёжных систем с общей обработкой и отдельной реализацией URL платежа.
Разобраться в типизации PHP: различать типизацию по умолчанию с приведением значений и строгий режим, а также уметь объяснить, почему строгая типизация может выявлять несовместимость внешнего API.
Отрепетировать вопросы о передаче аргументов в PHP, анонимных и стрелочных функциях, замыканиях и сохранении внешнего контекста.
Знать назначение Abstract Factory, Factory Method и Singleton не только по определению: интервьюер отдельно отмечает проблемы Singleton при тестировании и мокировании из-за глобального состояния.
Уметь объяснить MVC как разделение бизнес-логики и представления, включая применимость к backend, где представлением может быть JSON, XML или HTTP-ответ без тела.
Повторить REST API и HTTP-методы, особенно различие PUT и PATCH, а также практику документирования API через Postman и Swagger.
Повторить индексы, нормализацию и денормализацию: индексы ускоряют чтение, но удорожают обновления; денормализация может сократить JOIN и ускорить SELECT ценой избыточности данных.