🚨 Пытаюсь пройти РЕАЛЬНЫЙ собес на Senior Python Developer / Завалили по Kafka? / Опять фиаско?
Python Mentor
0:00 / 0:00
🚨 Пытаюсь пройти РЕАЛЬНЫЙ собес на Senior Python Developer / Завалили по Kafka? / Опять фиаско?
3 701 просмотр · 3 месяца назад
Python Mentor
7,64 тыс. подписчиков
3 701 просмотр · 3 месяца назад
***
💡Ламповое комьюнити питонистов в Telegram: https://t.me/pymentor
📡 Записаться на тестовый (мок) собес: https://t.ly/lXoVH
✒️ Собесы, интервью, подкасты: / @pymentor_by
✉️ Связь с автором канала - python.mentor.by@gmail.com
***
Тайм коды:
00:00:00 - Сегодня в выпуске
--- Основы Python и объектно-ориентированное программирование
00:01:04 Разница между методами `__new__` и `__init__`, их роль в создании экземпляра класса.
00:02:14 Примеры использования `__new__` для реализации паттерна Singleton.
00:02:35 Концепция метаклассов: различие между родителем и создателем класса.
00:03:18 Преимущества создания Singleton через метаклассы по сравнению с `__new__`.
--- Итераторы, генераторы и асинхронность
00:03:46 Сравнение итераторов и генераторов: протоколы `__iter__` и `__next__`.
00:05:11 Генераторы как способ экономии памяти и использование ключевого слова `yield`.
00:06:43 Передача данных в генератор извне.
00:07:06 Определение корутин (карутин) и их работа в Event Loop.
00:08:43 Исторический контекст: как карутины строились на генераторах в ранних версиях Python.
00:09:36 Асинхронные генераторы и их применение для работы с IO (например, сокеты).
-- Параллелизм и управление памятью (GIL)
00:11:32 Что такое GIL (Global Interpreter Lock) и зачем он был введен.
00:13:24 Механизмы аллокации памяти и подсчета ссылок под защитой GIL.
00:14:19 Современные изменения: Free-threaded Python (PEP 703) в версиях 3.13 и 3.14.
00:14:49 Сабинтерпретаторы (sub-interpreters) и их роль в обходе ограничений GIL.
00:17:32 Потери производительности в однопоточном flow при использовании free-threaded версии.
-- Многопоточность и многопроцессность
00:18:48 Использование потоков (threads) для задач ввода-вывода (IO-bound) и в расширениях на C.
00:20:33 Сравнение потоков и асинхронности: переключение контекста и проблема 10K соединений.
00:22:35 Ограничения Event Loop при росте количества задач.
00:24:38 Гринлеты (greenlets) как альтернатива современным карутинам.
00:25:05 Модуль `multiprocessing`: единственный способ параллельного выполнения чистого Python-кода.
00:26:06 Оптимизация вычислений: компиляция через Cython или MyPyC.
--- Практические задачи и системный дизайн
00:27:07 Алгоритмическая задача: удаление дубликатов строк из огромного текстового файла.
00:28:46 Чтение файлов без полной загрузки в память: итераторы и Memory Mapping (`mmap`).
00:50:30 AI, LLM, predictions, vector db
00:57:37 Kafka и нюансы работы с ней
01:12:28 Индексы в SQL базах данных: хэш-индексы и древовидные структуры.
01:21:55 Масштабирование (Autoscaling) на основе размера очереди (KEDA).
01:23:17 Архитектура в Kubernetes: почему не стоит запускать много воркеров внутри одной поды.
01:24:47 Управление размещением под: Affinity/Anti-affinity и DaemonSet.
01:25:11 Опыт работы с LangChain и LLM провайдерами.
01:26:26 Мониторинг и Observability: CloudWatch, ELK, Prometheus и Fluentbit.
01:36:18 - Дебаг ETL пайплайна
***
#python #interview #собеседование