Библиотека собеса по Python | вопросы с собеседований – Telegram
Библиотека собеса по Python | вопросы с собеседований
6.07K subscribers
686 photos
15 videos
592 links
Вопросы с собеседований по Python и ответы на них.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/6587aafa

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
Как спроектировать конфигурацию приложения с приоритетами, секретами и горячей перезагрузкой без рестартов?

Слойте источники по приоритету: defaults → файл (.toml/.yaml) → переменные окружения → секреты менеджера/файлы → флаги CLI; валидируйте через pydantic-settings (v2), типизируйте и нормализуйте сразу. Секреты держите вне VCS, подменяйте через монтируемые файлы/менеджер. Для hot-reload подписывайтесь на изменения (inotify/poll), пересобирайте объект настроек атомарно и прокидывайте его зависимостям через контейнер/DI; критичные смены — с drain и идемпотентным reinit.

Библиотека собеса по Python
🔥1
Как безопасно сериализовать/десериализовать недоверенные данные?

Никогда не используйте pickle/yaml.load; берите JSON/MessagePack/CBOR со строгой валидацией схем (Pydantic v2/JSON Schema), лимитами размера/глубины и allowlist полей; версионируйте схемы и при необходимости проверяйте подпись данных.

Библиотека собеса по Python
👍1
Как связать логи, метрики и трейсы в async-сервисе без «дыр» в корреляции?

Генерируйте trace_id/span_id (OpenTelemetry), прокидывайте их через contextvars, обогащайте structured-логи теми же полями, экспортируйте трейсы и метрики в один бэкенд; включите exemplars в гистограммах и propagate заголовки (traceparent) через все I/O, чтобы по trace_id находить связанный лог/метрику.

Библиотека собеса по Python
👍1
Media is too big
VIEW IN TELEGRAM
Научись проектировать ИИ-агентов, управлять роботами и развертывать RAG-системы 21 ноября на True Tech Champ

На бесплатном фестивале технологий от МТС тебя ждет конференция с российскими и иностранными экспертами и новый формат лектория — ИТ-качалка.

Уже известны спикеры и темы:

🔴 «Физический агент: на пути к когнитивным роботам общего назначения с моделями мира», Артем Лыков — ведущий R&D-разработчик MWS, аспирант ISR Lab и Skoltech.
🔴«RAG как помощник на каждый день», Валентин Малых — руководитель фундаментальных исследований MWS AI
🔴An introduction tutorial to AI Agent Workflows, Майкл Ланэм — канадский разработчик с 20-летним и автор книги AI Agents in Action.

Между докладами и воркшопами можно смотреть гонки и битвы роботов, устроить поединки робопауков, пройти лазерный лабиринт, собрать сервер на скорость, сделать аксессуары из плат и протестировать другие айтивности.

Выбирай формат — смотри прямой эфир или приходи в МТС Live Холл.
Регистрируйся, чтобы провести 21 ноября с пользой и драйвом.
Please open Telegram to view this post
VIEW IN TELEGRAM
Как избежать циклических импортов в крупном пакете без хака с sys.modules?

Держите слои (domain → services → adapters), завязывайтесь на интерфейсы/Protocol, переносите тяжёлые импорты внутрь функций, используйте typing.TYPE_CHECKING для тайп-хинтов, выделяйте общие DTO/коды в отдельные модули и выносите побочные эффекты из __init__.

Библиотека собеса по Python
👍1
Как спроектировать CLI-утилиту с подкомандами, автокомплитом и хорошей тестируемостью?

Постройте команды как чистые функции и свяжите их через Typer/Click; типизируйте параметры (Typer читает type hints), включите генерацию completion-скриптов, не делайте тяжёлую работу на уровне импорта. Пакуйте через pyproject.toml и console_noscripts, логируйте в stderr. Тестируйте CliRunner/subprocess с фикстурами и золотыми эталонами вывода.

🔹 Курс «Программирование на языке Python»

🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

Библиотека собеса по Python
1
Как сделать неблокирующее логирование в asyncio-сервисе?

Уведите запись логов в отдельный поток через QueueHandler/QueueListener (или structured-логер с очередью), а в корутинах пишите только в очередь. Исключите сетевой/дисковый I/O из event loop, добавьте backpressure (bounded queue), форматируйте заранее (extra/JSON), прокидывайте trace_id через contextvars.

🔹 Курс «Программирование на языке Python»

🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

Библиотека собеса по Python
Как безопасно исполнять недоверенный Python-код?

Никогда не в том же процессе: изолируйте на уровне ОС — отдельный процесс/контейнер/VM (nsjail/gVisor/Firecracker), отключите сеть, дайте read-only FS, урежьте cap’ы, включите seccomp/AppArmor, лимитируйте CPU/память/время (cgroups/ulimit) и убивайте по таймауту. Общайтесь через ограниченный протокол (stdin/stdout/IPC), сериализуйте безопасно (JSON/MsgPack), whitelist модулей, журналируйте и регулярно чистите рабочие каталоги.

🔹 Курс «Программирование на языке Python»

🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

Библиотека собеса по Python
Как профилировать производительность в проде без сильного оверхеда?

Используйте сэмплирующие профилировщики без остановки процесса (py-spy, perf, eBPF) для CPU/wall-time и флеймграфов; для памяти — tracemalloc со снапшотами; для async — метрики event loop (slow callbacks) и трассинг (OpenTelemetry). Профилируйте под реальной нагрузкой, фиксируйте p95/p99, меняйте код точечно.

🔹 Курс «Программирование на языке Python»

🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

Библиотека собеса по Python
В продакшн-Django приложении пользователи жалуются на долгие ответы при большом количестве одновременных запросов. Как вы будете диагностировать и устранять проблему?

Проверю профилировщиком SQL-запросы (Django Debug Toolbar, New Relic, Sentry APM), чтобы найти N+1 или долгие join. Оптимизирую ORM через select_related / prefetch_related, добавлю кеширование (Redis, Memcached), connection pooling, а также настрою правильный backend для деплоя (Gunicorn/Uvicorn с несколькими воркерами).

🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

Библиотека собеса по Python
Как проектировать стабильный библиотечный API с минимальными ломаниями?

Семвер и строгие контракты типов (PEP 561, точные аннотации), устойчивые имена/аргументы, собственная иерархия исключений, чёткая политика деприкаций (warning → снятие через N минорных версий), стабильные сериализационные форматы, разделение sync/async API без «магии», детерминированные побочные эффекты, зафиксированные минимальные версии зависимостей и хорошее версиирование схем.

🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

Библиотека собеса по Python
🎄 С Нового года начну учиться — знакомо?

А потом январь — освоюсь после праздников, февраль — доделаю текущие дела... Не откладывай на следующий год то, что можно начать уже в этом.

🗓️ 4 декабря стартует экспресс-курс «Математика для Data Science»— всё, что нужно для уверенных ответов на собесах:

→ 2 месяца без воды;
→ обновлённая программа (ноябрь 2025);
→ живые вебинары с экспертами;
→ записи всех занятий;
→ практика на Python + финальный проект с фидбэком.

Формат: 2 месяца интенсива и к началу следующего года ты готов к собесам.

Пока другие будут собираться с мыслями после НГ, ты уже будешь на полпути к офферу мечты.

🎁 Только до 30 ноября:

→ скидка 40% на курс;
→ курс «Базовая математика» в подарок;
→ бесплатный тест уровня математики.

👉🏻 Хочешь на курс → пиши менеджеру
🔥1
Как обрабатывать несколько ошибок из параллельных задач, не теряя стеков и не «глуша» отмену?

Запускайте задачи в TaskGroup, ловите ExceptionGroup и разбирайте через except* по типам; отмену не подавляйте — дайте CancelledError всплыть. Логи ведите по вложенным исключениям, повторные ретраи — точечно по соответствующим подгруппам.

🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

Библиотека собеса по Python
Как FastAPI обрабатывает зависимости с Depends, и как происходит их разрешение в контексте асинхронных и синхронных функций?

FastAPI строит граф зависимостей рекурсивно при старте приложения. При обработке запроса оно вызывает зависимости в порядке topological sort. Асинхронные зависимости вызываются с await, синхронные — через обычный вызов. FastAPI автоматически определяет тип зависимости по сигнатуре. Повторно используемые зависимости кэшируются внутри одного запроса. Исключения в зависимостях прерывают цепочку и оборачиваются в HTTP-ответ.

🤌 Бонусы для подписчиков:
Скидка 40% на все курсы Академии
Розыгрыш Apple MacBook
Бесплатный тест на знание математики

Библиотека собеса по Python
👍1
В высоконагруженном Python-сервисе вы замечаете, что при увеличении числа потоков скорость обработки CPU-bound задач не растёт. Почему так происходит и как это исправить?

Из-за GIL только один поток выполняет байткод одновременно, поэтому многопоточность не ускоряет CPU-bound задачи. Решение — использовать multiprocessing, вынести тяжёлые вычисления в C-расширения или применять библиотеки вроде NumPy, которые обходят GIL.

🤌 Бонусы для подписчиков:
Скидка 40% на все курсы Академии
Розыгрыш Apple MacBook
Бесплатный тест на знание математики

Библиотека собеса по Python
👍1
Как добиться «ровно-одной» обработки задач в Celery при сбоях и повторных доставках?

Короткий ответ: Делайте обработчик идемпотентным: храните task_id/бизнес-ключ в таблице dedup и коммитьте эффект и запись об обработке в одной транзакции. Включайте acks_late+visibility_timeout, экспоненциальный бэкофф с джиттером, лимит ретраев и DLQ; долгие операции — с чекпойнтами/сагами.

🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

Библиотека собеса по Python
👍2
Как правильно упаковать и публиковать библиотеку без setup.py?

Декларируйте всё в pyproject.toml (PEP 517/518), собирайте sdist и wheel через python -m build, публикуйте через twine или Trusted Publishing (OIDC → PyPI). Пингуйте зависимости, включайте LICENSE/README, тестируйте локально pip install dist/*.whl.

🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

Библиотека собеса по Python
🤩4
🔬 Вы когда-нибудь смотрели на код и думали: «Работает, но почему?»

А теперь представьте, что вы:

→ понимаете, почему модель учится слишком медленно или слишком быстро;
→ видите, какие данные реально влияют на предсказание, а какие — шум;
→ знаете, что происходит внутри нейронки.

4 декабря стартует курс «Математика для разработки AI-моделей».

Линал, оптимизация, матан, статистика — всё, что происходит внутри модели между input и output. Практика на Python. Живые разборы с экспертами из SberAI, ВШЭ, Wildberries&Russ.

3 задания + финальный проект. Без теории ради теории — только то, что реально используется в моделях.

🎁 Бонус: курс по школьной математике + тест уровня математики

👉 Записаться
Вы запускаете высоконагруженный Python-сервис на asyncio. Со временем отклик начинает расти, хотя CPU и память загружены слабо. В чём может быть причина и как подойти к решению?

Обычно это значит, что внутри event loop выполняется блокирующий код (синхронные запросы к БД, тяжёлые вычисления, блокирующие I/O). Их нужно вынести в отдельные процессы/пулы потоков (ProcessPoolExecutor, ThreadPoolExecutor) или заменить на асинхронные аналоги библиотек.

Библиотека собеса по Python
👍4
Как реализовано управление памятью во Flask?

В Flask распределение памяти управляется модулем управления памятью Flask Python. Кроме того, в Flask есть встроенный сборщик мусора, который перерабатывает всю неиспользуемую память, освобождая место в куче. Ответственность за отслеживание всего этого лежит на интерпретаторе Python. Однако пользователи могут использовать основной API для доступа к некоторым инструментам.

Библиотека собеса по Python
🥱3