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

Всего 1 год опыта и уже Миддл, потому что выучил Onion Architecture?? / Техсобес Middle Python Dev

Длинное мок-собеседование Middle Python-разработчика с разбором ответов о Python, Clean Architecture, производительности и базах данных. В финале интервьюер даёт развёрнутую обратную связь кандидату.

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

Таймлайн

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

Это тестовое собеседование на позицию Middle Python-разработчика: кандидат кратко описывает опыт, а интервьюер подробно проверяет знание Python, производительности, архитектуры и баз данных. Обсуждаются байткод и виртуальная машина CPython, динамическая типизация, изменяемость объектов, неэффективность конкатенации строк в цикле, а также PyPy и Cython. Большая практическая часть посвящена проектированию CLI-приложения в стиле Clean Architecture; в конце разбираются выбор хранилища, диагностика деградации сервиса, индексы и ElasticSearch/CQRS. По итогам интервьюер положительно оценивает ответы кандидата, но рекомендует глубже изучить производительность Python.

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

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

  • Не описывайте Python просто как язык, выполняющий код построчно: в разговоре разбираются компиляция исходного кода в байткод и выполнение байткода виртуальной машиной CPython.
  • Не конкатенируйте неизменяемую строку через += в большом цикле: каждый шаг создаёт новый объект и ухудшает временную сложность; для списка чисел уместен ''.join(map(str, items)) или генератор строк.
  • При обсуждении Clean Architecture начинайте с доменной модели и бизнес-правил, а детали чтения файлов, вывода, конфигурации и конкретных хранилищ оставляйте внешним слоям.
  • Для задачи с несколькими форматами файлов можно хранить стратегии вычисления в отображении расширение → стратегия; сценарий зависит от интерфейса чтения, а точка входа создаёт и внедряет конкретные реализации.
  • Конфигурацию и секреты стоит валидировать при запуске приложения: секреты брать из переменных окружения, а отсутствие обязательных значений выявлять до выполнения бизнес-сценария.
  • При росте задержки сначала сопоставьте прикладные и системные метрики, проверьте недавние изменения кода, затем изучите план запроса через EXPLAIN; последовательное сканирование на большой таблице может указывать на отсутствие подходящего индекса.
  • Выбор БД и технологий зависит не только от транзакций, доступности и нагрузки, но и от требований бизнеса и доступности специалистов для поддержки системы.

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