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

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

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

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
🔬 Вы когда-нибудь смотрели на код и думали: «Работает, но почему?»

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

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

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
🥱4
Python-разработчик != ML-инженер

Разница — в знании математики. Если import numpy as np для вас потолок, пора углубляться. Мы запустили живые вебинары по математике для AI.

Что прокачаем за ближайшие дни:

Линейная алгебра: операции с матрицами, решение СЛАУ, линейные преобразования.

Прогностические модели: строим линейную регрессию, разбираем МНК.

Матричные разложения: SVD и собственные векторы для рекомендательных систем.

Все примеры — на Python. Вы научитесь применять математику для решения реальных бизнес-задач, а не просто решать уравнения на бумажке.

Поток закрывается 9 декабря.
https://clc.to/LojFzw
1
Как безопасно распараллелить CPU-работу с multiprocessing на разных ОС и без лишних копий?

На Linux избегайте fork с активным asyncio/TLS — используйте spawn/forkserver; на Windows только spawn. Передавайте крупные данные через multiprocessing.shared_memory/Array/Queue батчами, а не гигантскими pickles. Инициализацию делайте в if __name__ == "__main__":, задайте maxtasksperchild, корректно ловите SIGTERM и дренируйте очереди перед join().

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

Библиотека собеса по Python
2
Как в Python работает метод __call__() и когда его имеет смысл использовать?

Метод call() предоставляет возможность сделать объект вызываемым, что позволяет использовать его как функцию. Этот метод можно внедрить в любой класс, чтобы экземпляр этого класса можно было вызывать напрямую. Это особенно удобно, когда класс решает одну основную задачу и может выступать в роли функции, при этом сохраняя свое внутреннее состояние и структуру.

Библиотека собеса по Python
1
Что будет, если ошибку не обработает блок except?

Если ошибка не будет обработана в блоке except, то программа прервется и выдаст сообщение об ошибке. Это называется необработанным исключением.

При возникновении исключения Python генерирует traceback — последовательность вызовов функций, которая привела к ошибке.
Если исключение не перехватывается блоком except, то traceback выводится пользователю и программа завершается аварийно.


Библиотека собеса по Python
Готовитесь к собеседованию в AI?

Вопросы по математической базе — стандартный этап отбора на позиции Data Scientist и ML Engineer. Вас спросят не только про код, но и про то, как работают алгоритмы «под капотом».

Прокачайте хард-скиллы на обновленном курсе «Математика для разработки AI-моделей».

Важный апдейт:

— теперь обучение включает живые вебинары;

— первый прошел, но второй стартует сегодня, 9 декабря;

— это шанс разобрать сложные вопросы с экспертами в прямом эфире.

Что внутри:

— линейная алгебра;

— матанализ;

— теория вероятностей.

Успейте присоединиться к потоку
1
В высоконагруженном Python-сервисе вы замечаете, что CPU загружен слабо, но задержки обработки запросов постоянно растут. При анализе видно, что большая часть времени тратится на сетевые операции. Что может быть причиной и как это исправить?

Причина в том, что сервис выполняет блокирующие I/O-операции в потоках или синхронно. Для исправления нужно перейти на асинхронную модель (asyncio, uvloop), использовать асинхронные драйверы для работы с БД/HTTP и вынести тяжёлые операции в отдельный пул процессов или потоков.

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

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

Проверю метрики Pod’ов и нод (CPU/memory), события в кластере и логи ingress-контроллера. Удостоверюсь, что настроены requests/limits, HPA для автоматического масштабирования и readinessProbe, чтобы трафик шёл только на готовые Pod’ы. Для решения — оптимизировать ресурсы, включить горизонтальное или кластерное авто-масштабирование, при необходимости добавить очередь (Kafka/RabbitMQ) для сглаживания пиков.

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

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

Чаще всего проблема в блокирующем коде (синхронные запросы к БД, внешним API или тяжёлые вычисления), который “забивает” event loop. Нужно вынести такие операции в ThreadPoolExecutor/ProcessPoolExecutor или заменить их на асинхронные аналоги (например, httpx.AsyncClient, databases, async-драйверы для SQL/NoSQL). Также стоит проверить конфигурацию Uvicorn/Gunicorn (число воркеров, workers-per-core) и настроить connection pooling.

Библиотека собеса по Python
4👍1
В асинхронном Python-сервисе (asyncio) при росте нагрузки резко увеличиваются задержки отклика, хотя CPU и память не перегружены. В чём может быть причина и как её диагностировать?

Чаще всего дело в блокирующем коде внутри event loop (синхронные вызовы, тяжёлые вычисления или блокирующие I/O). Диагностировать можно профилировщиками (async-profiler, aiomonitor, trio-asyncio) и логированием длительных задач. Решение — вынести CPU-bound операции в ProcessPoolExecutor, заменить блокирующие вызовы на асинхронные аналоги или рефакторить архитектуру.

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

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

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

Библиотека собеса по Python
👍2
Не будь «просто скрипт-кидди»

Python прост в изучении, но сложен в мастерстве. На собеседованиях сразу видно, кто учил язык по гайдам, а кто понимает алгоритмы и архитектуру приложений.

Акция 1 + 2:

Покупаешь один курс — учишься на трех. Оплата только за самый дорогой трек.

Что подтянуть к интервью:

— Алгоритмы и структуры данных;
— Архитектуры и шаблоны проектирования.

Стать инженером

Акция до 31 декабря.
Сомнения в выборе? @manager_proglib
В продакшн случайно был задеплоен коммит с багом. Фикс уже готов, но нужно быстро откатить изменения, чтобы восстановить рабочее состояние. Какие у вас есть варианты действий и когда использовать каждый?

Можно использовать git revert, если нужно сохранить историю и явно зафиксировать отмену коммита (подходит для общих веток). Если баговый коммит ещё не попал в общий репозиторий, можно применить git reset --hard и перезаписать историю. Для сложных случаев — git cherry-pick нужных исправлений в стабильную ветку.

Библиотека собеса по Python
👍3
В продакшене Python-сервис со временем начинает замедляться, хотя нагрузка остаётся стабильной. Мониторинг показывает рост памяти (memory leak). Как вы будете искать и устранять причину?

Использовать профайлеры (tracemalloc, objgraph, memory_profiler) для отслеживания утечек, проверить циклические ссылки и висящие ссылки на объекты (особенно в кэше или глобальных структурах), оптимизировать работу с коллекциями и сторонними библиотеками.

Библиотека собеса по Python
👍21
В продакшн Django-приложении пользователи жалуются на «N+1 проблему» при выборках связанных объектов. Как вы будете диагностировать и устранять её?

Проверю SQL-запросы через django-debug-toolbar или логирование ORM. Если вижу множественные запросы для связанных моделей — перепишу код с использованием select_related (для ForeignKey/OneToOne) или prefetch_related (для ManyToMany/Reverse FK). При необходимости — вынесу тяжёлые выборки в кастомные SQL-запросы или оптимизирую структуру модели.

Библиотека собеса по Python
👍1
«Знаю Python, хочу в AI, но математику учить лень»

Хорошая новость: для разработки AI-агентов вам не нужно быть кандидатом наук по математике. Вам нужно быть крутым инженером.

Мы обновили курс «Разработка AI-агентов», сделав упор на инженерные практики:

— Как интегрировать LLM через API;
— Как настроить взаимодействие сервисов (Agent-to-Agent);
— Как деплоить это в прод.

Это идеальный вход в AI для питониста: используем знакомый стек (Django/FastAPI опыт пригодится) + новые библиотеки LangChain / LangGraph .

Твоя дорожная карта
2
Объясните, как можно получить доступ к сессиям во Flask?

Промежуток времени между входом клиента в систему и выходом из неё на сервере называется сеансом. Сессия Flask — это утилита Flask, которая обеспечивает серверную поддержку сеансов в разработанном приложении Flask. Это плагин, который предоставляет вашему приложению возможность серверного сеанса. Данные, которые должны быть сохранены в сеансе, сохраняются во временном каталоге на сервере. Когда нам нужно сохранить значительный объём данных между запросами во Flask, мы можем использовать объекты сеанса.

Библиотека собеса по Python
👍1
Какие HTTP-методы предоставляет Python Flask?

Для обработки HTTP-запросов Flask использует ряд декораторов. Протокол HTTP является основой интернет-передачи данных. Этот протокол определяет ряд методов получения информации с определённого URL-адреса.

Библиотека собеса по Python
🤔41
Как векторизация связана с бродкастингом в NumPy?

Векторизация подразумевает делегирование операций NumPy внутренне оптимизированным функциям языка C для получения более быстрого кода Python. В то время как бродкастинг относится к методам, которые позволяют NumPy выполнять арифметические операции, связанные с массивами. Размер или форма массивов в этом случае не имеют значения. Трансляция решает проблему несовпадающих массивов, реплицируя меньший массив вдоль большего массива, чтобы гарантировать, что оба массива имеют совместимые формы для операций NumPy. Выполнение бродкастинга перед векторизацией помогает векторизовать операции, которые поддерживают массивы разных измерений.

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