Практические рекомендации и инструменты отладки в экосистеме Python
Как вы подходите к отладке на Python? Какие инструменты вы использовали для выявления и исправления проблем в вашем коде?
Подсказки:
Рассмотрите встроенные функции Python, такие как print(), pdb или ...
Проектирование пайплайна с exactly-once процессингом данных и Kafka
Объясните, как бы вы спроектировали потоковую обработку данных в реальном времени, используя Kafka и Python. Заодно можно рассмотрать управление consumer groups и достижение семантики "exactly once". ...
Asyncio против многопроцессности: выбор подходящей модели конкурентности
Когда стоит выбрать asyncio вместо многопроцессности? Объясните ключевые различия и компромиссы между ними для задач, связанных с вводом-выводом (I/O-bound) и задачами, связанными с процессором (CPU-b ...
Ограничения Global Interpreter Lock (GIL) и оптимизация CPU-bound задач
Что такое Глобальная Блокировка Интерпретатора (GIL) в Python?
Опишите стратегии минимизации ее влияния при написании многопоточных приложений, связанных с CPU (CPU-bound), включая ситуации, когда пр ...
Проектирование и реализация паттерна circuit breaker
Проектирование Circuit Breaker (Предохранитель). CB — это решение, которое предотвращает каскадные сбои и собирает метрики для мониторинга состояния внешних сервисов. То есть когда сервис от которого ...
Распределенная обработка задач с гарантией "точно один раз" и S3
Необходимо спроектировать распределенную систему обработки задач (данных) на Python, где задачи хранятся в S3.
Можно использовать только S3, без развертывания или использования внешних сервисов. Вы м ...
Ограничения GIL и техники оптимизации
Как Global Interpreter Lock в Python влияет на производительность многопоточных приложений, интенсивно использующие вычисления на процессоре (CPU-bound)?
Объясните стратегии, которые вы бы реализовал ...
Уровни изоляции транзакций и разрешение дедлоков в PostgreSQL
Спроектируйте транзакцию PostgreSQL, демонстрирующую как минимум два разных уровня изоляции и включающую надлежащую обработку ошибок для потенциальных дедлоках (взаимоблокировок).
Подсказки:
Рассмот ...
Стратегии пулинга подключений PostgreSQL для высоконагруженных Python-сервисов
У нас есть Python backend-ы, обрабатывающие тысячи запросов в секунду.
Как бы вы эффективно управляли подключениями к базе данных PostgreSQL в Python-сервисе?
Опишите стратегии для предотвращения уте ...