Check
Drillize
Drillize
Каталог
Менторы
Полезное
Цены
Регистрация
Вход
Python / Senior
50 вопросов
Начать
Вопросы
GIL и многопоточность в CPython
Разница между процессами и потоками
Модель памяти и изменяемость объектов
Разница между `is` и `==`
Дескрипторы в Python
Метаклассы и их применение
Контекстные менеджеры и протокол `with`
Продвинутые декораторы
Протокол итератора и генераторы
Асинхронность и `asyncio`
Отмена корутин и обработка отмены
Типизация: Protocol и duck typing
Dataclasses vs обычные классы
Модель исключений и дизайн API
Оптимизация по памяти: `__slots__`
Семантика контекста менеджера блокировок
Работа сборщика мусора и циклические ссылки
Ленивые вычисления и генераторные выражения
Интернирование строк и малых целых
Продвинутый `logging`
Контракт итерабельности и протокол последовательностей
Иммутабельные dataclass-ы и `frozen=True`
Распаковка аргументов и flexible API
Сложность операций со списком, словарём и множеством
Детали работы `functools.lru_cache`
Виртуальные окружения и изоляция зависимостей
Пакетирование и `pyproject.toml`
Семантика `yield from`
Разница между `classmethod` и `staticmethod`
ABC и интерфейсы
Сериализация сложных объектов
Тонкости `==` и `__eq__` / `__hash__`
Производительность: профилирование
Асинхронные веб-фреймворки и блокирующий код
Инициализация модулей и побочные эффекты
Замыкания и утечки ссылок
Разделяемое состояние в многопроцессной среде
Тестирование асинхронного кода
Идиоматичный код и `EAFP`
Декларирование неизменности через типы
Разница между `__getattr__` и `__getattribute__`
Реализация прокси-объектов
Тонкости работы с временем и временными зонами
Устойчивый к ошибкам парсинг и валидация
Обработка частичных отказов во внешних сервисах
Слои приложения и разделение ответственности
Инструменты статического анализа
Безопасность: инъекции и сериализация
Миграции схемы данных и эволюция моделей
Роль Senior Python разработчика