Публичное собеседование PHP-разработчика на Неделе победителей рейтинга Хабр Карьеры
Развёрнутое публичное интервью PHP-разработчика с обсуждением архитектуры, DDD, баз данных, PHP и подготовки к собеседованиям. В финале команда отвечает на вопросы зрителей и даёт кандидату обратную связь.
Habr
Открыть на YouTube- Опубликовано на YouTube:
- Просмотры на YouTube: 6 тыс.
- Лайки на YouTube: 136
Таймлайн
Коротко о видео
Публичное собеседование PHP-разработчика Михаила посвящено его опыту проектной разработки и обсуждению архитектуры: монолитов, DDD, Clean Architecture, Symfony, PostgreSQL и очередей. Кандидат на примерах клиники и внутренних систем объясняет моделирование сущностей, ролей, идентификаторов UUID, слоёв приложения и обработку бизнес-процессов. В конце разбирают вопросы зрителей о SQL, авторизации и переходе в PHP; Дмитрий положительно оценивает архитектурное мышление кандидата, но решения о найме или оффера не объявляют.
Затронутые темы
Что взять на заметку
- Подготовьте связный рассказ о своей архитектуре: почему выбран монолит, какие части допустимо вынести в отдельные сервисы и какую бизнес-задачу это решает.
- Умейте на предметном примере различать сущности и value objects: у сущности есть идентификатор, а цена может быть value object из суммы и валюты.
- Для модели с несколькими ролями пользователя рассмотрите общую таблицу users и связь «многие ко многим» с ролями; это упрощает авторизацию и выбор активной роли.
- Будьте готовы обосновать UUID вместо автоинкрементных ID: их можно создать на клиенте и использовать при обмене данными между изолированными инсталляциями без коллизий.
- Повторите PHP magic methods, работу деструктора и сборщика мусора, copy-on-write для массивов, а также стек, очередь, хеш-таблицу и ожидаемую сложность доступа по ключу.
- Для SQL-вопросов полезно уметь выразить возраст через дату и интервал, фильтровать по нужным полям и объяснить, какие поля стоит индексировать.
- Кандидат называет RabbitMQ и Symfony Messenger, а Kafka — только учебным опытом; не приписывайте себе production-опыт с брокером, если его не было.