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

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

Ir al canal en Telegram

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

Mostrar más
5 994
Suscriptores
-124 horas
-17 días
-2630 días
Archivo de publicaciones
Научись проектировать ИИ-агентов, управлять роботами и развертывать RAG-системы 21 ноября на True Tech Champ На бесплатном фестивале технологий от МТС тебя ждет конференция с российскими и иностранными экспертами и новый формат лектория — ИТ-качалка. Уже известны спикеры и темы: 🔴 «Физический агент: на пути к когнитивным роботам общего назначения с моделями мира», Артем Лыков — ведущий R&D-разработчик MWS, аспирант ISR Lab и Skoltech. 🔴«RAG как помощник на каждый день», Валентин Малых — руководитель фундаментальных исследований MWS AI 🔴An introduction tutorial to AI Agent Workflows, Майкл Ланэм — канадский разработчик с 20-летним и автор книги AI Agents in Action. Между докладами и воркшопами можно смотреть гонки и битвы роботов, устроить поединки робопауков, пройти лазерный лабиринт, собрать сервер на скорость, сделать аксессуары из плат и протестировать другие айтивности. Выбирай формат — смотри прямой эфир или приходи в МТС Live Холл. Регистрируйся, чтобы провести 21 ноября с пользой и драйвом.

Как связать логи, метрики и трейсы в async-сервисе без «дыр» в корреляции? Генерируйте trace_id/span_id (OpenTelemetry), прокидывайте их через contextvars, обогащайте structured-логи теми же полями, экспортируйте трейсы и метрики в один бэкенд; включите exemplars в гистограммах и propagate заголовки (traceparent) через все I/O, чтобы по trace_id находить связанный лог/метрику. Библиотека собеса по Python

Как безопасно сериализовать/десериализовать недоверенные данные? Никогда не используйте pickle/yaml.load; берите JSON/MessagePack/CBOR со строгой валидацией схем (Pydantic v2/JSON Schema), лимитами размера/глубины и allowlist полей; версионируйте схемы и при необходимости проверяйте подпись данных. Библиотека собеса по Python

Как спроектировать конфигурацию приложения с приоритетами, секретами и горячей перезагрузкой без рестартов? Слойте источники по приоритету: defaults → файл (.toml/.yaml) → переменные окружения → секреты менеджера/файлы → флаги CLI; валидируйте через pydantic-settings (v2), типизируйте и нормализуйте сразу. Секреты держите вне VCS, подменяйте через монтируемые файлы/менеджер. Для hot-reload подписывайтесь на изменения (inotify/poll), пересобирайте объект настроек атомарно и прокидывайте его зависимостям через контейнер/DI; критичные смены — с drain и идемпотентным reinit. Библиотека собеса по Python

Как валидировать и преобразовывать входные данные без лишних копий в Pydantic v2? Используйте TypeAdapter/model_validate для быстрой валидации, включайте from_attributes=True при маппинге из ORM, делайте преобразования через поля с валидаторами/серде-ланцюгом, возвращайте model_dump с mode="json" и exclude_none. Для массивов — валидируйте батчами одним TypeAdapter и избегайте промежуточных структур. Библиотека собеса по Python

Как работать с датой/временем без багов с часовыми поясами и DST? Храните всё в UTC и используйте aware-объекты с zoneinfo (Py3.9+). На границах — конвертируйте в нужный TZ, арифметику делайте в UTC. Не смешивайте naive/aware, не используйте фиксированные смещения для локали, учитывайте «дыры/повторы» при DST и сравнивайте по UTC. Библиотека собеса по Python

📊 Задача с собеседования Имеются данные о продажах за последние 12 месяцев. Требуется оценить наличие линейной зависимости м
📊 Задача с собеседования
Имеются данные о продажах за последние 12 месяцев. Требуется оценить наличие линейной зависимости между количеством заключённых сделок и объёмом выручки, а также построить прогноз выручки при достижении 150 сделок.
Если не понимаете с какой стороны подступиться к задаче, то пора подтянуть математику. 🎓 Именно этому посвящен курс экспресс-курс «Математика для Data Science» от Proglib Academy: — работа с векторами и матрицами; — линейная регрессия и метод наименьших квадратов; — вероятности, распределения, статистика; — и многое другое. ⏳ Старт: 4 декабря 🔥 Скидка: 40% до конца ноября 👉 Подключиться к курсу

Как обеспечить воспроизводимые и безопасные сборки зависимостей? Пингуйте всё до патча и транзитивы (pip-compile --generate-hashes/poetry.lock), устанавливайте с проверкой хэшей (pip install --require-hashes), собирайте колёса в изоляте (PEP 517) и кэшируйте их, используйте constraints для кросс-платформы, частный индекс/зеркало, в CI ставьте --no-deps по lock-файлу и прогоняйте pip-audit. Библиотека собеса по Python

Как реализовать надёжные ретраи без «DDOS-эффекта» и с идемпотентностью? Разделяйте retryable/неповторяемые ошибки, ставьте таймауты, экспоненциальный бэкофф с джиттером и предел попыток, ограничивайте конкуренцию (семафор/пул), используйте идемпотентные ключи/dedup на стороне получателя, включайте circuit breaker и метрики попыток/успехов. Библиотека собеса по Python

🖤 ЧЕРНАЯ ПЯТНИЦА: СКИДКА 40% Что общего между Black Friday и подготовкой к собесам? Оба случаются раз в год, и оба нельзя пр
🖤 ЧЕРНАЯ ПЯТНИЦА: СКИДКА 40% Что общего между Black Friday и подготовкой к собесам? Оба случаются раз в год, и оба нельзя пропустить! 😎 🔥 Курсы со скидкой 40% до конца ноября: 🐍 Python 📐 Математика 🤖 AI 🔢 Алгоритмы и структуры Пока другие покупают кофемашины и телевизоры, инвестируй в себя📈

Как спроектировать безопасную плагинную систему без «грязных» импортов? Определите стабильный интерфейс (например, Protocol), открывайте плагины через importlib.metadata.entry_points() по своему namespace, проверяйте версию/метаданные и оборачивайте инициализацию в таймаут/изоляцию. Недоверенные плагины гоняйте в отдельном процессе с IPC (gRPC/stdio), ошибки — в карантин, ведите allowlist/подписи и телеметрию. Библиотека собеса по Python

Как делать атомарную запись и надёжную фиксацию файла при сбоях и конкурирующих записях? Пишите во временный файл в том же каталоге, flush() → os.fsync(tmp) → os.replace(tmp, target) (атомарный rename), затем os.fsync(dir). Для множественных писателей используйте файловый lock (fcntl/msvcrt/portalocker) или координацию через очередь/БД; не перезаписывайте «на месте». Библиотека собеса по Python

Как спроектировать контекстные менеджеры так, чтобы ресурсы гарантированно освобождались даже при отмене/исключениях (sync/async)? Реализуйте __enter__/__exit__ или __aenter__/__aexit__, делайте освобождение идемпотентным и безопасным к повторному вызову, в __exit__ не глотайте исключения без нужды (возвращайте False). Для композиции используйте contextlib.ExitStack/AsyncExitStack, для потоков/соединений — async with/aclose. В корутинах без менеджера — try/finally. Критические закрытия при отмене можно кратко «экранировать» (shield) ради целостности. Библиотека собеса по Python

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

Как реализовать корректный graceful shutdown в asyncio-сервисе без потери данных? Ловите SIGTERM/SIGINT (Unix — loop.add_signal_handler), ставьте общий флаг/Event, отменяйте воркеры через TaskGroup/cancel(), ждите их в try/except CancelledError/finally. Давайте тайм-аут на дренаж очередей и завершение in-flight операций, корректно закрывайте пулы (БД/HTTP). В ASGI используйте lifespan-хуки (startup/shutdown). Библиотека собеса по Python

Что такое old-style и new-style классы и в чем их различия? — Old-style классы наследуются напрямую от класса type, тогда как new-style классы имеют наследование от класса object. — New-style классы предлагают дополнительные функции, такие как дескрипторы, свойства и слоты, которые недоступны в old-style классах. — В new-style классах метод __init__ вызывается при наследовании, в отличие от old-style классов. — New-style классы являются предпочтительными, так как они полностью поддерживают принципы объектно-ориентированного программирования. Большинство библиотек требуют именно их использование. Рекомендуется применять new-style классы, унаследованные от object, поскольку они обладают расширенными возможностями и лучше интегрируются с другими объектами. Библиотека собеса по Python

Что делает функция scandir? Функция os.scandir() в Python предназначена для получения итератора объектов os.DirEntry, которые
Что делает функция scandir? Функция os.scandir() в Python предназначена для получения итератора объектов os.DirEntry, которые представляют записи в указанном каталоге. Записи возвращаются в случайном порядке, при этом специальные записи '.' и '..' всегда будут находиться в начале списка.

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

Когда выбирать typing.Protocol вместо ABC и какие есть ограничения? Protocol — для структурной типизации («утиная» совместимость) без наследования: достаточно совпадения сигнатур. Работает на уровне тайпчекера; для рантайм-проверок нужен @runtime_checkable и только isinstance/issubclass. Не хранит состояние и не навязывает реализацию — идеален для плагинных интерфейсов. Библиотека собеса по Python

Как работать с большими строками/байтами без лишних копий и перерасхода памяти? Не конкатенируйте по одному кусочку; для строк используйте ''.join(...)/io.StringIO, для байтов — bytearray/io.BytesIO/memoryview (срезы без копий). Стримьте по чанкам, для файлов подойдёт mmap. Помните: срез bytes копирует, memoryview — нет. Библиотека собеса по Python