Библиотека собеса по Python | вопросы с собеседований
رفتن به کانال در Telegram
Вопросы с собеседований по Python и ответы на них. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/6587aafa Для обратной связи: @proglibrary_feeedback_bot
نمایش بیشتر5 995
مشترکین
-224 ساعت
-47 روز
-2730 روز
آرشیو پست ها
Как вы реализуете сериализатор для модели с полями Many-to-Many и динамическими свойствами в Django REST Framework?
Для реализации настраиваемой сериализации в Django REST Framework требуется:
1. Создание сериализатора для модели: Используйте serializers.ModelSerializer и определите сериализаторы для всех связанных моделей с Many-to-Many отношениями.
2. Динамические поля: Добавьте SerializerMethodField для обработки свойств, которые требуют динамического вычисления, и определите соответствующий метод.
class BookSerializer(serializers.ModelSerializer):
authors = AuthorSerializer(many=True, read_only=True)
custom_field = serializers.SerializerMethodField()
class Meta:
model = Book
fields = ('title', 'authors', 'custom_field')
def get_custom_field(self, obj):
return custom_value_computation(obj)
3. Валидация: Добавьте методы валидации validate_ для проверки данных.
Этот подход обеспечивает гибкость и поддержание структуры кода при работе с сложными данными.
Библиотека собеса по Python🏃♀️ МЫ СОБРАЛИ ДЛЯ ВАС МЕГА-ГАЙД ПО ИИ-АГЕНТАМ (ЧИТАЙТЕ БЕСПЛАТНО ПРЯМО В ТГ)
Выкатили большую серию постов, которая ЛЕГКО ЗАМЕНИТ ПАРОЧКУ ПЛАТНЫХ КУРСОВ на рынке.
В первой части постов навалили жесткой базы, чтобы вправить мозги на место. Во второй дали конкретные инструменты, фреймворки и пошаговые инструкции, что нужно кодить прямо сейчас.
Часть 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. «Как сделать, чтобы это не развалилось через неделю?»
👍 Сохраняйте пост в избранное, чтобы не потерять.
Почему NumPy предпочтительнее Matlab, Octave, Idl или Yorick?
NumPy — высокопроизводительная библиотека с открытым исходным кодом, которая обеспечивает сложные математические и научные вычислительные возможности. Она поддерживает следующее:
⚡️Мощные функции для выполнения сложных математических операций с многомерными матрицами и массивами. Операции с ndarrays NumPy примерно на 50% быстрее по сравнению с операциями с встроенными списками с использованием циклов. Эта эффективность очень полезна, когда массивы содержат миллионы элементов
⚡️Предоставляет синтаксис индексации для легкого доступа к частям данных в большом массиве
⚡️Предоставляет встроенные функции, которые помогают легко выполнять операции, связанные с линейной алгеброй и статистикой
⚡️Для выполнения сложных вычислений с использованием NumPy требуется всего несколько строк кода
Библиотека собеса по Python
🤖 Ваш ИИ-агент съедает бюджет на токены и падает при сбоях API?
Пора переходить на новый уровень. Открыли продажи курса по AgentOps — управлению ИИ-агентами в рабочих процессах.
Рынок требует инженеров, которые умеют:
• Контролировать метрики и качество ответов;
• Эффективно работать с RAG-архитектурой;
• Строить системы, готовые к реальным нагрузкам.
Обучение займет 6-12 недель под руководством практиков с опытом в AI и Data Science в крупных IT-компаниях, таких как Яндекс, Сбер, МТС, Huawei, Raft и др.
🎁 Можно подождать, пока про AgentOps начнут говорить все. Или зайти сейчас — НА 30% ДЕШЕВЛЕ!
Работа с AI начинается с систем. Системы — с AgentOps.🔥 Забрать скидку и изучить программу.
В продакшн Django-приложении пользователи жалуются на «N+1 проблему» при выборках связанных объектов. Как вы будете диагностировать и устранять её?
Проверю SQL-запросы через django-debug-toolbar или логирование ORM. Если вижу множественные запросы для связанных моделей — перепишу код с использованием select_related (для ForeignKey/OneToOne) или prefetch_related (для ManyToMany/Reverse FK). При необходимости — вынесу тяжёлые выборки в кастомные SQL-запросы или оптимизирую структуру модели.
Библиотека собеса по Python
В чем смысл параметров _value, __value?
_value — одиночное подчеркивание в начале имени означает, что этот параметр не предназначен для использования outside функции. Это соглашение, а не ограничение языка.
__value — двойное подчеркивание означает, что это имя зарезервировано Python и используется для специальных целей, например init для конструктора класса. Такие параметры могут выполнять какие-то дополнительные действия.
Библиотека собеса по Python
Как профилировать производительность в проде без сильного оверхеда?
Используйте сэмплирующие профилировщики без остановки процесса (py-spy, perf, eBPF) для CPU/wall-time и флеймграфов; для памяти — tracemalloc со снапшотами; для async — метрики event loop (slow callbacks) и трассинг (OpenTelemetry). Профилируйте под реальной нагрузкой, фиксируйте p95/p99, меняйте код точечно.
Библиотека собеса по Python
Назовите примеры изменяемых и неизменяемых объектов.
Неизменяемые объекты нельзя изменить после создания, примеры — строки, кортежи, int, float. Противоположны им изменяемые объекты, например list, dict, set.
Библиотека собеса по Python
Как используется конструкция try — except? Какие ещё блоки для обработки исключений существуют?
try: Этот блок используется, чтобы обернуть код, который может вызвать исключение.
except: В этом блоке пишется код, который будет выполнен, если в блоке try возникнет исключение. Можно указать несколько блоков except.
else: Этот блок выполняется, если в блоке try не возникло исключений, то есть всё сработало без ошибок.
finally: Данный блок выполняется всегда после try, except и else, независимо от того, появилось исключение или нет (например, содержит инструкцию по закрытию файла).
Библиотека собеса по Python
Разница между Django OneToOneField и ForeignKey Field?
Оба они являются наиболее распространенными типами полей, используемых в Django. Единственное различие между ними заключается в том, что поле ForeignKey состоит из параметра on_delete вместе с классом модели, поскольку оно используется для отношений «многие к одному», тогда как, с другой стороны, OneToOneField реализует только отношение «один к одному» и требует только класс модели.
Библиотека собеса по 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]))
Библиотека собеса по Python
Какой метод использовался до оператора in для проверки наличия ключа в словаре?
До появления оператора in в Python, чтобы проверить, содержит ли словарь определенный ключ, использовался метод словаря has_key().
Этот метод принимал в качестве аргумента проверяемый ключ и возвращал логическое значение - True, если ключ присутствовал в словаре, и False - если нет.
В Python 2.5 появился более понятный и краткий оператор in, поэтому сейчас рекомендуется использовать именно его, а has_key() считается устаревшим.
Библиотека собеса по Python
Что такое Docstring?
Docstring (дословно «строка документации») — это строка, которая используется для документирования модулей, функций, классов и методов в вашем коде. Она представляет собой строковый литерал, который следует сразу после определения элемента кода и предназначен для объяснения, как работает этот элемент, какие аргументы он принимает, какие значения возвращает и другие важные детали.
Обычно docstring располагается в самом верхнем уровне определения элемента кода и заключается в тройные кавычки (одинарные или двойные).
Библиотека собеса по Python
Какое расширение используется для подключения к базе данных во Flask?
Расширение улучшает управление базами данных и взаимодействие с ними во время разработки, устраняя необходимость написания простых SQL-запросов. PostgreSQL, SQLite и MySQL — лишь некоторые из поддерживаемых Flask СУБД. Для подключения к базам данных требуется плагин Flask-SQLAlchemy.
Библиотека собеса по Python
Как получить IP-адрес посетителя в Flask?
Ответ: Чтобы получить IP-адрес посетителя во Flask, мы используем метод request.remote_addr. Ниже представлена его реализация.
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Как сделать идемпотентное создание записи при гонке (двойной запрос) в Django?
Ввести уникальный бизнес-ключ (UniqueConstraint), обернуть в transaction.atomic(), использовать get_or_create() либо create() с перехватом IntegrityError и затем get(). Не делать предварительных exists(). При зависимостях — лочить родителя select_for_update().
Библиотека собеса по Python
В высоконагруженном Python-сервисе вы замечаете, что при увеличении числа потоков скорость обработки CPU-bound задач не растёт. Почему так происходит и как это исправить?
Из-за GIL только один поток выполняет байткод одновременно, поэтому многопоточность не ускоряет CPU-bound задачи. Решение — использовать multiprocessing, вынести тяжёлые вычисления в C-расширения или применять библиотеки вроде NumPy, которые обходят GIL.
Библиотека собеса по Python
У вас есть Python-сервис, который обрабатывает асинхронные запросы через asyncio. При нагрузочном тесте задержки начинают расти, хотя CPU и память почти не используются. В чём может быть причина и как её решать?
Скорее всего, внутри event loop есть блокирующие операции (синхронные вызовы к БД, файлам или тяжёлые вычисления). Их нужно вынести в отдельный процесс или поток (ProcessPoolExecutor/ThreadPoolExecutor) либо заменить на асинхронные аналоги библиотек.
Библиотека собеса по Python
В продакшн-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
Как проектировать стабильный библиотечный API с минимальными ломаниями?
Семвер и строгие контракты типов (PEP 561, точные аннотации), устойчивые имена/аргументы, собственная иерархия исключений, чёткая политика деприкаций (warning → снятие через N минорных версий), стабильные сериализационные форматы, разделение sync/async API без «магии», детерминированные побочные эффекты, зафиксированные минимальные версии зависимостей и хорошее версиирование схем.
Библиотека собеса по Python
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
