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

Библиотека собеса по 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