Перейти к содержимому

🚨 Пытаюсь пройти РЕАЛЬНЫЙ собес на 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 #собеседование