Python вопросы с собеседований
Вопросы с собеседований по Python @workakkk - админ @machinelearning_interview - вопросы с собесдований по Ml @pro_python_code - Python @data_analysis_ml - анализ данных на Python @itchannels_telegram - 🔥 главное в ит РКН: clck.ru/3FmrFd
Показати більше📈 Аналітичний огляд Telegram-каналу Python вопросы с собеседований
Канал Python вопросы с собеседований (@python_job_interview) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 24 973 підписників, посідаючи 5 489 місце в категорії Технології та додатки та 26 805 місце у регіоні Росія.
📊 Показники аудиторії та динаміка
З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 24 973 підписників.
За останніми даними від 04 червня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на -145, а за останні 24 години на -13, загальне охоплення залишається високим.
- Статус верифікації: Не верифікований
- Рівень залученості (ER): Середній показник залученості аудиторії становить 6.29%. Протягом перших 24 годин після публікації контент зазвичай збирає 3.00% реакцій від загальної кількості підписників.
- Охоплення публікацій: В середньому кожен допис отримує 1 570 переглядів. Протягом першої доби публікація в середньому набирає 750 переглядів.
- Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 8.
- Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як github, api, собеседование, git, docker.
📝 Опис та контентна політика
Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“Вопросы с собеседований по Python
@workakkk - админ
@machinelearning_interview - вопросы с собесдований по Ml
@pro_python_code - Python
@data_analysis_ml - анализ данных на Python
@itchannels_telegram - 🔥 главное в ит
РКН: clck.ru/3FmrFd”
Завдяки високій частоті оновлень (останні дані отримано 05 червня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
pyPFC позволяет запускать PFC-симуляции быстро и удобно прямо на Python.
Что такое Phase Field Crystal (PFC)?
PFC (Phase Field Crystal) - это метод моделирования, который описывает материал как непрерывное поле плотности.
Проще:
- вместо того чтобы симулировать каждый атом отдельно (как в molecular dynamics)
- PFC моделирует “узор кристаллической решётки” как волну/поле
За счёт этого PFC может моделировать процессы на более длинных временных масштабах, чем классические атомарные симуляции.
PFC используют, чтобы изучать:
- рост кристаллов и формирование структуры
- дефекты решётки (дислокации)
- зернистость и границы зёрен
- фазовые переходы и самоорганизацию
- поведение материалов при охлаждении/нагреве
Что даёт pyPFC:
⚡ ускорение на GPU через PyTorch (можно гонять и на CPU, и на RTX)
🧪 готовые 3D-симуляции, примеры, эксперименты
🧩 удобно для исследований и обучения
📦 open-source проект + нормальная инженерная структура
GitHub:
https://github.com/HHallb/pyPFC
# 1) Установи Ollama (macOS/Linux/Windows)
# https://ollama.com
# 2) Запусти экономичную DeepSeek модель
ollama pull deepseek-r1:8b
ollama run deepseek-r1:8b
# 3) Проверка: запрос к локальному API
curl http://localhost:11434/api/generate \
-d '{"model":"deepseek-r1:8b","prompt":"Explain transformers simply","stream":false}'
# 4) Использование из Python
python - << 'PY'
import requests
r = requests.post(
"http://localhost:11434/api/generate",
json={
"model": "deepseek-r1:8b",
"prompt": "Сделай краткий план изучения SQL за 7 дней",
"stream": False
},
timeout=120
)
print(r.json()["response"])
PY
https://www.youtube.com/shorts/zjn2pXrGbXI
def count_above_avg(nums, avg=sum(nums)/len(nums)):
count = 0
for n in nums:
if n > avg:
count += 1
return count
data1 = [1, 2, 3, 4, 5]
data2 = [10, 20, 30]
print(count_above_avg(data1))
print(count_above_avg(data2))
Проблема в этой строке:
```python
def count_above_avg(nums, avg=sum(nums)/len(nums)):
```
Здесь используется значение по умолчанию, которое вычисляется один раз — в момент определения функции, а не при каждом её вызове.
Что происходит по шагам:
Когда Python читает определение функции, он сразу считает:
sum(nums)/len(nums)
Но nums в этот момент - это первый переданный список, то есть data1.
Значение avg фиксируется и больше не меняется.
При вызове:
• count_above_avg(data2)
• среднее значение не пересчитывается, используется старое — от data1.
Поэтому логика ломается, функция работает с неверным средним.
📌 Это известная ловушка Python
Значения аргументов по умолчанию вычисляются один раз.
Это та же причина, почему списки и словари в дефолтных параметрах часто приводят к багам.
🛠 Правильное решение
Нужно вычислять среднее внутри функции, а не в параметрах:
```python
def count_above_avg(nums, avg=None):
if avg is None:
avg = sum(nums) / len(nums)
return sum(1 for n in nums if n > avg)
```
Теперь среднее будет считаться заново при каждом вызове.
💡 Главное правило
Никогда не используй вычисляемые или изменяемые объекты как значения по умолчанию:
❌ def f(x, lst=[])
❌ def f(x, avg=sum(x)/len(x))
✅ Используй None и считай внутри функции.transformers, дружит с Flash Attention 2 и, само собой, поддерживается PaddlePaddle 3.2.1.
Если нужно быстро поднять сервис - есть готовый Docker-образ.
🟡Пара важных моментов по использованию
Если нужен полноценный постраничный парсинг всего документа, лучше использовать официальный пакет PaddleOCR. Реализация через transformers пока ограничена только распознаванием отдельных элементов и споттингом.
В пайплайн встроили логику препроцессинга. Если картинка меньше 1500 пикселей, она автоматом апскейлится фильтром Lanczos. При этом есть потолок в 1.6 млн. пикселей для споттинга, это чтобы не перегружать память GPU и сохранить читаемость мелкого шрифта.📌Лицензирование: Apache 2.0 License. 🟡Модель 🟡Arxiv 🟡Demo 🟡DeepWiki 🖥Github @ai_machinelearning_big_data #AI #ML #VL #OCR #PaddleOCR
import time
# Ручной подход
def manual_sum(n):
total = 0
for i in range(1, n + 1):
total += i
return total
# Питон-метод
def python_sum(n):
return sum(range(1, n + 1))
# Сравнение производительности
n = 1000000
start_time = time.time()
manual_result = manual_sum(n)
manual_time = time.time() - start_time
start_time = time.time()httpx.get("https://api.site.com/users/123")
Должно быть
get_user(123)
И дальше библиотека сама:
- соберёт URL
- подставит параметры
- сериализует запрос
- выполнит HTTP
- распарсит ответ
- кинет нормальную ошибку
- даст типы и автодополнение в IDE
Именно эту идею автор статье и продвигает (проект Clientele)
Сделать API-клиенты удобными, чистыми и типобезопасными
так же, как мы привыкли делать серверы
Проблема не в HTTP.
Проблема в том, что API-клиенты в Python до сих пор не стали “первоклассным кодом”.
А должны стать.
Подробности: paulwrites.software/articles/python-api-clients[I] ,[ love] ,[ program] , [ming]
Обрати внимание:
- " love" начинается с пробела - потому что пробел тоже часть токена
- programming разделилось на 2 токена: " program" + "ming"
То есть Токенизация - это когда LLM режет текст на маленькие кусочки (токены) и переводит их в числа.
Важно:
Чем больше токенов - тем дороже запрос и тем быстрее съедается контекст.
Плохая токенизация = странные ошибки (особенно в коде, ссылках, редких словах).
Поэтому LLM отлично понимают частые слова, но могут путаться на редких именах, терминах и смешанных языках.
И лайфхак: если хочешь “дешевле” и “чище” ответы - пиши короче, без мусора, без повторов.
Контекст - это валюта.
# Tokenization demo (Python)
# pip install tiktoken
import tiktoken
text = "I love programming in Python 🐍"
enc = tiktoken.get_encoding("cl100k_base")
tokens = enc.encode(text)
print("Text:", text)
print("Token IDs:", tokens)
print("Tokens count:", len(tokens))
# decode back
print("\nDecoded tokens:")
for t in tokens:
print(t, "->", repr(enc.decode([t])))
https://www.youtube.com/shorts/A7DCcYLq38M
# Установка:
# pip install transformers accelerate torch
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
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" # автоматически использует GPU, если есть
)
prompt = "Объясни простыми словами, чем контейнер отличается от виртуальной машины."
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=200,
do_sample=True,
temperature=0.7
)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
