Вернуться в видеотеку

Собеседование PHP, Тильда паблишинг

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

Источник: PHP собеседования

Открыть на YouTube

Таймлайн

Коротко о видео

Запись показывает техническое собеседование PHP-разработчика: интервьюер проверяет основы ООП в PHP, обновление версий, генераторы, MySQL, индексы, транзакции, репликацию и безопасность. Затем они разбирают выполненное кандидатом тестовое задание и дают задачу спроектировать добавление и подтверждение номера телефона в профиле пользователя — от интерфейса до API и хранения данных. В конце кандидат расспрашивает о микросервисной архитектуре, документации, тестировании и процессе постановки задач; интервьюер обещает передать результат HR и описывает возможный следующий этап с техническим и операционным директорами. В авторском описании сказано, что после этого автор работал в компании недолго и ушёл во время испытательного срока; это авторское утверждение, а не результат, озвученный в интервью.

Затронутые темы

Что взять на заметку

  • Подготовить объяснение различий protected/private, self/static, магических методов, абстрактных классов и интерфейсов, включая множественное наследование интерфейсов.
  • Для миграции PHP уметь назвать проверку автотестами, изменения поведения языка и аудит Composer-зависимостей на совместимость с целевой версией.
  • Уметь обосновать потоковую обработку больших файлов: читать их частями, не загружая целиком в память, и применять итераторы или генераторы.
  • По MySQL нужно объяснять устройство индексов, замедление записи из-за обновления индексов и зависимость эффективности составного индекса от порядка полей и реальных запросов.
  • Подготовить сценарии транзакций: атомарность связанных изменений, блокировки, уровни изоляции, грязные и неповторяющиеся чтения.
  • Для безопасности назвать валидацию входных данных, параметризованные SQL-запросы, экранирование HTML при выводе и запрет исполнения недоверенных шаблонов или команд.
  • В системной задаче полезно начинать с пользовательского сценария, затем описывать API, состояния подтверждения телефона, хранение данных и удобные сообщения об ошибках.

Рекомендуем посмотреть