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

Собеседование на позицию Senior Python Developer 350т.р. #10

Техническое интервью по Python backend: язык, асинхронность, Django, SQL, базы данных, Docker и code review. Завершается проектированием масштабируемого сервиса обработки телеметрии.

Python собеседования
  • Опубликовано на YouTube:
  • Просмотры на YouTube: 21,6 тыс.
  • Лайки на YouTube: 357
Открыть на YouTube

Таймлайн

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

Запись построена как техническое интервью на позицию Senior Python Developer: после задач на поведение Python-выражений обсуждаются асинхронность, Django middleware, SQL и базы данных. Участник объясняет применение асинхронности для I/O-bound операций, разницу между реляционными и документными хранилищами, стоимость индексов при частых изменениях и способы не блокировать пользователя долгим отчётом. В финале разбирают архитектуру облачного сервиса для приёма зашифрованных координат от миллиона устройств с очередью, Consumer/worker-обработчиками и масштабированием нагрузки.

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

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

  • В Python-задачах проверяют понимание побочных эффектов операций со списками, различий `append` и `extend`, а также short-circuit-поведения логических операторов.
  • По объяснению участника, асинхронность уместна прежде всего для I/O-bound операций; при небольшом числе параллельных потоков он допускает multithreading, а при большом числе ожидающих операций предпочитает async-подход.
  • Django middleware описывается как промежуточный обработчик вокруг цикла request/response: он может обработать запрос до view и ответ до возврата клиенту.
  • Для SQL-задания участник намечает `JOIN` по идентификаторам, группировку и условие на агрегат, но не формулирует готовый запрос.
  • Индексы ускоряют чтение, но при множестве операций изменения требуют поддержки и перестроения индексов; для долгого отчёта предлагаются диагностика запроса, кэширование, фоновая задача и уведомление клиента через WebSocket.
  • В архитектурной задаче данные можно принимать через очередь вроде Kafka, обрабатывать Consumer/worker-ами батчами и масштабировать обработчиков; статическое распределение устройств между worker-ами может давать перекос нагрузки.
  • Участник прямо отмечает ограниченный опыт с NoSQL-масштабированием, недавней production-практикой SQL и протоколами трекеров.

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