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 955 名订阅者,在 技术与应用 类别中位列第 5 328,并在 俄罗斯 地区排名第 26 138 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 24 955 名订阅者。
根据 27 十月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 85,过去 24 小时变化为 9,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 5.93%。内容发布后 24 小时内通常能获得 3.20% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 1 481 次浏览,首日通常累积 798 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 6。
- 主题关注点: 内容集中在 github, api, собеседование, git, docker 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“Вопросы с собеседований по Python
@workakkk - админ
@machinelearning_interview - вопросы с собесдований по Ml
@pro_python_code - Python
@data_analysis_ml - анализ данных на Python
@itchannels_telegram - 🔥 главное в ит
РКН: clck.ru/3FmrFd”
凭借高频更新(最新数据采集于 28 十月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
functools?
Вот пример!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-проекта этого часто достаточно, чтобы начать вообще без расходов. 🚀
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 #DataEngineeringmultiprocessing:
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 #Backendspeedtest1 (~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
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 #KnowledgeGraphllama.cpp, MLX, vLLM, SGLang и ONNX. Доступны базовая и дообученная open-weight версии.
Источник:
https://www.liquid.ai/blog/lfm2-5-2-6b
#LiquidAI #opensource
@ai_machinelearning_big_datacollections.deque — двусторонняя очередь, оптимизированная для быстрых операций с обоих концов.
from collections import deque
queue = deque(["a", "b", "c"])
queue.append("d") # добавить справа
queue.appendleft("z") # добавить слева
queue.pop() # удалить справа
queue.popleft() # удалить слева
У deque добавление и удаление с краёв выполняются за O(1). У списка операция pop(0) требует сдвига остальных элементов и работает за O(n).
Ещё одна полезная возможность — циклический сдвиг:
queue.rotate(1) # сдвиг вправо
queue.rotate(-1) # сдвиг влево
Подходит для очередей задач, скользящих окон, буферов и алгоритмов обхода графов.zip() прекращает работу, когда заканчивается самый короткий список:
x = [1, 2, 3, 4, 5]
y = ["a", "b", "c"]
print(list(zip(x, y)))
# [(1, "a"), (2, "b"), (3, "c")]
Чтобы сохранить все элементы, используйте zip_longest()
from itertools import zip_longest
print(list(zip_longest(x, y)))
# [(1, "a"), (2, "b"), (3, "c"), (4, None), (5, None)]
Для пустых позиций можно указать своё значение:
result = zip_longest(
x,
y,
fillvalue="нет значения",
)```
Полезно при объединении таблиц, колонок и данных из источников разной длины.
#Python #Programming #DataProcessing