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

Джун был тимлидом, разрабатывал телеграм ботов и стал миддлом? / Техсобес Middle Python Developer

Тестовое собеседование Middle Python Developer с подробным разбором микросервисного взаимодействия, внутренностей Python, ООП, SOLID и паттернов проектирования. Завершается развёрнутой обратной связью кандидату.

Источник: Python Mentor

Открыть на YouTube

Таймлайн

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

Это тестовое (mock) техсобеседование на роль Middle Python Developer. Кандидат описывает свой проект по переносу логики Telegram-бота в веб-приложение с backend, фронтендом, сервисом генерации изображений и хранилищем, после чего отвечает на вопросы о взаимодействии сервисов, Python и архитектуре. В конце интервьюер даёт положительный, но не являющийся решением о найме фидбек: рекомендует укрепить терминологию и чаще уточнять постановку вопроса.

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

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

  • Для долгой генерации изображений в разобранном примере асинхронное взаимодействие через RabbitMQ обсуждается как способ не держать HTTP-запрос открытым и сохранить задачу при временной недоступности потребителя; синхронный HTTP убирает брокер, но требует укладываться в тайм-аут.
  • Если большой набор кадров нужен только для однократного прохода, его не следует целиком материализовывать в списке: ведущий предлагает генератор, читающий файл порциями и отдающий очередной batch через yield.
  • Для ответов о памяти Python важно различать reference counting и garbage collector для циклических ссылок, а также понимать роль weak references.
  • В блоке про GIL ведущий связывает возможные гонки даже на одном ядре с вытесняющей многозадачностью: поток может быть переключён до завершения работы с общей памятью.
  • Для ООП разбираются концептуальные формулировки: абстракция отделяет контракт от реализации, наследование выражает отношение «является», а классы полезны при необходимости множества объектов с независимым состоянием.
  • В варианте с Dependency Inversion интерфейсы должны быть доступны бизнес-/сервисному слою, а конкретные почтовые клиенты размещаются в инфраструктуре; Dependency Injection уменьшает связанность.
  • По фидбеку интервьюера, кандидату стоит выучить названия и точные определения тем вроде CAP, распределённых транзакций, паттернов GoF и GRASP, а при неоднозначном вопросе сначала запросить контекст.

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