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

Senior Python-собеседование: GIL, Kafka и ETL

Кандидат отвечает о Python internals, обработке больших файлов, Kafka, SQL-индексах, Kubernetes и отладке ETL.

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

Таймлайн

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

Техническое интервью начинается с Python internals: кандидат сравнивает __new__ и __init__, метаклассы, Singleton, итераторы, генераторы и корутины. Затем интервьюер уточняет GIL, free-threaded Python, потоки, multiprocessing и способы не загружать большой файл целиком, включая mmap. Во второй половине разговор переходит к Kafka, индексам SQL и масштабированию воркеров по размеру очереди. Обсуждаются KEDA, размещение pod через affinity и anti-affinity, LLM-провайдеры и vector DB. Финальный блок охватывает observability: CloudWatch, ELK, Prometheus, Fluent Bit и диагностику ETL-пайплайна.

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

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

  • __new__ создаёт экземпляр, а __init__ инициализирует уже созданный объект.
  • Генератор сохраняет состояние между yield и помогает обрабатывать поток данных без полной загрузки в память.
  • В обычной GIL-сборке CPython CPU-bound задачи распараллеливают процессами; для C-расширений и free-threaded сборки действуют другие компромиссы.
  • Построчное чтение и mmap позволяют не создавать Python-копию всего большого файла одновременно; для точной дедупликации нужно учитывать память на состояние и риск коллизий хэшей.
  • Автомасштабирование Kafka-воркеров по lag требует учитывать производительность одного pod, число partition и правила размещения.

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