ch
Feedback
Библиотека собеса по Python | вопросы с собеседований

Библиотека собеса по Python | вопросы с собеседований

前往频道在 Telegram

Вопросы с собеседований по Python и ответы на них. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/6587aafa Для обратной связи: @proglibrary_feeedback_bot

显示更多
5 992
订阅者
-324 小时
-77
-2230
帖子存档
Как обеспечить строгую согласованность кэша при записи в Django/DRF под высокой нагрузкой? Короткий ответ: Делайте запись в БД в транзакции, фиксируйте событие в outbox и только после коммита инвалидируйте/перестраивайте кэш (write-through), используя версионирование ключей. Защищайтесь от stampede через короткие TTL + jitter и распределённые локи в Redis. Для чтения с реплик учитывайте лаг и маршрутизируйте горячие чтения на мастер или используйте read-your-writes токены/версии. Библиотека собеса по Python

💼 Что спросят про AI-агентов на Python-собеседовании в 2026 году? Просто знать LangChain уже мало. Работодатели ищут тех, кто понимает архитектуру LangGraph, умеет оптимизировать токены и знаком с 152-ФЗ. Мы обновили наш курс, чтобы вы могли уверенно отвечать на вопросы про промышленный RAG и трассировку ошибок. 📚 В программе для профи: — промышленный RAG: как обосновать выбор методов извлечения данных; — LangGraph: понимание механизмов time-travel и восстановления состояний; — экономика агентов: стратегии снижения затрат на инференс моделей; — юриспруденция: как работать с персональными данными в рамках законодательства РФ. Начните подготовку к карьере AI-инженера уже сегодня — вводные материалы доступны сразу. ⏳ Специальные условия до 28 февраля: — введите промокод Agent для получения скидки 10 000 рублей**; — участвуйте в **акции «3 курса по цене 1» — два курса в подарок. 👉 Получить доступ к курсу и подаркам

К чему может быть применен декоратор? Декораторы можно применять к: — Обычным функциям, определенным с помощью def. — Методам классов. — Статическим методам и методам класса внутри классов. — Lambda функциям. — Методам встроенных типов в Python (например, к методам списков, словарей). Библиотека собеса по Python

Что спросят на собеседовании AI-инженера в 2026 году? «Как написать промпт» — этот вопрос уже никто не задаёт. На сеньорских собесах теперь спрашивают: как защитить агента от бесконечного цикла, как настроить 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

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

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

System Design интервью для AI-сервисов Как спроектировать агента, который не «съест» весь бюджет и не упадёт под нагрузкой? Э
System Design интервью для AI-сервисов Как спроектировать агента, который не «съест» весь бюджет и не упадёт под нагрузкой? Это ключевой вопрос 2026 года. Ответы — в нашем обновлённом курсе «Разработка AI-агентов». Ключевые темы: 🔹 Экономика. Роутинг моделей, кэширование, лимиты. 🔹 Надёжность. Human-in-the-loop, runbooks, восстановление состояний. 🔹 Интеграция. Встраивание AI в существующий Python-бэкенд. Стартуй сейчас! Не жди потока, материалы доступны сразу. 🎟 Промокод Agent — скидка 10 000 ₽ (до 28 февраля). 👉 Прокачать System Design

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

Как и для чего используется %s? %s — это Спецификатор формата и он используется для форматирования строк. Он позволяет вставлять значения других типов (числа, объекты и т. д.) в строковые выражения, автоматически преобразуя их к строковому представлению. %s заменяется на строковое представление переданного значения в процессе форматирования. Это удобный способ интерполяции строк. Помимо простой интерполяции, %s полезен для оформления вывода данных в консоль, логгирования, составления SQL-запросов с подстановкой значений и других задач работы со строками. Библиотека собеса по Python

Объясни, как 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

Что такое GIL в CPython, как он влияет на многопоточность, и какие практики выбирать для CPU-bound и I/O-bound задач? GIL — глобальная блокировка интерпретатора в CPython: одновременно байткод исполняет только один поток. CPU-bound: потоки не масштабируются по ядрам → берите процессы (multiprocessing/процесс-пулы), векторизацию/библиотеки, которые освобождают GIL (напр. NumPy), нативные расширения или вынос в отдельные сервисы. I/O-bound: потоки подходят (блокирующие I/O обычно отпускают GIL); альтернативно — asyncio с неблокирующими вызовами. Важно: asyncio не ускоряет CPU-bound; смешивайте — тяжёлое CPU выносите в процессы/С, блокирующее I/O — в пул потоков; измеряйте и следите, чтобы в async-код не просачивались блокировки. Имплементации: поведение касается CPython; в других реализациях Python механизм отличается. Библиотека собеса по Python

Что такое сопрограмма (coroutine) в Python? Сопрограмма (coroutine) — это расширенная подпрограмма, которая может приостанавливать выполнение и позже продолжать с того же места, а также поддерживает несколько точек входа. 🚩 В Python сопрограммы реализуются с помощью генераторов и, начиная с Python 3.5, через ключевые слова `async` и `await`. 🔎 Благодаря сопрограммам мы можем: — писать асинхронный код без коллбеков — выполнять неблокирующие операции в одном потоке — использовать кооперативную многозадачность 🔎Сопрограммы позволяют писать асинхронный код так же просто, как и обычный синхронный, что делает его намного удобнее и понятнее. Библиотека собеса по Python

💻 Что такое миксины? Миксин — это паттерн проектирования в объектно-ориентированном программировании, при котором в цепочку наследования добавляется вспомогательный класс с небольшой изолированной функциональностью. Миксины не предназначены для самостоятельного использования — они добавляют дополнительные методы или свойства другим классам через множественное наследование. Их цель — повторное использование кода без создания иерархий, перегруженных логикой. ✅ Пример миксина: class NowMixin: def now(self): return datetime.datetime.utcnow() ✅ Теперь любой класс, унаследованный от NowMixin, будет обладать методом now(): class Logger(NowMixin): pass logger = Logger() print(logger.now()) 🚩 Особенности: — В названиях миксинов часто добавляют суффикс Mixin, чтобы обозначить их вспомогательную природу — Миксин — это технически обычный класс, но используемый как «добавка» к основному поведению — Позволяет избежать дублирования кода и сделать архитектуру гибче Библиотека собеса по Python

Что такое подгенератор (subgenerator)? Подгенератор создается с помощью конструкции yield from внутри генератора. Использование подгенераторов позволяет разбить генератор на несколько частей для упрощения кода и оптимизации памяти. Это полезный инструмент при работе с последовательностями. Механизм передает значения между генераторами без сохранения всей последовательности в памяти и блокирует основной генератор до полного завершения подгенератора. Библиотека собеса по Python

Почему @dataclass(eq=True) без frozen по умолчанию не хэшируем? Потому что при наличии __eq__ и изменяемости нарушается инвариант хэша; Python выставляет __hash__ = None. Нужно либо frozen=True (тогда хэш генерится), либо явно определить __hash__/использовать unsafe_hash=True на свой риск. Библиотека собеса по Python

Какой метод использовался до оператора in для проверки наличия ключа в словаре? До появления оператора in в Python, чтобы проверить, содержит ли словарь определенный ключ, использовался метод словаря has_key(). Этот метод принимал в качестве аргумента проверяемый ключ и возвращал логическое значение - True, если ключ присутствовал в словаре, и False - если нет. В Python 2.5 появился более понятный и краткий оператор in, поэтому сейчас рекомендуется использовать именно его, а has_key() считается устаревшим. Библиотека собеса по Python

Вопрос с собеседования: «Как реализовать память в LLM-приложении?» Если в 2026 году вы ответите «просто передам всю историю п
Вопрос с собеседования: «Как реализовать память в LLM-приложении?» Если в 2026 году вы ответите «просто передам всю историю переписки», вы не пройдёте. Контекстное окно всё ещё стоит денег, а RAG стал стандартом. На курсе мы разбираем профессиональные паттерны: Summary Memory, Vector Store Memory, Entity Memory. Мы учим строить архитектуру, которая эффективна и масштабируема. Это то, что отличает джуна от сильного разработчика. Что прокачаем: — Работу с асинхронностью в Python (для стриминга токенов). — Проектирование сложных пайплайнов на LangGraph. — Интеграцию агентов с внешними API и базами данных. Узнать подробности курса

Чем «data»-дескриптор отличается от «non-data», как это влияет на порядок поиска атрибута, и почему @property — это тоже дескриптор? В Python любой объект с __get__ — дескриптор. Non-data дескриптор: имеет только __get__. Проигрывает записи в obj.__dict__. @property — именно non-data дескриптор. Data дескриптор: имеет __set__ и/или __delete__. Имеет приоритет над obj.__dict__, блокируя прямую подмену. Порядок разрешения атрибутов (__getattribute__): data-descriptor → obj.__dict__ → non-data descriptor/атрибут класса → __getattr__. Пишите свой data-дескриптор для переиспользуемой логики: валидация, типизация, lazy/кэш, связка с внешними ресурсами. Библиотека собеса по Python

Как отвечать на вопросы про LLM-разработку? Спрос на Python-разработчиков, умеющих работать с агентами, растёт. Курс «Разрабо
Как отвечать на вопросы про LLM-разработку? Спрос на Python-разработчиков, умеющих работать с агентами, растёт. Курс «Разработка ИИ-агентов» — это способ быстро освоить актуальный стек. Что изучим на практике:LangFlow и AutoGen; — протоколы MCP и A2A; — интеграцию векторных баз данных; — безопасность и оптимизацию агентов. Первая лекция уже доступна. Посмотрите её, чтобы понимать тренды и увереннее чувствовать себя на интервью. Записаться Смотреть лекцию

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