python_job_interview | Unsorted

Telegram-канал python_job_interview - Python вопросы с собеседований

24940

Вопросы с собеседований по Python @workakkk - админ @machinelearning_interview - вопросы с собесдований по Ml @pro_python_code - Python @data_analysis_ml - анализ данных на Python @itchannels_telegram - 🔥 главное в ит РКН: clck.ru/3FmrFd

Subscribe to a channel

Python вопросы с собеседований

Миниатюра из фотографии за 4 строки Python 🐍


from PIL import Image
with Image.open("my_image.jpg") as image:
image.thumbnail((128, 128))
image.save("thumbnail.jpg")


Pillow уменьшит фото до размера не больше 128 × 128 пикселей, сохранив пропорции. Если исходник меньше, увеличивать его не будет.

Установить библиотеку: pip install Pillow

*На картинке в save() указана переменная thumbnail_path, но она не объявлена. В примере выше это исправлено.*

Читать полностью…

Python вопросы с собеседований

Визуализация данных на Python: 10 лучших примеров с кодом

Визуализация данных на Python - один из самых быстрых способов понять, что происходит в данных. Один удачный график заменяет десятки строк df.describe(): сразу видны тренды, выбросы, корреляции и аномалии.

В этой статье собраны 10 лучших примеров визуализации данных на Python с готовым кодом на Matplotlib, Seaborn и Plotly. Все примеры используют открытые учебные датасеты, поэтому их можно запустить в Jupyter Notebook или Google Colab без подготовки данных.

https://uproger.com/vizualizaciya-dannyh-na-python-10-primerov/

Читать полностью…

Python вопросы с собеседований

✔️ Кто подключился к вашей сети? NetAlertX обнаруживает устройства и уведомляет об изменениях.

Открытый инструмент для домашней лаборатории, офиса или нескольких филиалов. Собирает сведения об устройствах в одном веб-интерфейсе и помогает заметить неизвестное оборудование.

Что умеет:

— Обнаруживать устройства через ARP-сканирование, DHCP, Pi-hole, UniFi и SNMP.
— Отслеживать подключения, отключения и изменения IP-адресов.
— Отправлять уведомления в Telegram через Apprise, а также в ntfy, Pushover и другие сервисы.
— Объединять данные из разных VLAN и удалённых сетей через распределённые узлы Sync Nodes.
— Передавать события в Home Assistant, запускать автоматизации через вебхуки и экспортировать метрики в Prometheus.

Разворачивается на своём сервере, в том числе через Docker. По умолчанию данные хранятся локально; внешняя передача появляется при настройке уведомлений и интеграций.

https://github.com/netalertx/NetAlertX

Читать полностью…

Python вопросы с собеседований

📚 Бесплатная книга по математике для Computer Science и Machine Learning - более 2200 страниц

Жан Галлье и Джоселин Куэйнтанс собрали в одном учебнике алгебру, топологию, дифференциальное исчисление и теорию оптимизации.

Материал для тех, кто хочет глубже разобраться в математической основе алгоритмов и машинного обучения. Книга на английском, полная рукопись доступна бесплатно в PDF.

https://www.cis.upenn.edu/~jean/gbooks/geomath.html

Читать полностью…

Python вопросы с собеседований

🔥 Один из лучших обучающих курсов на StepiK по SQL

SQL можно знать годами и всё равно теряться, когда запрос внезапно начинает тормозить в проде.

Этот курс про уровень, где ты не просто пишешь SELECT, а понимаешь, что происходит внутри MySQL, почему запрос работает медленно и как ускорить его без новых проблем. Здесь разбираются EXPLAIN, индексы, CTE, оконные функции, транзакции, аналитические паттерны, legacy SQL и работа с AI-ассистентами.

Каждый урок - с практикой и реальными SQL-задачами на MySQL 8 с автопроверкой.

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

Для подписчиков скидка - 49% в течение 2 суток: https://stepik.org/a/298827/

Читать полностью…

Python вопросы с собеседований

🔥 Хочешь расти в IT быстрее остальных? Перестань учиться в одиночку

Можно годами смотреть курсы, читать документацию и всё равно топтаться на месте.

А можно попасть в правильное окружение, где каждый день обсуждают новые инструменты, вакансии, реальные кейсы, ошибки и то, что уже завтра станет стандартом.

Я собрал папки и каналы по разным направлениям IT, чтобы ты быстрее находил нужных людей, идеи и полезный контент - без бесконечного поиска.

AI: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Хакинг: t.me/linuxkalii
DevOps: t.me/DevOPSitsec
Docker: /channel/+90Z5TAyfuNU5YmRi
Golang: t.me/Golang_google
Rust: t.me/rust_code
C++: t.me/cpluspluc
C#: t.me/csharp_ci
Java: t.me/javatg
JavaScript: t.me/javascriptv
React: t.me/react_tg
Frontend: t.me/front
PHP: t.me/phpshka
Android: t.me/android_its
Мобильная разработка: t.me/mobdevelop
Базы данных: t.me/sqlhub
Data Science: t.me/data_analysis_ml
Big Data: t.me/bigdatai
Математика: t.me/data_math
Физика: t.me/fizmat
Kubernetes: t.me/kubernetc
GameDev: /channel/gamedev
Haskell: t.me/haskell_tg

Собеседования и карьера:

DS собеседования: t.me/machinelearning_interview
Python собеседования: t.me/python_job_interview

Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: /channel/addlist/2Ls-snqEeytkMDgy
Папка Frontend: /channel/addlist/mzMMG3RPZhY2M2Iy

Полезное сверху:

ИТ-мемы: t.me/memes_prog
Английский для программистов: t.me/english_forprogrammers
ИИ и технологии: t.me/vistehno
954 ГБ open-source курсов: /channel/+rKBQEMccAA01MTcy
ИТ-книги бесплатно: /channel/addlist/BkskQciUW_FhNjEy

Max Ai: https://max.ru/ai_machinelearning_big_data
Max python: https://max.ru/pythonl
ТЕХНО: https://max.ru/vistehno
Max Go: https://max.ru/Golang_google
Max Linux: https://max.ru/linuxkalii
Devops: https://max.ru/DevOPSitsec
C#: https://max.ru/csharp_ci
C++: https://max.ru/cpluspluc
SQL: https://max.ru/sqlhub
Java: https://max.ru/javatg

Подпишись и сохрани, здесь регулярно появляются новые подборки, инструменты и материалы, которые реально помогают расти быстрее.

Читать полностью…

Python вопросы с собеседований

🌦 Linecast — погода, карты, радар, приливы, Солнце и Луна прямо в терминале

Open-source CLI превращает публичные данные в шесть интерактивных приложений:

- linecast weather — погода, почасовой прогноз, AQI и предупреждения
- linecast sunshine — восход, закат и длина дня
- linecast moon — фазы Луны, восход/заход и календарь
- linecast tides — график приливов и отливов
- linecast radar — анимированный радар и спутниковые данные
- linecast maps — карты, рельеф, поиск мест и маршруты

Работает на macOS, Linux и Windows. Написан на Python, почти без зависимостей, не требует аккаунта или API-ключей и подстраивает цвета под тему терминала.

Можно даже запустить без установки:

uvx linecast weather

GitHub:
https://github.com/ashuttl/linecast

Читать полностью…

Python вопросы с собеседований

CPython официально добавил поддержку RISC-V 🚀

RISC-V теперь официально поддерживается CPython как платформа Tier 3.

Это важный шаг для открытой архитектуры процессоров: в отличие от x86 и ARM, RISC-V основана на открытом ISA и может свободно использоваться производителями железа.

До этого Python уже запускался на RISC-V, но теперь архитектура официально внесена в PEP 11. Для неё появились постоянные buildbot-тесты на реальном RISC-V-железе, предоставленном RISE Project.

Следующие цели:

- добавить RISC-V непосредственно в CI CPython;
- быстрее находить архитектурные баги до merge;
- со временем поднять поддержку до Tier 2;
- добавить оптимизации CPython специально под возможности RISC-V.
-
Для Python это ещё один шаг к полноценной поддержке RISC-V не только на уровне интерпретатора, но и всей экосистемы пакетов и инструментов.

https://blog.python.org/2026/08/riscv-now-officially-supported/

Читать полностью…

Python вопросы с собеседований

🔍Тестовое собеседование на Middle Python с разработчиком из Авито завтра вечером

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

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

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

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

Реклама.
О рекламодателе.

Читать полностью…

Python вопросы с собеседований

🚀 Tencent показали Hy4-preview - новую open-source модель на 770B параметров

Архитектура MoE:
- 770B параметров всего
- 49B активны на токен
- контекст до 1 млн токенов
- упор на coding, agentic-задачи и продуктивность

Использует Gated DeepSeek Sparse Attention + IndexCache, чтобы удешевить длинный контекст и переиспользовать sparse-индексы между слоями.

Tencent позиционирует Hy4 как frontier-level open model с доступной стоимостью запуска.

Apache 2.0

🟡 Блог: https://hy.tencent.ai/research/hy4-preview

🟡Hugging Face:
https://huggingface.co/tencent/Hy4-preview

🟡GitHub: https://github.com/Tencent-Hunyuan/Hy4-preview

@ai_machinelearning_big_data

#Tencent

Читать полностью…

Python вопросы с собеседований

Python: как не дать нескольким процессам одновременно полезть в один ресурс

В multiprocessing процессы работают параллельно и иногда пытаются одновременно изменить один и тот же ресурс.

Для таких случаев есть Lock:


from multiprocessing import Process, Lock

def printer(item, lock):
with lock:
print(item)


Дальше один и тот же lock передаётся всем процессам:


if __name__ == "__main__":
lock = Lock()

for item in ["tango", "foxtrot", 10]:
Process(
target=printer,
args=(item, lock)
).start()


Пока один процесс находится внутри with lock:, остальные ждут.

Это особенно полезно при работе с файлами, логами, общими структурами и другими ресурсами, где одновременная запись может привести к race condition.

И лучше использовать with lock:, а не вручную acquire() / release() — так блокировка гарантированно снимется даже при исключении.

Читать полностью…

Python вопросы с собеседований

🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку

Окружение решает больше, чем кажется.

Собрал папки и каналы, где можно быстрее влиться в нужное направление, следить за трендами и не вариться в своём пузыре.

AI: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Хакинг: t.me/linuxkalii
DevOps: t.me/DevOPSitsec
Docker: /channel/+90Z5TAyfuNU5YmRi
Golang: t.me/Golang_google
Rust: t.me/rust_code
C++: t.me/cpluspluc
C#: t.me/csharp_ci
Java: t.me/javatg
JavaScript: t.me/javascriptv
React: t.me/react_tg
Frontend: t.me/front
PHP: t.me/phpshka
Android: t.me/android_its
Мобильная разработка: t.me/mobdevelop
Базы данных: t.me/sqlhub
Data Science: t.me/data_analysis_ml
Big Data: t.me/bigdatai
Математика: t.me/data_math
Физика: /channel/+S4hinvO3QI43ZjNi
Kubernetes: t.me/kubernetc
GameDev: /channel/gamedev
Haskell: t.me/haskell_tg

Собеседования и карьера:

DS собеседования: t.me/machinelearning_interview
Python собеседования: t.me/python_job_interview

Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: /channel/addlist/2Ls-snqEeytkMDgy
Папка Frontend: /channel/addlist/mzMMG3RPZhY2M2Iy

Полезное сверху:

ИТ-мемы: t.me/memes_prog
Английский для программистов: t.me/english_forprogrammers
ИИ и технологии: t.me/vistehno
954 ГБ open-source курсов: /channel/+rKBQEMccAA01MTcy
ИТ-книги бесплатно: /channel/addlist/BkskQciUW_FhNjEy

Max Ai: https://max.ru/ai_machinelearning_big_data
Max python: https://max.ru/pythonl
ТЕХНО: https://max.ru/vistehno
Max Go: https://max.ru/Golang_google
Max Linux: https://max.ru/linuxkalii
Devops: https://max.ru/DevOPSitsec
C#: https://max.ru/csharp_ci
C++: https://max.ru/cpluspluc
SQL: https://max.ru/sqlhub
Java: https://max.ru/javatg

Подписывайся на нужные направления и собирай себе ленту, которая реально двигает вперёд.

Читать полностью…

Python вопросы с собеседований

⚡️ Harness Engineering - полный курс на русском

Как заставить AI-агента писать код надёжно. Не «какую модель выбрать», а как спроектировать вокруг неё рабочую систему: инструкции, инструменты, среду, состояние и верификацию.

Курс - от нуля до продвинутых тем: теоретическая база из 11 блоков, 14 модулей, 8 практических проектов, 14 лабораторных работ, диагностический протокол «как починить агента», библиотека готовых шаблонов, карта инструментов, 40 приёмов и каталог антипаттернов.

Главный тезис курса: способность модели и надёжность исполнения - это две разные вещи. Одна и та же модель в «голой» среде и в среде с продуманным harness даёт качественно разные результаты. Апгрейд модели - это самый дорогой и обычно не самый эффективный способ починить агента.

https://github.com/justxor/Harness_ru

Читать полностью…

Python вопросы с собеседований

Полный инженерный курс по AI-агентам на русском: от tool calling до production

Курс инженерный, а не обзорный. Здесь почти нет рассуждений о том, «изменит ли ИИ мир», зато есть: минимальные работающие реализации каждого механизма, лабораторные с критериями приёмки, шаблоны для копирования, чек-листы перед релизом, каталог антипаттернов и набор бенчмарков, по которым можно честно сравнить две версии своего агента.

Качество агента почти никогда не упирается в модель. Оно упирается в инженерию вокруг модели: как описаны инструменты, что попадает в контекст, где стоят проверки, что происходит при третьей подряд ошибке и сколько это стоит за тысячу запусков. Модель - двигатель. Курс -про всё остальное в автомобиле.

https://github.com/justxor/Aiagentsfullcourse

Читать полностью…

Python вопросы с собеседований

🔥 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

Читать полностью…

Python вопросы с собеседований

Octop - open-source платформа, где можно запускать сразу несколько AI-агентов для себя, семьи или команды, при этом все данные остаются на вашей машине.

Главное:

- multi-user + multi-agent архитектура;
- Web UI, CLI, Telegram, Feishu, DingTalk, QQ, WeCom;
- собственная память для каждого workspace;
- RAG по вашим документам;
- browser automation через headless Chromium;
- удалённый рабочий стол и управление GUI;
- cron-задачи на естественном языке;
- интеграция с Claude Code и OpenCode через ACP;
- MCP/OAuth connectors и система плагинов;
- SQLite по умолчанию, PostgreSQL опционально.

GitHub - https://github.com/TencentCloud/Octop

Читать полностью…

Python вопросы с собеседований

Как правильно получить случайное число в Python

Если нужен диапазон от 1 до 100 включительно, используйте:


import random

x = random.randint(1, 100)


Можно импортировать функцию напрямую:


from random import randint

x = randint(1, 100)


Второй вариант просто короче, но не делает код «профессиональнее».

int(random.random() * 100) возвращает числа от 0 до 99, поэтому пример на изображении даёт другой диапазон.

Для паролей, токенов и других задач безопасности используйте secrets:


import secrets

x = secrets.randbelow(100) + 1

Читать полностью…

Python вопросы с собеседований

✔️ QuiverAI выпустила обновление генератора векторной графики

Во второе поколение семейства вошли две модели - Arrow 2 и флагманская Arrow 2 Telos.

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

🟡Сценарии применения

🟢серии иллюстраций в одном стиле по образцу с сохранением палитры и пластики форм;

🟢схемы с выделением нужных элементов;

🟢технические чертежи с удержанием консистентности;

🟢векторизация растровых эскизов в редактируемый SVG;

🟢анимация интерфейсной моторики и плоская структурированная графика (раскрытие логотипов, состояния загрузки, анимированные иконки).

Telos добавляет доработку возможностями топовых языковых моделей.

QuiverAI советует брать Arrow 2, когда важны скорость и цена за одно изображение, а Telos - под сложные брифы.


🟡Стоимость

Разделения моделей по тарифам в описании планов нет. Предлагаются подписки Go (8 долларов в месяц), Basic (20), Pro (40), плюс корпоративный план по запросу.

Для Go есть 14-дневный пробный доступ с привязкой карты. В тарифы входит недельная квота, которая обнуляется по понедельникам и не переносится, перерасход списывается с баланса.

API тарифицируется отдельно и тоже требует предоплаты.


@ai_machinelearning_big_data

#news #ai #ml

Читать полностью…

Python вопросы с собеседований

🐍 Python: как найти изменённое поле во вложенном словаре

Сравнение before == after покажет, равны ли объекты. DeepDiff покажет, где именно они отличаются, включая старое и новое значения.


from deepdiff import DeepDiff

before = {"user": {"name": "Egor", "level": 3}}
after = {"user": {"name": "Egor", "level": 4}}

print(DeepDiff(before, after))


Результат:


{
"values_changed": {
"root['user']['level']": {
"old_value": 3,
"new_value": 4
}
}
}


Библиотека находит изменения значений и типов, добавленные и удалённые элементы. Работает со вложенными словарями, списками и другими объектами.

Полезно для сравнения ответов API, конфигураций и результатов обработки данных. Можно исключать отдельные поля через exclude_paths и игнорировать порядок элементов через ignore_order=True.

Установка: pip install deepdiff

Документация - https://zepworks.com/deepdiff/current/

Читать полностью…

Python вопросы с собеседований

🐍 Python: type(x) == str или isinstance(x, str)?

На первый взгляд разницы почти нет. Но она есть.

❌ type(x) == str проверяет только точное совпадение типа.

✅ isinstance(x, str) учитывает ещё и наследников str.

Пример:


class MyString(str):
pass

x = MyString("hello")

print(type(x) == str) # False
print(isinstance(x, str)) # True


Поэтому в большинстве случаев лучше использовать:

isinstance(x, str)

Так код получается гибче и лучше работает с наследованием.

#Python #Programming #BestPractices

Читать полностью…

Python вопросы с собеседований

🐍 Как правильно использовать Lock в Python multiprocessing

Если несколько процессов одновременно пишут в общий ресурс — файл, stdout, shared memory — вывод или данные могут перемешиваться.

Для этого есть multiprocessing.Lock:


from multiprocessing import Process, Lock

def printer(item, lock):
with lock:
print(item)

if __name__ == "__main__":
lock = Lock()

for item in ["tango", "foxtrot", 10]:
Process(target=printer, args=(item, lock)).start()


Lock гарантирует, что критическую секцию в конкретный момент выполняет только один процесс.

Вместо ручных:

lock.acquire() → try/finally → lock.release()

обычно удобнее использовать:

with lock:

Особенно полезно при работе с файлами, логами и общими структурами данных между процессами.

Читать полностью…

Python вопросы с собеседований

🐍 Python считает эти даты равными. Хотя между ними целый час

В ночь перевода часов время 02:30 наступает дважды:


from datetime import datetime, UTC
from zoneinfo import ZoneInfo

tz = ZoneInfo("Europe/Berlin")

a = datetime(2026, 10, 25, 2, 30, tzinfo=tz, fold=0)
b = datetime(2026, 10, 25, 2, 30, tzinfo=tz, fold=1)

print(a)
# 2026-10-25 02:30:00+02:00

print(b)
# 2026-10-25 02:30:00+01:00


Это разные моменты:


a = 00:30 UTC
b = 01:30 UTC


Но Python выдаёт:


a == b # True
b - a # 0:00:00
len({a, b}) # 1


Причина: если у двух datetime один объект tzinfo, при сравнении Python игнорирует смещение и fold.

Из-за этого дедупликация может принять два платежа, заказа или события за одно.

Для сравнения реальных моментов переводите время в UTC:


a_utc = a.astimezone(UTC)
b_utc = b.astimezone(UTC)

a_utc == b_utc
# False

(b_utc - a_utc).total_seconds()
# 3600.0


Используйте astimezone(UTC). Метод replace(tzinfo=UTC) только заменяет метку и не пересчитывает время.

https://docs.python.org/3/library/datetime.html

https://peps.python.org/pep-0495/

Читать полностью…

Python вопросы с собеседований

⚡️ DeepSeek открыла веса DeepSeek-V4-Flash-Vision-Exp

Спустя 10 дней после релиза, модель на 305 млрд параметров опубликована под лицензий MIT.

Чекпоинт экспериментальный, её собрали на архитектуре V4-Flash, добавили визуальные модули и дообучили на понимание изображений, что бы получился агент, который умеет разбирать скриншоты, читать графики и работать с инструментами.


🟡Мультимодальные задачи

На ApexBench модель берет 36,5 балла против 26,2 у предыдущей V4-Flash-0731.

Тут сравнение не совсем честное - старая модель не поддерживает изображения во входных данных.


На Agents' Last Exam новинка дает 27,3 против 25,7 у Opus 4.8, на ZeroBench - 35,0 против 34,0.

На ApexBench и Chartography от того же Opus пока отстает - 36,5 против 39,4 и 64,3 против 65,0.

🟡Текстовые задачи

Toolathlon-Verified - 75,9 против 70,3 у предшественницы, NL2Repo - 57,7 против 54,2. Просела только Cybergym, 75,3 против 76,7.

На DeepSWE модель обходит и Opus 4.8 - 59,3 против 58,0.

На Terminal Bench 2.1 уступает - 83,9 против 85,0.

В репозитории лежат токенизатор, минимальный инференс на PyTorch с визуальным энкодером, DFlash-вниманием, MoE, Hyper-Connections и прямым проходом DSpark.

Картинки можно подавать и блоками в стиле OpenAI, и компактной записью через теги. Запускается через vLLM, SGLang, Transformers и Docker.

Cообщество уже сделало квантованные версии для локального запуска.


@ai_machinelearning_big_data

#news #ai #ml

Читать полностью…

Python вопросы с собеседований

🔥 Бесплатный ElevenLabs, который можно запускать локально:

VoiceStudio - локальная open-source студия для работы с голосом без подписок и лимитов


В одном приложении собрали:

- клонирование голоса по короткому образцу
- создание голоса по описанию - возраст, акцент, стиль, подача
- автоматический дубляж видео с переводом и разделением спикеров
- импорт EPUB/PDF и сборку многоголосых аудиокниг .m4b
- диктовку с очисткой текста локальной LLM
- удаление фонового звука через Demucs
- разделение говорящих через Pyannote/WhisperX
- MCP-сервер и локальный API

Внутри - 16 TTS-движков, 11 ASR-систем и каталог на 646 языков**. Основные данные и проекты по умолчанию остаются на вашем компьютере. Работает на Windows, Linux и Apple Silicon Mac.

Проект пока в активной beta.

https://github.com/debpalash/VoiceStudio

Читать полностью…

Python вопросы с собеседований

📚 Бесплатная книга по causal inference + ML

Applied Causal Inference Powered by Machine Learning and AI - большая открытая книга про причинно-следственный анализ с современным уклоном в машинное обучение и AI.

Внутри:

* causal graphs и DAG
* потенциальные исходы
* A/B и observational data
* propensity score
* matching и weighting
* heterogeneous treatment effects
* Double/Debiased Machine Learning
* causal forests
* uplift и policy learning
* связь causal inference с современными ML-моделями

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

496 страниц, PDF доступен бесплатно:

http://arxiv.org/abs/2403.02467

Читать полностью…

Python вопросы с собеседований

Блокчейн за минуту: почему один изменённый блок ломает всю цепь

Каждый блок хранит данные, время и хэш предыдущего блока, поэтому цепь держится сама на себе. Меняешь один байт в первом блоке, его хэш становится другим, и все последующие блоки мгновенно превращаются в недействительные. Показываю механику на тридцати строках Python: класс Block, SHA-256 и три транзакции, где видно, как ломается связь.

#blockchain #jojo

Читать полностью…

Python вопросы с собеседований

Знаете ли вы, что в #Python можно делать перегрузку функций с помощью functools?

Вот пример!

Читать полностью…

Python вопросы с собеседований

Python в 10 потоков работает медленнее, чем в один. Виноват GIL

Запускаешь CPU-bound задачу в 10 потоков и получаешь результат медленнее, чем в один. В любой момент времени байткод исполняет только один поток: остальные стоят в очереди за GIL, а переключения между ними съедают весь выигрыш. Правило простое: для ожидания берёшь threads и async, для вычислений — multiprocessing.

Читать полностью…

Python вопросы с собеседований

🔥 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-проекта этого часто достаточно, чтобы начать вообще без расходов. 🚀

Читать полностью…

Python вопросы с собеседований

🐍 Генераторные выражения в 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

Читать полностью…
Subscribe to a channel