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

Python: техническое собеседование Senior-разработчика

Запись технического интервью Senior Python/Backend-разработчика. После вопросов о Flask, asyncio, CI/CD, Terraform, Kubernetes, брокерах сообщений и базах данных кандидат выполняет задачу на рефакторинг и ускорение Python-функции.

Источник: Python Mentor

Открыть на YouTube

Таймлайн

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

Техническое интервью начинается с разбора опыта кандидата: выбора Flask, asyncio и uvloop, CI/CD и Terraform, Kubernetes/EKS, облаков, Celery и брокеров сообщений, типизации, баз данных и Grafana/ClickHouse. Затем обсуждаются GIL, потоки и процессы, Ruff и способы взаимодействия сервисов. Во второй половине кандидат разбирает функцию на экране и проверяет гипотезы по её ускорению: ищет лишние выделения памяти и повторные вычисления, меняет код и сверяет результат с замерами. В конце затрагиваются PyPy и Cython как варианты дальнейшей оптимизации.

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

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

  • Обосновывайте выбор фреймворка контекстом проекта, требованиями и состоянием экосистемы на момент решения, а не только личным предпочтением.
  • Разделяйте I/O-bound и CPU-bound задачи: GIL в CPython ограничивает параллельное выполнение Python-байткода, но потоки остаются полезны для I/O и расширений, освобождающих GIL.
  • Не смешивайте Celery и брокер сообщений: Celery — система очередей задач, использующая брокер, например RabbitMQ, Redis или SQS.
  • В оптимизации сначала фиксируйте замеры и профиль: перенос инвариантных вычислений из цикла и отказ от ненужных промежуточных списков могут помочь, но каждую микрооптимизацию нужно проверять бенчмарком.
  • Выбирайте синхронные HTTP/RPC-вызовы или асинхронный обмен сообщениями по требованиям к ответу, задержке и надёжности доставки.

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

1:23:14
BackendLead

Python: техническое собеседование Lead-инженера

Техническое интервью на позицию Lead Python Engineer. Интервьюер проверяет опыт кандидата в SDLC и методологиях разработки, веб-протоколах и TLS, безопасности, ООП, тестировании, Git/CI/CD, инфраструктуре и внутреннем устройстве Python. Практическая часть включает SQL-задачи с JOIN и агрегациями, а также рефакторинг сервиса денежных переводов с транзакциями, блокировками и архитектурными границами.