Вернуться в каталог собеседований

Сильный Middle и всего лишь 2 года опыта?? Такое вообще бывает? / Техсобес Middle Python Developer

Двухчасовое мок-собеседование Middle Python Developer с разбором архитектуры, Python/OOP, асинхронности и проектирования высоконагруженного сервиса лайков. В конце интервьюеры дают развёрнутый технический фидбек по ответам кандидата и подготовке к реальным интервью.

Python Mentor
  • Опубликовано на YouTube:
  • Просмотры на YouTube: 3,1 тыс.
  • Лайки на YouTube: 116
Открыть на YouTube

Таймлайн

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

Это тестовое мок-собеседование на позицию Middle Python Developer: кандидат Артём рассказывает о двух годах опыта, текущем монолите на Python и затем отвечает на вопросы по архитектуре, ООП, асинхронности и базам данных. Интервьюеры подробно разбирают компромиссы Repository/ORM, Protocol и ABC, полиморфизм, DI, Clean Architecture и DDD, а также предлагают спроектировать высоконагруженный сервис лайков. В финальном фидбеке интервьюеры положительно оценивают базовое инженерное мышление кандидата, но советуют лучше обосновывать решения, укрепить терминологию и не заявлять в резюме навыки, которые пока изучаются поверхностно.

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

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

  • Кандидат описывает текущий проект как слоистый монолит: HTTP-ручки, сервисный слой, репозитории, база данных и брокеры сообщений для Telegram-ботов; ORM-модели преобразуются в DTO.
  • Интервьюеры подчёркивают, что Repository поверх ORM оправдан не «чистотой» сам по себе, а конкретными последствиями: зависимостью от интерфейса, заменяемостью хранилища и более изолированным тестированием; дополнительный слой также увеличивает код и стоимость поддержки.
  • Для моделирования предметной области наследование следует применять к отношениям обобщения, а не ради повторного использования методов; пример «автомобиль наследуется от колеса» требует композиции.
  • Protocol в Python даёт структурную типизацию и более слабую связанность, тогда как ABC принуждает к наследованию и удобнее навигируется IDE; выбор должен зависеть от необходимых гарантий и компромиссов.
  • Для IO-bound нагрузки кандидат использует async/await; интервьюеры поясняют преимущество event loop через мультиплексирование множества сокетов и меньшее число системных вызовов по сравнению с моделью «поток на соединение».
  • В задаче о лайках обсуждаются атомарный инкремент, eventual consistency, пакетная запись накопленных счётчиков, кэширование чтения, реплики, материализованные представления, оптимистические и пессимистические блокировки, шардирование и проблема горячего ключа («celebrity problem»).
  • Практическая рекомендация из фидбека: перед ответом на сложный вопрос брать паузу, формулировать аргументы через решаемые проблемы и trade-offs, а новые знания связывать с уже знакомыми темами и практикой.

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