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

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

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

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
Как обеспечить строгую согласованность кэша при записи в Django/DRF под высокой нагрузкой?

Короткий ответ: Делайте запись в БД в транзакции, фиксируйте событие в outbox и только после коммита инвалидируйте/перестраивайте кэш (write-through), используя версионирование ключей. Защищайтесь от stampede через короткие TTL + jitter и распределённые локи в Redis. Для чтения с реплик учитывайте лаг и маршрутизируйте горячие чтения на мастер или используйте read-your-writes токены/версии.

Библиотека собеса по Python
В чём разница между is и == в Python, и когда использовать is?

is проверяет тождество (это один и тот же объект), == — равенство значений (через __eq__). Используйте is только для None, булевых (True/False) и собственных «сентинелов». Для чисел/строк/списков — ==; на совпадение is из-за интернирования полагаться нельзя.

Библиотека собеса по Python
👾1
Каковы способы настройки функциональности интерфейса администратора Django?

Существует несколько способов настройки функциональности интерфейса администратора Django. Вы можете использовать форму добавления/изменения, которая автоматически генерируется Django, вы можете добавлять модули JavaScript с помощью параметра js. Этот параметр в основном представляет собой список URL-адресов, указывающих на модули JavaScript, которые должны быть включены в ваш проект в теге <noscript>. Вы также можете написать представления для администратора, если хотите. Хотите глубже изучить основы Python? Добро пожаловать на курс: https://proglib.academy/python

Библиотека собеса по Python
Какова амортизированная сложность push_back у динамического массива при удвоении ёмкости и почему?

O(1) амортизированно. Редкие дорогостоящие копирования «распределяются» на множество дешёвых вставок; потенциал/агрегатный анализ показывает, что суммарная стоимость m операций ≤ 3m. Кстати, у нас сейчас действует 40% скидка на курс Алгоритмы и структуры данных.

Библиотека собеса по Python
За год мы провели три потока курса по ИИ-агентам, а теперь запускаем масштабное обновление!

В новом, четвёртом потоке мы учли все пожелания студентов, добавили большой блок про 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
👍3
Как избежать «висячих» задач и утечек при отмене в asyncio?

Используйте TaskGroup и asyncio.timeout, всегда await-ьте созданные задачи; при отмене ловите CancelledError, делайте cleanup в finally, закрывайте ресурсы (aclose/async with), а shield применяйте только к коротким критическим секциям.

Библиотека собеса по Python
👍31
Последний шанс: 3 курса по цене 1 и запуск AI-агентов в продакшн

На собеседованиях по 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
Функция compress

Функция compress из itertools используется для фильтрации элементов входной последовательности на основе соответствующих элементов булевой последовательности.

Библиотека собеса по Python
Разница между Django OneToOneField и ForeignKey Field?

Оба они являются наиболее распространенными типами полей, используемых в Django. Единственное различие между ними заключается в том, что поле ForeignKey состоит из параметра on_delete вместе с классом модели, поскольку оно используется для отношений «многие к одному», тогда как, с другой стороны, OneToOneField реализует только отношение «один к одному» и требует только класс модели.

Библиотека собеса по Python
Как реализовать контролируемый параллелизм и backpressure в asyncio, если внешние ресурсы (БД/HTTP) ограничены?

Ограничивайте конкуренцию asyncio.Semaphore/пулами соединений, очередьйте работу через asyncio.Queue с фиксированным размером и воркерами, ставьте явные таймауты (asyncio.timeout) и прокидывайте отмену. Не запускайте «тысячи gather»; используйте TaskGroup для структурированной конкуренции, rate-limit (токен-бакет) и ретраи.

Библиотека собеса по Python
👍 На курсе по контролируемой разработке AI-агентов мы будем разбирать ровно то, о чём говорит Владислав в голосовом, но уже в формате системной практики.

📅 Старт курса — 20 апреля.

Если хотите разобраться, как строить управляемые агентные системы:
➡️ Присоединяйтесь.

P.S. С первого занятия будет практика: код и разбор реальных ошибок, а не только теория.
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое __slots__ в Python, как они функционируют и когда их стоит применять?

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

Библиотека собеса по Python
👍4❤‍🔥2
Как вычислить среднее значение, медиану, моду, дисперсию, стандартное отклонение и различные квантильные диапазоны в Pandas?

✔️ DataFrame.mean(): среднее
✔️ DataFrame.median(): медиана
✔️ DataFrame.mode(): мода
✔️ DataFrame.var(): дисперсия
✔️ DataFrame.std(): стандартное отклонение
✔️ DataFrame.quantile(): для расчета квантильного диапазона, используя значение диапазона в качестве параметра


Библиотека собеса по Python
👾1
В Python-сервисе под нагрузкой заметно растёт время отклика. Профилирование показывает, что большая часть времени тратится на сериализацию и десериализацию JSON. Как вы будете искать и устранять проблему?

Сначала проверю профилером “горячие места” сериализации (cProfile, line_profiler). Для оптимизации можно заменить стандартный модуль json на более быстрые реализации (ujson, orjson), использовать pydantic/датаклассы с валидацией только там, где это нужно, или кэшировать результаты сериализации для часто используемых структур.

Библиотека собеса по Python
Как находить и устранять утечки памяти в долгоживущем сервисе?

Включите tracemalloc и снимайте снэпшоты до/после нагрузки, ищите рост по трассам; проверяйте циклы gc.get_objects() и gc.garbage, избегайте __del__ на участниках циклов, используйте weakref для обратных ссылок. Ограничивайте кэши (lru_cache(maxsize=…)), следите за «вечно живущими» задачами asyncio, закройте пулы/соединения и проверяйте, что обработчики событий не держат замыкания на большие объекты.

Библиотека собеса по Python
☝️ Уже сегодня: ИИ-агенты в продакшене — инженерный подход к интеграции LLM

Индустрия активно обсуждает потенциал нейросетей, способных автоматизировать бизнес-процессы и заменить целые отделы. Однако реальное внедрение агентов в production вскрывает серьёзные проблемы: разработчикам приходится бороться с непредсказуемыми галлюцинациями моделей, нестабильными API и сложной интеграцией в существующую архитектуру.

Сегодня в 19:00 МСК в рамках нашего курса «Разработка AI-агентов» мы проведём открытый вебинар «ИИ-агенты в продакшене: от хайпа к деньгам». Спикер — Полина Полунина, руководитель AI-направления в Альфа-Банке. Будем говорить о нейросетях с позиции жёсткой инженерии.

Разберём три реальных кейса из сурового банковского энтерпрайза, напишем и запустим агента прямо в эфире, честно обсудим грабли, на которые наступает бизнес при интеграции LLM.

Тем, кто придёт на эфир, дадим промокод AGENTS на скидку 10 000 ₽ на любой тариф курса.

👉 Занять место на вебинаре
👾1
Часовая готовность: создаём ИИ-агента в прямом эфире

В 19:00 МСК в рамках нашего курса «Разработка AI-агентов» стартует вебинар «ИИ-агенты в продакшене: от хайпа к деньгам». Спикер — Полина Полунина, руководитель AI-направления в Альфа-Банке.

Будет live-демо работающего агента, реальные метрики из корпоративной среды и честный разбор архитектурных граблей — без воды и «успешного успеха».

Всем зрителям эфира дадим эксклюзивный промокод AGENTS на скидку 10 000 ₽ на любой тариф курса.

👉 Занять место на вебинаре