Python вопросы с собеседований
24.8K subscribers
712 photos
93 videos
17 files
582 links
Вопросы с собеседований по Python

@workakkk - админ

@machinelearning_interview - вопросы с собесдований по Ml

@pro_python_code - Python

@data_analysis_ml - анализ данных на Python

@itchannels_telegram - 🔥 главное в ит

РКН: clck.ru/3FmrFd
Download Telegram
Python-сервис не должен падать вслед за чужим API

Interlock - современная реализация circuit breaker для Python. Она временно блокирует обращения к нестабильному сервису, а затем аккуратно проверяет, восстановился ли он. Синхронный и асинхронный код поддерживаются одним классом.

Вместо примитивного подсчёта ошибок подряд библиотека умеет оценивать долю сбоев в скользящем окне - по числу запросов или времени. Медленные вызовы тоже можно считать ошибочными.

Для сложных сценариев есть resilience

pipeline = (
Pipeline.builder()
.fallback(lambda exc: [])
.retry(attempts=4)
.circuit_breaker(breaker)
.bulkhead(8)
.timeout(2.0)
.build()
)

Порядок стратегий задаётся явно: timeout, bulkhead, circuit breaker, повторные попытки и запасной ответ.

Также доступны интеграции с FastAPI, Litestar, HTTPX, aiohttp, Requests, Redis и OpenTelemetry. Состояние breaker можно синхронизировать между несколькими процессами, а при недоступности Redis библиотека временно возвращается к локальному состоянию.

Ядро не требует внешних зависимостей, декораторы сохраняют типы и сигнатуры функций, лицензия — MIT.

Проект молодой, поэтому проверенные годами pybreaker и circuitbreaker по-прежнему могут быть безопаснее для консервативного продакшена. Но для rate-based окон, контроля медленных запросов и составных политик отказоустойчивости Interlock выглядит интересно.

https://github.com/bagowix/interlock
2
🔥 PyTorch Monarch теперь поддерживает AMD GPU через ROCm

Monarch позволяет управлять распределённым обучением на сотнях GPU из одной Python-программы. Вместо ручной координации процессов разработчик работает с акторами и группами устройств, а runtime берёт оркестрацию на себя.

Главное преимущество - отказоустойчивость. Если один узел выходит из строя, исправные реплики продолжают обучение. Система перезапускает повреждённую группу, восстанавливает её состояние и возвращает в работу без полного рестарта кластера.

Поддержка ROCm включает:

- Actor runtime и supervision trees
- шардирование тензоров
- RCCL и RDMA
- SLURM, Kubernetes и SkyPilot
- интеграцию с TorchTitan и TorchFT

Подход протестировали на кластерах из 128 AMD MI300 и 256 MI355 GPU. Даже при искусственно вызванных сбоях обучение продолжалось почти так же стабильно, как в обычном запуске.

Для команд, обучающих большие модели, это означает меньше потерянных вычислений, простоев и дорогих перезапусков инфраструктуры.

Подробнее:
https://pytorch.org/blog/bringing-pytorch-monarch-to-amd-gpus-single-controller-distributed-training-on-rocm/
2👍2
🔴 Завтра тестовое собеседование на Middle Python с разработчиком из Авито

Уже завтра вечером в 19:00 по мск
приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.

Как это будет:
📂 Даня, старший разработчик в Авито, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Даня будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Дане

Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.

Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot

Реклама.
О рекламодателе.
Forwarded from Machinelearning
✔️ Liquid AI выпустила локального агента, который работает на телефоне

LFM2.5-2.6B - компактная агентная модель на 2,6 млрд параметров. Она умеет планировать действия, вызывать инструменты и выполнять многошаговые задачи полностью на устройстве, без облачного API.

Модель обучили примерно на 34 трлн токенов, расширили словарь до 128 тысяч токенов и добавили контекст 128K.

Особенно интересно устроено дообучение:

- отдельные модели-эксперты усиливали математику, код, tool use и длинный контекст;
- затем их навыки перенесли в одну модель через on-policy distillation;
- финальный этап прошёл внутри реальных агентных сред, включая Hermes Agent и OpenClaw.

По тестам Liquid AI, модель выдаёт:

- до 220 токенов/с на Apple M5 Max;
- до 113 токенов/с на Ryzen AI Max+ 395;
- около 30 токенов/с на смартфоне;
- почти 15 000 выходных токенов/с на одной H100 при высокой параллельной нагрузке.

При этом потребление памяти на CPU остаётся ниже 2,5 ГБ.

В бенчмарках LFM2.5-2.6B обходит более крупные Gemma и Qwen в ряде задач на следование инструкциям и использование инструментов. В сложном программировании большие модели пока сохраняют преимущество.

Есть поддержка llama.cpp, MLX, vLLM, SGLang и ONNX. Доступны базовая и дообученная open-weight версии.

Источник:
https://www.liquid.ai/blog/lfm2-5-2-6b

#LiquidAI #opensource

@ai_machinelearning_big_data
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1
Открыли регистрацию на E-CUP 2026 Students 🎓

В этом сезоне — только для студентов. Будет интересно тем, кто изучает ML / DS / big data / аналитику данных.

Сможете ускорить модель по поиску дубликатов на 20%? Получится создать классификатор для модерации товаров? Сумеете предсказать поведение покупателя?

Как минимум — попробуете и получите фидбэк от тех, кто делает это в Ozon Tech каждый день. Как максимум — разделите призовой фонд в 7 200 000 ₽ в торжественной атмосфере конференции E-CODE.

Нетривиальные задачи, нетворк с ведущими специалистами индустрии, кастомный мерч и шанс масштабно усилить портфолио — это про E-CUP 2026 Students.
Больше подробностей и регистрация ↩️
3👍1🔥1
🚀 Neo4j без сервера: GraphForge запускает полноценный Cypher прямо внутри Python-скрипта

GraphForge занимает редкую нишу между NetworkX и серверными графовыми БД. Вы получаете встроенный графовый движок на Rust, полный openCypher и хранение проекта в обычной директории.

Что внутри:

- четыре независимых слоя на Rust: parser → IR → planning → execution;
- результаты сразу возвращаются как Apache Arrow Table;
- данные легко передаются в Pandas и Polars;
- постоянное хранение построено на Parquet;
- встроены PageRank, Louvain и гибридный текстово-векторный поиск;
- Python- и Node.js-биндинги работают поверх одного движка.


from graphforge import GraphForge

graph = GraphForge("research/")

result = graph.execute("""
MATCH (a)-[:CITES]->(b)
RETURN a.title, b.title
""")

print(result.to_pandas())


При этом GraphForge честно позиционируется как инструмент исследовательского и notebook-масштаба. Для миллиардных графов, высокой нагрузки и многопользовательского доступа по-прежнему нужна серверная БД.

Python и Node.js доступны сейчас, Swift и Kotlin находятся в планах. Лицензия — Apache 2.0.

https://github.com/CurateLabs/graphforge

#RustLang #Python #OpenSource #GraphDatabase #DataScience #KnowledgeGraph
1👍1
🚀 ИИ-агент ускорил SQLite до 59% меньше чем за 8 часов

Ускорить SQLite хотя бы на 5% уже было бы серьёзным результатом. Это один из самых зрелых и оптимизированных проектов в мире — его команда почти 20 лет выжимает из кода каждую долю производительности.

Но AI-агент KISS Sorcar менее чем за 8 часов и с затратами меньше $150 добился заметного ускорения сразу в нескольких типах нагрузки.

Результаты:

- 2,06× быстрее в официальном speedtest1 (~30 тыс. операций)
- 1,90× в TATP — транзакционная OLTP-нагрузка
- 1,30× в Star Schema Benchmark — аналитические запросы
- 1,25× в kvtest — работа с BLOB и дисковым I/O

Агент нашёл места, где стандартная конфигурация SQLite несла лишние расходы — особенно при записи транзакций на диск.

После этого он:

- изменил код и настройки
- прогнал бенчмарки
- проверил свои же изменения на ошибки
- сохранил совместимость с существующими тестами

анализ зрелой кодовой базы → поиск узких мест → изменение реализации → бенчмарки → проверка собственных решений.

GitHub:
https://github.com/ksenxx/sqlite-optimized/

#AI #SQLite #Programming #CodingAgents #Performance #OpenSource
👍72
⚡️ Как узнать количество CPU в Python одной строкой

Для этого не нужны сторонние библиотеки — всё есть в стандартном multiprocessing:


import multiprocessing

print(multiprocessing.cpu_count())


Например:


8


Но есть важный нюанс: функция обычно возвращает количество логических процессоров, доступных системе, а не обязательно число физических ядер.

То же самое можно получить через:


import os

print(os.cpu_count())


Это особенно полезно, когда нужно автоматически подобрать количество worker-процессов:


workers = multiprocessing.cpu_count()


Но запускать N workers только потому, что у CPU есть N потоков, не всегда оптимально. Для CPU-bound задач количество процессов обычно подбирают экспериментально, а для I/O-bound архитектура может быть совсем другой.

Маленькая функция, но часто полезна при настройке multiprocessing, worker pools и параллельных вычислений.

#Python #Programming #Multiprocessing #Backend
1👍1
Media is too big
VIEW IN TELEGRAM
Главный секрет bool: он на самом деле int
Складываю True и True, получаю 2

Складываешь два True в Python и получаешь 2. Не баг и не магия: bool наследуется от int, поэтому True это единица, а False это ноль. Минута, и ты больше никогда не удивишься sum по списку булевых значений.

#python
3👍3🔥3
Forwarded from Just Xor
🐍 Генераторные выражения в Python - один из самых простых способов экономить память.

Обычный list comprehension сразу создаёт весь список:


squares = [x ** 2 for x in range(1_000_000)]


А generator expression вычисляет значения только по мере необходимости:


squares = (x ** 2 for x in range(1_000_000))


То есть миллион элементов не хранится в памяти одновременно.

Можно получать значения по одному:


next(squares)


или передать генератор напрямую в:


sum(...)
max(...)
any(...)
all(...)


Главный плюс - lazy evaluation.

Особенно полезно для:

- больших файлов;
- потоков данных;
- длинных последовательностей;
- ETL-пайплайнов;
- обработки данных, которые не нужно хранить целиком.

Но есть нюанс: генератор одноразовый.

После того как значения закончились, пройти по нему повторно уже нельзя.

Маленький синтаксический приём, который может заметно уменьшить потребление памяти.

#Python #Programming #Backend #DataEngineering
👍53
🔥 Python + AI без игрушечных демок. Курс для тех, кто хочет собирать рабочие системы.

Stepik: «Python современный AI для разработчика и автоматизации задач»

63 урока, 382 шага, практика с кодом и автопроверкой.

Внутри: RAG, tool calling, агенты, evals, MCP, Ollama, vLLM, pgvector + HNSW, безопасный text-to-SQL, prompt injection, кэш, очереди и sandbox для агентного кода.

Плюс реальные автоматизации: почта, отчёты, боты, вебхуки и браузерные сценарии.

Для тех, кто уже знает Python и хочет перейти к production AI.

72 часа скидка 55%

https://stepik.org/a/295921
2👍1🔥1
🔥 6 AI API, которые можно попробовать бесплатно - сохрани, пригодится

Если нужен API для pet-project, прототипа, AI-агента или просто тестов, необязательно сразу подключать платный OpenAI API.

Вот что доступно сейчас:

* Groq - бесплатный rate-limited tier и очень быстрый inference для Llama, GPT-OSS, Qwen и других моделей.
console.groq.com/keys

* 🤖 Google Gemini - Free Tier для Gemini API с бесплатными input/output токенами на поддерживаемых моделях.
aistudio.google.com/apikey

* 🌊 Mistral AI - Free mode включён по умолчанию, можно создать API key без банковской карты. Лимиты ниже production-тарифа.
console.mistral.ai

* 🌸 Pollinations AI - единый API для текста, изображений, аудио и видео, плюс OpenAI-compatible endpoints. Учтите: сервис сейчас развивает систему API-ключей и Pollen credits, поэтому условия бесплатного использования лучше проверять перед интеграцией.
pollinations.ai

* 🐙 GitHub Models - бесплатный rate-limited доступ к каталогу разных AI-моделей через playground и API. Отлично подходит для прототипирования.
github.com/marketplace/models

* 🤗 Hugging Face Inference Providers - один API для сотен моделей и разных inference-провайдеров. Бесплатный аккаунт получает небольшие ежемесячные credits для экспериментов.
huggingface.co/settings/tokens

Важно: free tier ≠ unlimited API. Есть RPM/TPM, дневные квоты, ограничения по моделям и иногда совсем небольшие бесплатные credits.

Но для MVP, теста нового агента или weekend-проекта этого часто достаточно, чтобы начать вообще без расходов. 🚀
🔥41👍1