Перейти к основному содержимому

Вопросы на собеседовании

Вопросы на собеседовании PHP-разработчика

25 вопросов на собеседовании PHP-разработчика: PHP 8 и типизация, Composer, Laravel и Symfony, SQL и ORM, OPcache, legacy-миграции, кейсы.

Поделиться:TGVKWA
PHP 8 и типизацияComposerLaravel/SymfonySQL и ORMПроизводительность и OPcacheМиграция legacy-кодаОчереди и кэширование

📈 Готовитесь к собеседованию? Получайте свежие вакансии PHP-разработчик на почту или в Telegram — и откликайтесь, пока подготовка свежая.

бесплатно
Бесплатно, без регистрации

Мини-собеседование: PHP-разработчик

Прочитать вопросы мало — на интервью придётся говорить. Ответьте на один вопрос своими словами, 2–3 предложений хватит, и ИИ разберёт ответ по четырём критериям: структура, конкретика, релевантность, убедительность.

123
HR-вопросДля всех уровней

Почему вы выбрали разработку на PHP и чем вас привлекла именно наша компания?

2–3 предложения достаточно · ещё 20 симв.

Типовые вопросы и подсказки к ответам

Используйте подсказки как каркас ответа: добавьте свои проекты, метрики, ограничения и выводы. Любой вопрос можно тут же проговорить — кнопка «Ответить и получить разбор ИИ» отправит его в мини-собеседование выше.

HR-вопрос

Вопрос 1Для всех уровней

Почему вы выбрали разработку на PHP и чем вас привлекла именно наша компания?

Показать подсказку ▾

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

Резюме открывают раньше, чем зовут на собеседование. Соберите версию под «PHP-разработчик» с ИИ — около 10 минут, начать можно бесплатно.

Резюме под эту роль

Технический вопрос

Вопрос 1Для всех уровней

Что такое readonly-свойства и readonly-классы в PHP 8 и когда их стоит использовать?

Показать подсказку ▾

Как отвечать: Объясните неизменяемость после инициализации, применение для DTO и value-объектов, приведите пример из своего кода.

Вопрос 2Для всех уровней

Что даёт declare(strict_types=1) и как вы относитесь к строгой типизации в PHP?

Показать подсказку ▾

Как отвечать: Расскажите про строгую проверку скалярных типов, union- и nullable-типы и почему включаете strict_types в новых файлах.

Вопрос 3Middle

Чем enum в PHP 8.1 отличается от класса с константами?

Показать подсказку ▾

Как отвечать: Упомяните типобезопасность, backed enum, методы перечислений и невозможность передать произвольное значение.

Вопрос 4Для всех уровней

Как устроен Composer: что такое composer.lock, PSR-4-автозагрузка и почему vendor не коммитят?

Показать подсказку ▾

Как отвечать: Объясните фиксацию версий в lock-файле, сопоставление неймспейсов каталогам и установку зависимостей через composer install.

Вопрос 5Junior

Какие нововведения PHP 8 вы используете чаще всего на практике?

Показать подсказку ▾

Как отвечать: Назовите match, nullsafe-оператор, promotion свойств в конструкторе, атрибуты и покажите, где они упрощают код.

Вопрос 6Middle

Чем выражение match отличается от switch и когда вы предпочитаете match?

Показать подсказку ▾

Как отвечать: Сравните строгое сравнение без приведения типов, возврат значения, отсутствие break и ошибку при необработанном случае.

Вопрос 7Для всех уровней

С каким фреймворком вы работали больше — Laravel или Symfony — и в чём ключевые различия их подхода?

Показать подсказку ▾

Как отвечать: Опишите свой реальный опыт: скорость разработки и «магию» Laravel против строгости и компонентной архитектуры Symfony.

Вопрос 8Middle

Что такое проблема N+1 в ORM и как вы её находите и устраняете?

Показать подсказку ▾

Как отвечать: Объясните ленивую загрузку связей, eager loading (with/preload), и как отслеживаете запросы через Debugbar или лог запросов.

Вопрос 9Middle

Как вы организуете миграции базы данных и меняете схему без простоя продакшена?

Показать подсказку ▾

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

Вопрос 10Middle

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

Показать подсказку ▾

Как отвечать: Приведите пример многошаговой операции, назовите READ COMMITTED и REPEATABLE READ, упомяните блокировки и дедлоки.

Вопрос 11Middle

Как вы ищете и ускоряете медленные SQL-запросы?

Показать подсказку ▾

Как отвечать: Опишите slow query log, EXPLAIN, покрывающие и составные индексы и пример запроса, который вы реально ускорили.

Вопрос 12Senior

Как вы строите обработку задач в очередях: повторные попытки, идемпотентность, задержки?

Показать подсказку ▾

Как отвечать: Расскажите про Laravel Queue или RabbitMQ, уникальные ключи операций, retry с backoff и обработку poison-сообщений.

Вопрос 13Middle

Как работает OPcache и какие настройки важны для продакшена?

Показать подсказку ▾

Как отвечать: Объясните кэширование байт-кода, memory_consumption и max_accelerated_files, preloading и сброс кэша при деплое.

Вопрос 14Middle

Чем вы профилируете PHP-приложение и какие метрики смотрите в первую очередь?

Показать подсказку ▾

Как отвечать: Назовите Blackfire, Xdebug-профайлер или Tideways, смотрите время CPU, ожидание БД, потребление памяти и медленные вызовы.

Вопрос 15Senior

Как вы подходите к миграции legacy-кода: что делаете в первую очередь?

Показать подсказку ▾

Как отвечать: Упомяните покрытие критичных сценариев тестами как страховку, рефакторинг маленькими шагами и подход Strangler Fig.

Вопрос 16Middle

Как вы используете Redis в проектах и решаете вопрос инвалидации кэша?

Показать подсказку ▾

Как отвечать: Приведите примеры: кэш данных, сессии, блокировки, тегирование кэша, TTL и сброс по событиям изменения данных.

Вопрос 17Senior

Какие типовые уязвимости в PHP-приложениях вы знаете и как от них защищаетесь?

Показать подсказку ▾

Как отвечать: Назовите SQL-инъекции и подготовленные выражения, XSS и экранирование, CSRF-токены, password_hash для паролей.

Кейс

Вопрос 1Middle

Кейс: endpoint списка заказов отвечает 4 секунды. Как будете искать причину?

Показать подсказку ▾

Как отвечать: Покажите последовательность: замеры, профилирование, анализ запросов и N+1, индексы, кэширование — и как проверите результат.

Вопрос 2Senior

Кейс: нужно перевести монолит с PHP 7.2 на PHP 8.3 без остановки разработки. Ваш план?

Показать подсказку ▾

Как отвечать: Опишите инвентаризацию несовместимостей, прогон Rector и тестов, поэтапное обновление зависимостей и канареечный выкат.

Вопрос 3Middle

Кейс: до дедлайна два дня, а менеджер просит выкатить фичу без тестов «потом допишем». Как поступите?

Показать подсказку ▾

Как отвечать: Покажите баланс: предложите минимальный набор тестов на критичные сценарии, feature flag и честно проговорите риски с менеджером.

Поведенческий вопрос

Вопрос 1Для всех уровней

Расскажите о самом сложном баге в продакшене, который вам доводилось чинить.

Показать подсказку ▾

Как отвечать: Ответьте по STAR: симптомы, как локализовали причину, что исправили и какие метрики или тесты добавили после инцидента.

Вопрос 2Для всех уровней

Как вы реагируете, если на код-ревью ваше решение критикует тимлид или коллега?

Показать подсказку ▾

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

Вопрос 3Middle

Как вы работаете с большим участком legacy-кода без документации и тестов?

Показать подсказку ▾

Как отвечать: Расскажите про изучение через логи и поведение, characterization-тесты, рефакторинг по кусочкам без переписывания «с нуля».

Вопрос 4Для всех уровней

Как вы поддерживаете свои знания актуальными: следите за релизами PHP и RFC?

Показать подсказку ▾

Как отвечать: Назовите источники: PHP-рассылки и RFC, changelog релизов, профильные конференции и каналы — и что последнее внедрили в работу.

Готовы отвечать — а резюме уже под эту роль?

До собеседования резюме ещё нужно открыть. Соберите адаптированное резюме для «PHP-разработчик» за ~10 минут: ИИ сформулирует опыт, навыки и достижения под требования работодателей.

Собрать резюме под эту роль
PRO

Проверьте себя: первый разбор — бесплатно

Прочитать вопросы — это старт. Настоящая подготовка — проговорить ответ и услышать, что с ним не так. Первый разбор ИИ бесплатный и без регистрации, прямо на этой странице. Полная симуляция — в PRO или разово, без подписки.

  • Реальные вопросы по вашей роли
  • Разбор ответов с ИИ
  • Оценка и советы

План подготовки

  1. 1Повторите ключевые возможности PHP 8: readonly-классы, enum, match, union-типы, атрибуты и strict_types.
  2. 2Освежите работу с Composer: composer.lock, PSR-4-автозагрузку, dev-зависимости и обновление пакетов.
  3. 3Подготовьте 2–3 истории о проектах на Laravel или Symfony: архитектура, оптимизация запросов, решённые проблемы.
  4. 4Повторите оптимизацию БД: индексы, EXPLAIN, проблему N+1 в ORM, транзакции и уровни изоляции.
  5. 5Вспомните опыт с производительностью и legacy: OPcache, профилирование, миграции на новые версии PHP.
  6. 6Пройдите пробное интервью в тренажёре Rabota-Help и потренируйтесь отвечать на кейсы уверенно и по делу.

Частые ошибки

  • Называть только версии PHP и фреймворки, не объясняя, какие возможности реально используете в коде.
  • Не уметь объяснить проблему N+1 и базовые приёмы оптимизации SQL-запросов.
  • Признаваться, что пишете без strict_types и тестов «потому что так исторически сложилось».
  • Пропускать вопросы про Composer и composer.lock как «очевидные».
  • Хвастаться скоростью разработки вместо качества: типизация, тесты, поддерживаемость кода.
  • Не задать вопросов о стеке, версии PHP, нагрузке и состоянии кодовой базы проекта.

Вы готовитесь к собеседованию. А работодатели уже ищут PHP-разработчика.

Создайте анонимный публичный профиль — его найдут в Яндексе и Google, и предложения придут сами. Контакты скрыты, пока вы не решите иначе.

Работодатели уже ищут: PHP-разработчик · от 184 000 ₽

Создать анонимный профиль — бесплатно

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

Вы нанимаете PHP-разработчика? Профили кандидатов и подбор для работодателей →

Практика интервью

От вопросов — к тренировке интервью

Прочитайте вопросы, выберите 5–7 самых сложных и пройдите пробное интервью. ИИ-интервьюер поможет структурировать ответы, проверить аргументацию и подготовиться к реальному разговору.

Открыть тренажёр для роли PHP-разработчик
Зарплата

Зарплата PHP-разработчик в России

По данным 26 вакансий

Полная статистика →

P25 (ниже среднего)

111 000 ₽

Медиана

184 000 ₽

50% вакансий

P75 (выше среднего)

229 000 ₽

Медиана по уровню опыта

1–3 года

90 000 ₽

3–6 лет

228 000 ₽

Навыки

Востребованные навыки PHP-разработчика

Частота упоминания в вакансиях работодателей

Все навыки →
1
PHP8%
2
Symfony8%
3
Docker8%
4
RabbitMQ8%
5
API8%
6
PostgreSQL4%
7
GitLab CI4%
8
GitLab4%
Вакансии

Свежие вакансии PHP-разработчика: 451

Откройте подходящие предложения и откликнитесь после подготовки к собеседованию.

Смотреть вакансии →