В Kubernetes-продакшене пользователи жалуются, что при резком росте нагрузки часть запросов теряется или обрабатывается с большим лагом. Как вы будете искать и решать проблему?
Проверю метрики Pod’ов и нод (CPU/memory), события в кластере и логи ingress-контроллера. Удостоверюсь, что настроены requests/limits, HPA для автоматического масштабирования и readinessProbe, чтобы трафик шёл только на готовые Pod’ы. Для решения — оптимизировать ресурсы, включить горизонтальное или кластерное авто-масштабирование, при необходимости добавить очередь (Kafka/RabbitMQ) для сглаживания пиков.
Библиотека собеса по Python
Библиотека собеса по Python
Как FastAPI обрабатывает зависимости с Depends, и как происходит их разрешение в контексте асинхронных и синхронных функций?
FastAPI строит граф зависимостей рекурсивно при старте приложения. При обработке запроса оно вызывает зависимости в порядке topological sort. Асинхронные зависимости вызываются с await, синхронные — через обычный вызов. FastAPI автоматически определяет тип зависимости по сигнатуре. Повторно используемые зависимости кэшируются внутри одного запроса. Исключения в зависимостях прерывают цепочку и оборачиваются в HTTP-ответ.
Библиотека собеса по Python
Библиотека собеса по Python
Как проектировать стабильный библиотечный API с минимальными ломаниями?
Семвер и строгие контракты типов (PEP 561, точные аннотации), устойчивые имена/аргументы, собственная иерархия исключений, чёткая политика деприкаций (warning → снятие через N минорных версий), стабильные сериализационные форматы, разделение sync/async API без «магии», детерминированные побочные эффекты, зафиксированные минимальные версии зависимостей и хорошее версиирование схем.
Библиотека собеса по Python
Библиотека собеса по Python
❤3
В продакшн-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
Библиотека собеса по Python
У вас есть Python-сервис, который обрабатывает асинхронные запросы через asyncio. При нагрузочном тесте задержки начинают расти, хотя CPU и память почти не используются. В чём может быть причина и как её решать?
Скорее всего, внутри event loop есть блокирующие операции (синхронные вызовы к БД, файлам или тяжёлые вычисления). Их нужно вынести в отдельный процесс или поток (ProcessPoolExecutor/ThreadPoolExecutor) либо заменить на асинхронные аналоги библиотек.
Библиотека собеса по Python
Библиотека собеса по Python
❤1
В высоконагруженном Python-сервисе вы замечаете, что при увеличении числа потоков скорость обработки CPU-bound задач не растёт. Почему так происходит и как это исправить?
Из-за GIL только один поток выполняет байткод одновременно, поэтому многопоточность не ускоряет CPU-bound задачи. Решение — использовать multiprocessing, вынести тяжёлые вычисления в C-расширения или применять библиотеки вроде NumPy, которые обходят GIL.
Библиотека собеса по Python
Библиотека собеса по Python
👍3
Как сделать идемпотентное создание записи при гонке (двойной запрос) в Django?
Ввести уникальный бизнес-ключ (UniqueConstraint), обернуть в transaction.atomic(), использовать get_or_create() либо create() с перехватом IntegrityError и затем get(). Не делать предварительных exists(). При зависимостях — лочить родителя select_for_update().
Библиотека собеса по Python
Библиотека собеса по Python
Как получить IP-адрес посетителя в Flask?
Ответ: Чтобы получить IP-адрес посетителя во Flask, мы используем метод request.remote_addr. Ниже представлена его реализация.
Библиотека собеса по Python
from flask import Flask, request
app = Flask(__name__)
@app.route('/')
def get_visitor_ip():
visitor_ip = request.remote_addr
return f"Visitor's IP address is: {visitor_ip}"
if __name__ == '__main__':
app.run(debug=True)
Библиотека собеса по Python
Какое расширение используется для подключения к базе данных во Flask?
Расширение улучшает управление базами данных и взаимодействие с ними во время разработки, устраняя необходимость написания простых SQL-запросов. PostgreSQL, SQLite и MySQL — лишь некоторые из поддерживаемых Flask СУБД. Для подключения к базам данных требуется плагин Flask-SQLAlchemy.
Библиотека собеса по Python
Библиотека собеса по Python
Что такое Docstring?
Docstring (дословно «строка документации») — это строка, которая используется для документирования модулей, функций, классов и методов в вашем коде. Она представляет собой строковый литерал, который следует сразу после определения элемента кода и предназначен для объяснения, как работает этот элемент, какие аргументы он принимает, какие значения возвращает и другие важные детали.
Обычно docstring располагается в самом верхнем уровне определения элемента кода и заключается в тройные кавычки (одинарные или двойные).
Библиотека собеса по Python
Обычно docstring располагается в самом верхнем уровне определения элемента кода и заключается в тройные кавычки (одинарные или двойные).
Библиотека собеса по Python
Какой метод использовался до оператора in для проверки наличия ключа в словаре?
До появления оператора in в Python, чтобы проверить, содержит ли словарь определенный ключ, использовался метод словаря has_key().
Этот метод принимал в качестве аргумента проверяемый ключ и возвращал логическое значение - True, если ключ присутствовал в словаре, и False - если нет.
В Python 2.5 появился более понятный и краткий оператор in, поэтому сейчас рекомендуется использовать именно его, а has_key() считается устаревши м.
Библиотека собеса по Python
До появления оператора in в Python, чтобы проверить, содержит ли словарь определенный ключ, использовался метод словаря has_key().
Этот метод принимал в качестве аргумента проверяемый ключ и возвращал логическое значение - True, если ключ присутствовал в словаре, и False - если нет.
В Python 2.5 появился более понятный и краткий оператор in, поэтому сейчас рекомендуется использовать именно его, а has_key() считается устаревши
Библиотека собеса по Python
👾1
Как изменить тип данных списка?
Для изменения типа данных в списке можно использовать встроенные функции:
1. map() — применяет указанную функцию к каждому элементу списка и возвращает новый список с измененными элементами:
old_list = [1, 2, 3]
new_list = map(str, old_list)
В новом списке все элементы будут строкового типа.
2. Использование генераторного выражения:
old_list = [1, 2, 3]
new_list = [str(x) for x in old_list]
Здесь мы преобразуем элементы в строку и помещаем в новый список.
Также можно применить конструкцию map к генераторному выражению:
new_list = list(map(str, [1, 2, 3]))
Библиотека собеса по Python
Для изменения типа данных в списке можно использовать встроенные функции:
1. map() — применяет указанную функцию к каждому элементу списка и возвращает новый список с измененными элементами:
old_list = [1, 2, 3]
new_list = map(str, old_list)
В новом списке все элементы будут строкового типа.
2. Использование генераторного выражения:
old_list = [1, 2, 3]
new_list = [str(x) for x in old_list]
Здесь мы преобразуем элементы в строку и помещаем в новый список.
Также можно применить конструкцию map к генераторному выражению:
new_list = list(map(str, [1, 2, 3]))
👍5❤1
Разница между Django OneToOneField и ForeignKey Field?
Оба они являются наиболее распространенными типами полей, используемых в Django. Единственное различие между ними заключается в том, что поле ForeignKey состоит из параметра on_delete вместе с классом модели, поскольку оно используется для отношений «многие к одному», тогда как, с другой стороны, OneToOneField реализует только отношение «один к одному» и требует только класс модели.
Библиотека собеса по Python
Библиотека собеса по Python
Как используется конструкция try — except? Какие ещё блоки для обработки исключений существуют?
try: Этот блок используется, чтобы обернуть код, который может вызвать исключение.
except: В этом блоке пишется код, который будет выполнен, если в блоке try возникнет исключение. Можно указать несколько блоков except.
else: Этот блок выполняется, если в блоке try не возникло исключений, то есть всё сработало без ошибок.
finally: Данный блок выполняется всегда после try, except и else, независимо от того, появилось исключение или нет (например, содержит инструкцию по закрытию файла).
Библиотека собеса по Python
Библиотека собеса по Python
❤🔥3👍2
Назовите примеры изменяемых и неизменяемых объектов.
Неизменяемые объекты нельзя изменить после создания, примеры — строки, кортежи, int, float. Противоположны им изменяемые объекты, например list, dict, set.
Библиотека собеса по Python
Библиотека собеса по Python
Как профилировать производительность в проде без сильного оверхеда?
Используйте сэмплирующие профилировщики без остановки процесса (py-spy, perf, eBPF) для CPU/wall-time и флеймграфов; для памяти — tracemalloc со снапшотами; для async — метрики event loop (slow callbacks) и трассинг (OpenTelemetry). Профилируйте под реальной нагрузкой, фиксируйте p95/p99, меняйте код точечно.
Библиотека собеса по Python
Библиотека собеса по Python
В чем смысл параметров _value, __value?
_value — одиночное подчеркивание в начале имени означает, что этот параметр не предназначен для использования outside функции. Это соглашение, а не ограничение языка.
__value — двойное подчеркивание означает, что это имя зарезервировано Python и используется для специальных целей, например init для конструктора класса. Такие параметры могут выполнять какие-то дополнительные действия.
Библиотека собеса по Python
__value — двойное подчеркивание означает, что это имя зарезервировано Python и используется для специальных целей, например init для конструктора класса. Такие параметры могут выполнять какие-то дополнительные действия.
Библиотека собеса по Python
❤🔥2
В продакшн Django-приложении пользователи жалуются на «N+1 проблему» при выборках связанных объектов. Как вы будете диагностировать и устранять её?
Проверю SQL-запросы через django-debug-toolbar или логирование ORM. Если вижу множественные запросы для связанных моделей — перепишу код с использованием select_related (для ForeignKey/OneToOne) или prefetch_related (для ManyToMany/Reverse FK). При необходимости — вынесу тяжёлые выборки в кастомные SQL-запросы или оптимизирую структуру модели.
Библиотека собеса по Python
Библиотека собеса по Python
🤖 Ваш ИИ-агент съедает бюджет на токены и падает при сбоях API?
Пора переходить на новый уровень. Открыли продажи курса по AgentOps — управлению ИИ-агентами в рабочих процессах.
Рынок требует инженеров, которые умеют:
• Контролировать метрики и качество ответов;
• Эффективно работать с RAG-архитектурой;
• Строить системы, готовые к реальным нагрузкам.
Обучение займет 6-12 недель под руководством практиков с опытом в AI и Data Science в крупных IT-компаниях, таких как Яндекс, Сбер, МТС, Huawei, Raft и др.
🎁 Можно подождать, пока про AgentOps начнут говорить все. Или зайти сейчас — НА 30% ДЕШЕВЛЕ!
🔥 Забрать скидку и изучить программу.
Пора переходить на новый уровень. Открыли продажи курса по AgentOps — управлению ИИ-агентами в рабочих процессах.
Рынок требует инженеров, которые умеют:
• Контролировать метрики и качество ответов;
• Эффективно работать с RAG-архитектурой;
• Строить системы, готовые к реальным нагрузкам.
Обучение займет 6-12 недель под руководством практиков с опытом в AI и Data Science в крупных IT-компаниях, таких как Яндекс, Сбер, МТС, Huawei, Raft и др.
🎁 Можно подождать, пока про AgentOps начнут говорить все. Или зайти сейчас — НА 30% ДЕШЕВЛЕ!
Работа с AI начинается с систем.
Системы — с AgentOps.
🔥 Забрать скидку и изучить программу.
❤1
Почему NumPy предпочтительнее Matlab, Octave, Idl или Yorick?
NumPy — высокопроизводительная библиотека с открытым исходным кодом, которая обеспечивает сложные математические и научные вычислительные возможности. Она поддерживает следующее:
⚡️Мощные функции для выполнения сложных математических операций с многомерными матрицами и массивами. Операции с ndarrays NumPy примерно на 50% быстрее по сравнению с операциями с встроенными списками с использованием циклов. Эта эффективность очень полезна, когда массивы содержат миллионы элементов
⚡️Предоставляет синтаксис индексации для легкого доступа к частям данных в большом массиве
⚡️Предоставляет встроенные функции, которые помогают легко выполнять операции, связанные с линейной алгеброй и статистикой
⚡️Для выполнения сложных вычислений с использованием NumPy требуется всего несколько строк кода
Библиотека собеса по Python
⚡️Мощные функции для выполнения сложных математических операций с многомерными матрицами и массивами. Операции с ndarrays NumPy примерно на 50% быстрее по сравнению с операциями с встроенными списками с использованием циклов. Эта эффективность очень полезна, когда массивы содержат миллионы элементов
⚡️Предоставляет синтаксис индексации для легкого доступа к частям данных в большом массиве
⚡️Предоставляет встроенные функции, которые помогают легко выполнять операции, связанные с линейной алгеброй и статистикой
⚡️Для выполнения сложных вычислений с использованием NumPy требуется всего несколько строк кода
Библиотека собеса по Python
💯1
Выкатили большую серию постов, которая ЛЕГКО ЗАМЕНИТ ПАРОЧКУ ПЛАТНЫХ КУРСОВ на рынке.
В первой части постов навалили жесткой базы, чтобы вправить мозги на место. Во второй дали конкретные инструменты, фреймворки и пошаговые инструкции, что нужно кодить прямо сейчас.
Часть 1. Введение, юзкейсы и реальность
Разбираемся с терминами, снимаем розовые очки и смотрим, где ИИ реально приносит бабки, а где только жжет нервы:
1. «Так что вообще считается AI-агентом?»
2. «Где тут бот, а где уже AI-агент?»
3. «Не надо пихать AI-агента в каждую задачу»
4. «Что уже можно спокойно делать через AI-агентов?»
5. «А что через AI-агентов пока лучше не трогать?»
Часть 2. Изнанка, ошибки и архитектура
Как всё это устроено под капотом, чтобы не слить бюджет и не наломать дров на старте:
6. «Можно ли просто сесть вечером и собрать себе AI-агента?»
7. «С чего вообще начать, если хочется попробовать AI-агентов»
8. «Почему AI-агент может внезапно начать творить дичь»
9. «Где AI-агенты реально экономят время, а где только добавляют возни»
10. «Почему они жрут столько денег?»
Часть 3. Хардкорная практика (Что делать руками)
Хватит теории. Открываем ноут, запускаем Cursor и делаем нормальные, отказоустойчивые системы:
11. «Почему одного промпта мало?»
12. «Почему AI-агенту мало просто “дать доступ к данным”»
13. «Если не следить за AI-агентом, он быстро начинает жить своей жизнью»
14. «Собрать демку легко. Но как же сделать нормально»
15. «Как сделать, чтобы это не развалилось через неделю?»
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1👏1😁1