Python вопросы с собеседований
25.5K subscribers
644 photos
77 videos
17 files
523 links
Вопросы с собеседований по Python

@workakkk - админ

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

@pro_python_code - Python

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

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

РКН: clck.ru/3FmrFd
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
📊 ПОЧЕМУ МАЛЕНЬКИЕ ИИ-МОДЕЛИ ИНОГДА ЛУЧШЕ БОЛЬШИХ

Большие модели выглядят впечатляюще в бенчмарках, но в реальных системах часто выигрывают маленькие. Причина проста — продакшен живёт не метрикой “кто умнее”, а метриками latency, стоимости и стабильности.

Маленькая модель отвечает быстрее. Это значит меньше задержки для пользователя, меньше таймаутов и выше конверсия. Когда у тебя API, чат или рекомендационная система, каждые 100 мс влияют на поведение людей.

Она дешевле. Меньше VRAM, меньше серверов, меньше энергопотребление. Можно масштабировать горизонтально без огромных GPU-кластеров. В итоге ты платишь за инфраструктуру в разы меньше.

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

И самое важное — маленькие модели проще дообучать, быстрее деплоить и легче держать под контролем. Поэтому в проде часто побеждает не “самая умная”, а “самая управляемая”.



from transformers import AutoModelForCausalLM, AutoTokenizer
import torch, time

model_name = "Qwen/Qwen2.5-1.5B-Instruct" # маленькая модель
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.float16, device_map="auto")

prompt = "Explain why smaller models can be better in production:"
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)

start = time.time()
out = model.generate(**inputs, max_new_tokens=100)
latency = time.time() - start

print(tokenizer.decode(out[0], skip_special_tokens=True))
print(f"Latency: {latency:.2f}s")
5👎2
🔥 На stepik вышел курс, который учит Создавать настоящие AI-сервисы, а не просто запускать скрипты?

Этот практический курс по Python и FastAPI покажет, как собрать полноценное приложение с ИИ, базой данных, автогенерацией контента и Telegram-ботом.

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

Никакой теории ради теории - только практические шаги, из которых рождается реальный продукт.

🎁 48 часов действует скидка в 40% процентов

👉 Начать учиться на Stepik
👎3🤔21👍1🔥1🥴1
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 ЛОКАЛЬНЫЙ ИИ БЕЗ ОБЛАКА И API КЛЮЧЕЙ

Запуск локального ИИ - это способ получить быстрый отклик, приватность и контроль над моделью без зависимостей от облака.

Главное - использовать лёгкие модели и готовые инструменты, чтобы не упереться в нехватку памяти и долгую настройку окружения. Ниже — примеры, которые позволяют сразу начать работу: чат, генерация кода, запуск через Python и HTTP API.



Запуск модели в терминале (чат)

# Чат с моделью прямо в терминале
ollama run mistral

# Модель, заточенная под код
ollama run codellama

# Запуск локального сервера Ollama
ollama serve
4🔥3👍2👎2
Рабочий день
👍15
🖥 Большинство “парсеров” умирают через 2 дня.
Ты научишься делать те, которые живут в проде.

Это не про BeautifulSoup ради галочки.
Это про системы сбора данных, которые:

• не падают от мелких правок на сайте
• собирают данные в разы быстрее
• обновляют всё сами по расписанию
• обходят ограничения и баны
• выглядят как сервис, а не хаос из файлов

Ты начнёшь видеть сайты не как страницы, а как источники данных, к которым можно подключиться.

В итоге ты сможешь:

• забирать данные для своих проектов
• автоматизировать чужую рутину
• делать инструменты для аналитики
• брать коммерческие заказы на сбор данных

Это навык, который напрямую превращается в деньги.
Не “знаю Python”, а умею добывать данные из интернета профессионально.

🎁 48 часов скидка 50% на Stepik: https://stepik.org/a/269942/
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍2🖕2👏1😁1
This media is not supported in your browser
VIEW IN TELEGRAM
✔️ ТВОЁ ОКРУЖЕНИЕ = СТАБИЛЬНЫЙ ПРОЕКТ

Настраивай Python-окружение как профи, а не как «лишь бы запустилось». Главная идея - изоляция, воспроизводимость и автоматизация.

У тебя для каждого проекта должно быть своё виртуальное окружение, зафиксированные версии зависимостей и одинаковая среда у всей команды. Используй pyenv для управления версиями Python, виртуальное окружение для проекта, файл зависимостей с точными версиями и автопроверки кода до коммита.

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


# ставим менеджер версий Python
brew install pyenv

# ставим нужную версию Python
pyenv install 3.12.2
pyenv local 3.12.2

# создаём виртуальное окружение
python -m venv .venv
source .venv/bin/activate

# обновляем инструменты
pip install --upgrade pip

# ставим зависимости проекта
pip install fastapi uvicorn

# фиксируем версии
pip freeze > requirements.txt

# ставим pre-commit для авто-проверок
pip install pre-commit black ruff
pre-commit install
Please open Telegram to view this post
VIEW IN TELEGRAM
👎64
This media is not supported in your browser
VIEW IN TELEGRAM
🚀Автопостинг из Telegram в VK на Python

Если ты ведёшь Telegram-канал и вручную дублируешь посты в VK - ты просто тратишь время.

Это легко автоматизируется на Python.
Telegram становится источником контента, VK — приёмником, а скрипт делает всю грязную работу за тебя.

Как это работает по шагам:
- бот читает новые сообщения из Telegram
- забирает текст поста
- отправляет его в VK через API
- при желании можно добавить фильтрацию, форматирование или логирование

Что нужно подготовить заранее:
- токен VK с правами wall
- ID сообщества VK
- токен Telegram-бота
- ID Telegram-канала или чата

Такой подход отлично подходит для:
- советов и обучающих постов
- новостей и апдейтов
- кросс-постинга контента
- роста охвата без ручной рутины


import requests

TELEGRAM_BOT_TOKEN = "TELEGRAM_BOT_TOKEN"
TELEGRAM_CHAT_ID = "@your_channel"
VK_TOKEN = "VK_ACCESS_TOKEN"
VK_GROUP_ID = "123456789" # без минуса

def post_to_vk(text: str):
url = "https://api.vk.com/method/wall.post"
payload = {
"owner_id": f"-{VK_GROUP_ID}",
"from_group": 1,
"message": text,
"access_token": VK_TOKEN,
"v": "5.199",
}
requests.post(url, data=payload)

def handle_telegram_update(update):
message = update.get("message")
if not message:
return

text = message.get("text")
if text:
post_to_vk(text)

def poll_telegram():
offset = None
while True:
resp = requests.get(
f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/getUpdates",
params={"offset": offset, "timeout": 30},
).json()

for update in resp["result"]:
offset = update["update_id"] + 1
handle_telegram_update(update)

poll_telegram()
🔥83
⚡️ Python-код, который работает, но делает лишнее в 100 раз

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

Самая частая причина — ты случайно превращаешь линейный алгоритм в квадратичный.

Типичный сценарий:
- есть список
- внутри цикла ты каждый раз делаешь in, count, index
- на маленьких данных всё быстро
- на реальных — приложение начинает «тормозить без причины»

Проблема в том, что:
- list — это O(n) для поиска
- поиск внутри цикла = O(n²)
- Python честно делает работу, которую ты ему попросил

Профи думают не «работает или нет», а сколько лишних операций выполняется.

Правильный подход:
- если нужны проверки принадлежности — используй set
- если считаешь элементы — используй dict или Counter
- если данные не меняются — предвычисляй один раз

Этот приём один из самых частых источников скрытых performance-багов в Python-коде.


# Плохо: O(n²)
users = ["alice", "bob", "carol", "dave"]

for u in users:
if u in users: # каждый раз полный проход списка
process(u)


# Хорошо: O(n)
users = ["alice", "bob", "carol", "dave"]
users_set = set(users)

for u in users:
if u in users_set:
process(u)
🔥72🥰1
Media is too big
VIEW IN TELEGRAM
🐍 Python-библиотеки - сложность изучения 🔥

🌐 Requests - 🟢 Легко
📊 Pandas - 🟢 Легко
🔢 NumPy - 🟢 Легко
📈 Matplotlib - 🟢 Легко
🕸️ BeautifulSoup - 🟢 Легко

FastAPI - 🟡 Легко–Средне
🧩 Pydantic - 🟡 Легко–Средне
📦 Pytest - 🟡 Легко–Средне

🗄️ SQLAlchemy - 🟠 Средне
🤖 Scikit-Learn - 🟠 Средне
🔥 PyTorch - 🟠 Средне
🧠 TensorFlow - 🟠 Средне
📉 Statsmodels - 🟠 Средне

🧬 Dask - 🔴 Сложно
Ray - 🔴 Сложно

🔗 LangChain - 🟠 Средне
🧠 LangGraph - 🟣 Очень сложно

Самые лёгкие, вроде Requests или BeautifulSoup, решают одну конкретную задачу.
У них простой API — сделал запрос, получил данные, готово.

Чуть сложнее библиотеки вроде FastAPI или Pydantic.
Они требуют понимания архитектуры приложений, валидации данных и работы серверов.

Средний уровень - SQLAlchemy, PyTorch, TensorFlow.
Здесь уже нужно понимать базы данных, машинное обучение и математические модели.

А вот Dask и Ray считаются сложными не потому, что код длинный. А потому что они работают с распределёнными вычислениями - кластеры, параллельность, управление ресурсами.

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

Поэтому сложность Python-библиотек -
это не про Python. Это про уровень задач, которые они решают.
#Python #PythonDev #MachineLearning

https://www.youtube.com/shorts/vDm-vYmoxx0

🐍 Python полезные ресурсы 🚀Max
👍136🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 Как клонировать любой голос с Qwen3

Если нужен свой голос для бота, ассистента или озвучки — можно использовать Qwen3-TTS.
Модель генерирует речь и умеет подстраиваться под голос по короткому аудио-примеру.

Подходит для:
- voice-ботов
- персональных ассистентов
- озвучки видео
- генерации речи в одном стиле

Как использовать:
1. Подготовь чистый аудио-пример (5–15 секунд)
2. Передай его как reference
3. Генерируй речь из текста в нужном голосе


Установка
pip install transformers soundfile accelerate

Пример использования Qwen3-TTS CustomVoice
import torch
import soundfile as sf
from transformers import AutoProcessor, AutoModel

model_id = "Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice"

processor = AutoProcessor.from_pretrained(model_id)
model = AutoModel.from_pretrained(model_id, torch_dtype=torch.float16).cuda()

text = "Привет! Это тест кастомного голоса."
reference_audio = "voice_sample.wav" # 5–15 секунд вашего голоса

inputs = processor(
text=text,
reference_audio=reference_audio,
return_tensors="pt"
).to("cuda")

with torch.no_grad():
audio = model.generate(**inputs)

sf.write("output.wav", audio.cpu().numpy(), samplerate=24000)

print("Voice generated: output.wav")

Модель:
https://huggingface.co/Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice
5👍2👎1
🐍 Вышли новые security-релизы Python:

- Python 3.12.13
- Python 3.11.15
- Python 3.10.20

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

Важно: эти версии уже находятся в стадии security-fix only, поэтому релизы выходят нерегулярно и содержат в основном исправления уязвимостей и критических багов.

Что исправили:

1. Усилена безопасность HTML-парсера

html.parser.HTMLParser стал устойчивее к вредоносной разметке и теперь корректно обрабатывает дополнительные RAWTEXT/PLAINTEXT элементы, включая:

- plaintext
- xmp
- iframe
- noembed
- noframes
- noscript (опционально)
2. Исправление проблемы памяти в SSL

Устранён use-after-free в модуле ssl, который мог возникать при ошибке SSL_new().
3. Исправления безопасности для списков

Закрыты несколько уязвимостей, включая:

- use-after-free при сравнении списков
- выход за границы памяти при slice-операциях в списках

Эти исправления особенно важны для систем, работающих с параллельными или специально сформированными входными данными.

Если вы используете Python 3.10 / 3.11 / 3.12, рекомендуется обновиться.

Подробнее:
https://blog.python.org/2026/03/python-31213-31115-31020/
6👍3🔥2
✔️ OpenAI хантит таланты через конкурс Parameter Golf.

Компания открыла публичное соревнование для исследователей с крайне жесткими техническими ограничениями. Участникам предстоит создать максимально эффективную языковую модель, при этом размер весов вместе с кодом для обучения не должен превышать 16 МБ. На сам процесс тренировки отводится строго до 10 минут на кластере из восьми видеокарт H100. Эффективность алгоритмов будет оцениваться на сете FineWeb.

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

На GitHub уже опубликованы базовые решения (https://github.com/openai/parameter-golf), проверочные скрипты и публичный лидерборд. Принять участие в конкурсе можно до 30 апреля.

https://openai.com/index/parameter-golf/

🐍 Python полезные ресурсы 🚀Max

#news #ai #ml #openai #chatgpt
8🔥5👍2
А вы любите животных ?
🍌2😁1