Объясни, как Django управляет транзакциями: autocommit, transaction.atomic() (savepoint’ы и «broken» состояние), ATOMIC_REQUESTS, когда нужен select_for_update(), и что учитывать с CONN_MAX_AGE/PgBouncer.
По умолчанию autocommit: каждый ORM-запрос, меняющий БД, — своя транзакция. atomic() начинает транзакцию (или создаёт savepoint при вложенности); исключение помечает блок как broken → откат до ближайшего savepoint/транзакции; при выходе — commit или rollback. ATOMIC_REQUESTS=True автоматически оборачивает view, но может растягивать транзакции (долгие I/O, внешние вызовы) — применять выборочно. select_for_update() требует активной транзакции (atomic()), в Postgres можно nowait/skip_locked для борьбы с блокировками. Изоляция — та, что у БД (обычно READ COMMITTED). Соединения: CONN_MAX_AGE удерживает их открытыми; в проде обычно PgBouncer (session/transaction mode), следи за совместимостью с server-side курсорами и длительными транзакциями.
Библиотека собеса по Python
Библиотека собеса по Python
👍1
Как и для чего используется %s?
%s — это Спецификатор формата и он используется для форматирования строк.
Он позволяет вставлять значения других типов (числа, объекты и т. д.) в строковые выражения, автоматически преобразуя их к строковому представлению.
%s заменяется на строковое представление переданного значения в процессе форматирования. Это удобный способ интерполяции строк.
Помимо простой интерполяции, %s полезен для оформления вывода данных в консоль, логгирования, составления SQL-запросов с подстановкой значений и других задач работы со строками.
Библиотека собеса по Python
Он позволяет вставлять значения других типов (числа, объекты и т. д.) в строковые выражения, автоматически преобразуя их к строковому представлению.
%s заменяется на строковое представление переданного значения в процессе форматирования. Это удобный способ интерполяции строк.
Помимо простой интерполяции, %s полезен для оформления вывода данных в консоль, логгирования, составления SQL-запросов с подстановкой значений и других задач работы со строками.
Библиотека собеса по Python
👍1
Вы разрабатываете высоконагруженный сервис на FastAPI. При нагрузочном тестировании видно, что время отклика сильно растёт, хотя CPU и память используются не полностью. Какие могут быть причины и как вы будете решать проблему?
Чаще всего проблема в блокирующем коде (синхронные запросы к БД, внешним API или тяжёлые вычисления), который “забивает” event loop. Нужно вынести такие операции в ThreadPoolExecutor/ProcessPoolExecutor или заменить их на асинхронные аналоги (например, httpx.AsyncClient, databases, async-драйверы для SQL/NoSQL). Также стоит проверить конфигурацию Uvicorn/Gunicorn (число воркеров, workers-per-core) и настроить connection pooling.
Библиотека собеса по Python
Библиотека собеса по Python
👍2
System Design интервью для AI-сервисов
Как спроектировать агента, который не «съест» весь бюджет и не упадёт под нагрузкой? Это ключевой вопрос 2026 года. Ответы — в нашем обновлённом курсе
«Разработка AI-агентов».
Ключевые темы:
🔹 Экономика. Роутинг моделей, кэширование, лимиты.
🔹 Надёжность.
🔹 Интеграция. Встраивание AI в существующий Python-бэкенд.
Стартуй сейчас! Не жди потока, материалы доступны сразу.
🎟 ПромокодAgent — скидка 10 000 ₽ (до 28 февраля).
👉 Прокачать System Design
Как спроектировать агента, который не «съест» весь бюджет и не упадёт под нагрузкой? Это ключевой вопрос 2026 года. Ответы — в нашем обновлённом курсе
«Разработка AI-агентов».
Ключевые темы:
🔹 Экономика. Роутинг моделей, кэширование, лимиты.
🔹 Надёжность.
Human-in-the-loop, runbooks, восстановление состояний.🔹 Интеграция. Встраивание AI в существующий Python-бэкенд.
Стартуй сейчас! Не жди потока, материалы доступны сразу.
🎟 Промокод
👉 Прокачать System Design
❤1
Вы запускаете высоконагруженный Python-сервис на asyncio. Со временем отклик начинает расти, хотя CPU и память загружены слабо. В чём может быть причина и как подойти к решению?
Обычно это значит, что внутри event loop выполняется блокирующий код (синхронные запросы к БД, тяжёлые вычисления, блокирующие I/O). Их нужно вынести в отдельные процессы/пулы потоков (ProcessPoolExecutor, ThreadPoolExecutor) или заменить на асинхронные аналоги библиотек.
Библиотека собеса по Python
Библиотека собеса по Python
👍2
Как FastAPI обрабатывает зависимости с Depends, и как происходит их разрешение в контексте асинхронных и синхронных функций?
FastAPI строит граф зависимостей рекурсивно при старте приложения. При обработке запроса оно вызывает зависимости в порядке topological sort. Асинхронные зависимости вызываются с await, синхронные — через обычный вызов. FastAPI автоматически определяет тип зависимости по сигнатуре. Повторно используемые зависимости кэшируются внутри одного запроса. Исключения в зависимостях прерывают цепочку и оборачиваются в HTTP-ответ.
Библиотека собеса по Python
Библиотека собеса по Python
👍1
Что спросят на собеседовании AI-инженера в 2026 году?
«Как написать промпт» — этот вопрос уже никто не задаёт. На сеньорских собесах теперь спрашивают: как защитить агента от бесконечного цикла, как настроить time-travel в LangGraph и как парсить кривые таблицы для RAG.
Мы полностью обновили наш курс по AI-агентам. Это мощный инженерный гайд, который закроет все пробелы в System Design LLM-приложений и подготовит вас к сложным продакшн-задачам.
Что вы заберёте в свой арсенал:
🔹 хардкорный RAG: продвинутые подходы к извлечению данных и улучшению поисковых запросов;
🔹 оркестрация: human-in-the-loop, восстановление состояний и runbooks;
🔹 LLMOps: тестирование, оценка качества, логирование и выявление регрессий;
🔹 экономика ИИ: жёсткий контроль токенов, кэш и переключение производительности;
🔹 легальный деплой: как разворачивать агентов строго по 152-ФЗ.
До 28 февраля действует скидка 10 000 рублей по промокоду
Участвуйте в акции «3 курса по цене 1» и получайте ещё два направления бесплатно.
Прокачать навыки для Senior AI Engineer
«Как написать промпт» — этот вопрос уже никто не задаёт. На сеньорских собесах теперь спрашивают: как защитить агента от бесконечного цикла, как настроить time-travel в LangGraph и как парсить кривые таблицы для RAG.
Мы полностью обновили наш курс по AI-агентам. Это мощный инженерный гайд, который закроет все пробелы в System Design LLM-приложений и подготовит вас к сложным продакшн-задачам.
Что вы заберёте в свой арсенал:
🔹 хардкорный RAG: продвинутые подходы к извлечению данных и улучшению поисковых запросов;
🔹 оркестрация: human-in-the-loop, восстановление состояний и runbooks;
🔹 LLMOps: тестирование, оценка качества, логирование и выявление регрессий;
🔹 экономика ИИ: жёсткий контроль токенов, кэш и переключение производительности;
🔹 легальный деплой: как разворачивать агентов строго по 152-ФЗ.
До 28 февраля действует скидка 10 000 рублей по промокоду
Agent.Участвуйте в акции «3 курса по цене 1» и получайте ещё два направления бесплатно.
Прокачать навыки для Senior AI Engineer
К чему может быть применен декоратор?
Декораторы можно применять к:
— Обычным функциям, определенным с помощью def.
— Методам классов.
— Статическим методам и методам класса внутри классов.
— Lambda функциям.
— Методам встроенных типов в Python (например, к методам списков, словарей).
Библиотека собеса по Python
— Обычным функциям, определенным с помощью def.
— Методам классов.
— Статическим методам и методам класса внутри классов.
— Lambda функциям.
— Методам встроенных типов в Python (например, к методам списков, словарей).
Библиотека собеса по Python
👍2❤1
💼 Что спросят про AI-агентов на Python-собеседовании в 2026 году?
Просто знать
📚 В программе для профи:
— промышленный
—
— экономика агентов: стратегии снижения затрат на инференс моделей;
— юриспруденция: как работать с персональными данными в рамках законодательства РФ.
Начните подготовку к карьере AI-инженера уже сегодня — вводные материалы доступны сразу.
⏳ Специальные условия до 28 февраля:
— введите промокод
— участвуйте в **акции «3 курса по цене 1» — два курса в подарок.
👉 Получить доступ к курсу и подаркам
Просто знать
LangChain уже мало. Работодатели ищут тех, кто понимает архитектуру LangGraph, умеет оптимизировать токены и знаком с 152-ФЗ. Мы обновили наш курс, чтобы вы могли уверенно отвечать на вопросы про промышленный RAG и трассировку ошибок.📚 В программе для профи:
— промышленный
RAG: как обосновать выбор методов извлечения данных;—
LangGraph: понимание механизмов time-travel и восстановления состояний;— экономика агентов: стратегии снижения затрат на инференс моделей;
— юриспруденция: как работать с персональными данными в рамках законодательства РФ.
Начните подготовку к карьере AI-инженера уже сегодня — вводные материалы доступны сразу.
⏳ Специальные условия до 28 февраля:
— введите промокод
Agent для получения скидки 10 000 рублей**; — участвуйте в **акции «3 курса по цене 1» — два курса в подарок.
👉 Получить доступ к курсу и подаркам
Как обеспечить строгую согласованность кэша при записи в Django/DRF под высокой нагрузкой?
Короткий ответ: Делайте запись в БД в транзакции, фиксируйте событие в outbox и только после коммита инвалидируйте/перестраивайте кэш (write-through), используя версионирование ключей. Защищайтесь от stampede через короткие TTL + jitter и распределённые локи в Redis. Для чтения с реплик учитывайте лаг и маршрутизируйте горячие чтения на мастер или используйте read-your-writes токены/версии.
Библиотека собеса по Python
Библиотека собеса по Python
В чём разница между is и == в Python, и когда использовать is?
is проверяет тождество (это один и тот же объект), == — равенство значений (через __eq__). Используйте is только для None, булевых (True/False) и собственных «сентинелов». Для чисел/строк/списков — ==; на совпадение is из-за интернирования полагаться нельзя.
Библиотека собеса по Python
Библиотека собеса по Python
👾1
Каковы способы настройки функциональности интерфейса администратора Django?
Существует несколько способов настройки функциональности интерфейса администратора Django. Вы можете использовать форму добавления/изменения, которая автоматически генерируется Django, вы можете добавлять модули JavaScript с помощью параметра js. Этот параметр в основном представляет собой список URL-адресов, указывающих на модули JavaScript, которые должны быть включены в ваш проект в теге <noscript>. Вы также можете написать представления для администратора, если хотите. Хотите глубже изучить основы Python? Добро пожаловать на курс: https://proglib.academy/python
Библиотека собеса по Python
Библиотека собеса по Python
Какова амортизированная сложность push_back у динамического массива при удвоении ёмкости и почему?
O(1) амортизированно. Редкие дорогостоящие копирования «распределяются» на множество дешёвых вставок; потенциал/агрегатный анализ показывает, что суммарная стоимость m операций ≤ 3m. Кстати, у нас сейчас действует 40% скидка на курс Алгоритмы и структуры данных .
Библиотека собеса по Python
Библиотека собеса по Python
За год мы провели три потока курса по ИИ-агентам, а теперь запускаем масштабное обновление!
В новом, четвёртом потоке мы учли все пожелания студентов, добавили большой блок про
В программе:
— практика с первого занятия:
— оркестрация в
— продвинутый
— контроль экономики агентов: маршрутизация и кеширование запросов;
— развёртывание локальных опенсорс-моделей с соблюдением 152-ФЗ.
В честь старта продаж действует спецпредложение: 3 курса по цене 1 (два дополнительных курса в подарок).
Доступ к материалам для предварительной подготовки откроется сразу после оплаты.
По промокоду
👉 Присоединиться к четвёртому потоку и вывести агентов в прод
В новом, четвёртом потоке мы учли все пожелания студентов, добавили большой блок про
AgentOps и сместили фокус с базовых концепций на суровый инжиниринг. Рассказать про GIL и декораторы на собеседовании легко, а вот сделать так, чтобы Python-агент не падал в проде и не галлюцинировал — задача со звёздочкой.В программе:
— практика с первого занятия:
Jupyter-ноутбуки с автопроверкой;— оркестрация в
LangGraph: human-in-the-loop и механизм time-travel;— продвинутый
RAG для продакшена и парсинг сложных документов;— контроль экономики агентов: маршрутизация и кеширование запросов;
— развёртывание локальных опенсорс-моделей с соблюдением 152-ФЗ.
В честь старта продаж действует спецпредложение: 3 курса по цене 1 (два дополнительных курса в подарок).
Доступ к материалам для предварительной подготовки откроется сразу после оплаты.
По промокоду
Agent забирайте скидку 10 000 ₽ (89 000 ₽ вместо 99 000 ₽). Успейте занять место до 28 февраля!👉 Присоединиться к четвёртому потоку и вывести агентов в прод
В чем разница между локальными и глобальными переменными в SQL?
Локальные переменные могут быть доступны только внутри функции, в которой они были объявлены. А глобальные переменные, будучи объявленными вне какой-либо функции, хранятся в фиксированных структурах памяти и могут использоваться во всей программе.
Библиотека собеса по Python
Библиотека собеса по Python
👍3
Как избежать «висячих» задач и утечек при отмене в asyncio?
Используйте TaskGroup и asyncio.timeout, всегда await-ьте созданные задачи; при отмене ловите CancelledError, делайте cleanup в finally, закрывайте ресурсы (aclose/async with), а shield применяйте только к коротким критическим секциям.
Библиотека собеса по Python
Библиотека собеса по Python
👍3❤1
Последний шанс: 3 курса по цене 1 и запуск AI-агентов в продакшн
На собеседованиях по
Обновлённая программа делает упор на жёсткий инжиниринг и вывод в прод. Вы научитесь строить ReAct-циклы, работать с
Почему нельзя откладывать:
— масштабная акция «3 курса по цене 1» сгорает уже сегодня;
— промокод
— сразу после оформления открываются материалы для подготовки — начать учиться можно прямо сейчас.
Забронировать место на курсе и забрать бонусы до конца дня
На собеседованиях по
Python уже недостаточно знать декораторы — бизнес ждёт навыков работы с ИИ-агентами. Как контролировать затраты на LLM, управлять оркестрацией и не нарушить 152-ФЗ?Обновлённая программа делает упор на жёсткий инжиниринг и вывод в прод. Вы научитесь строить ReAct-циклы, работать с
LangGraph и AutoGen, внедрять продвинутый RAG, протоколы MCP и AgentOps. Все ключевые навыки в одном месте: измеримость систем, time-travel дебаггинг, управление браузером, human-in-the-loop и развёртывание в закрытых контурах.Почему нельзя откладывать:
— масштабная акция «3 курса по цене 1» сгорает уже сегодня;
— промокод
Agent на скидку 10 000 рублей действует последние часы;— сразу после оформления открываются материалы для подготовки — начать учиться можно прямо сейчас.
Забронировать место на курсе и забрать бонусы до конца дня
Как получить определенный предмет в Model?
Если нет результатов, соответствующих запросу, get() вызовет исключение DoesNotExist. Если данному запросу get() соответствует более одного элемента он вызовет MultipleObjectsReturned, который также является атрибутом самого класса модели.
Библиотека собеса по Python
Библиотека собеса по Python
Функция compress
Функция compress из itertools используется для фильтрации элементов входной последовательности на основе соответствующих элементов булевой последовательности.
Библиотека собеса по Python
Библиотека собеса по Python
Разница между Django OneToOneField и ForeignKey Field?
Оба они являются наиболее распространенными типами полей, используемых в Django. Единственное различие между ними заключается в том, что поле ForeignKey состоит из параметра on_delete вместе с классом модели, поскольку оно используется для отношений «многие к одному», тогда как, с другой стороны, OneToOneField реализует только отношение «один к одному» и требует только класс модели.
Библиотека собеса по Python
Библиотека собеса по Python
Как реализовать контролируемый параллелизм и backpressure в asyncio, если внешние ресурсы (БД/HTTP) ограничены?
Ограничивайте конкуренцию asyncio.Semaphore/пулами соединений, очередьйте работу через asyncio.Queue с фиксированным размером и воркерами, ставьте явные таймауты (asyncio.timeout) и прокидывайте отмену. Не запускайте «тысячи gather»; используйте TaskGroup для структурированной конкуренции, rate-limit (токен-бакет) и ретраи.
Библиотека собеса по Python
Библиотека собеса по Python