24940
Вопросы с собеседований по Python @workakkk - админ @machinelearning_interview - вопросы с собесдований по Ml @pro_python_code - Python @data_analysis_ml - анализ данных на Python @itchannels_telegram - 🔥 главное в ит РКН: clck.ru/3FmrFd
LRU-кэш на Python: разбор задачи с собеседования (O(1), OrderedDict, TTL)
Разбираем LRU-кэш на Python за O(1): двусвязный список и хеш-таблица, решение через OrderedDict, TTL и потокобезопасность. Код, тесты и типичные ошибки.
LRU-кэш (Least Recently Used) - одна из самых популярных задач на собеседованиях Python-разработчиков уровня middle и senior. Она короткая, но сразу показывает, понимает ли кандидат сложность алгоритмов, умеет ли комбинировать структуры данных и пишет ли чистый код. В этой статье разберём задачу по шагам: от наивного решения к оптимальному за O(1), затем к Pythonic-версии через OrderedDict и к усложнениям, которые любят давать интервьюеры.
https://uproger.com/lru-cache-python-sobesedovanie/
Как выучить Python с нуля в 2026 году: пошаговый план для начинающих
Пошаговый план изучения Python с нуля: установка, синтаксис, первые проекты, ошибки новичков и ответы на частые вопросы. С примерами кода.
Python — один из самых популярных языков программирования в мире.
В этой статье - пошаговый план, как выучить Python с нуля: от установки до первых проектов, с примерами кода, типичными ошибками новичков и ответами на частые вопросы.
https://uproger.com/kak-vyuchit-python-s-nulya/
В Python 3.15 одна звёздочка заменяет вложенный цикл
Раньше для объединения списков писали:
rows = [[1, 2], [3], [4, 5]]
flat = [x for row in rows for x in row]
flat = [*row for row in rows]
# [1, 2, 3, 4, 5]
configs = [
{"debug": False, "timeout": 10},
{"timeout": 30},
]
config = {**part for part in configs}
# {'debug': False, 'timeout': 30}
SyntaxError.
25 лучших бесплатных ресурсов для изучения ИИ в 2026 году
Курсы Стэнфорда и MIT, книги, YouTube-каналы и открытые репозитории для изучения ИИ с нуля до LLM и агентов. Подборка по этапам и готовый маршрут обучения.
https://uproger.com/25-resursov-dlya-izucheniya-ii-2026/
🔥 Хочешь быстрее расти в 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_1001_notes
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
Подписывайся на нужные направления и собирай себе ленту, которая реально двигает вперёд.
🚩 Мок-собеседование с Senior Python разработчиком за 90₽ вместо 7 900₽
Да! Это не скам – собес правда стоит 90₽ 😎
Мок полезен, если ты ищешь работу, хочешь подняться в грейде или прокачать скиллы
Что внутри:
📂 60 минут настоящего собеса с вопросами и задачами, которые реально задают
📂 подробный фидбек с разбором: что прозвучало сильно, а что стоит подтянуть
🐍 Python умеет сравнивать числа как в математике
Проверку диапазона можно записать короче:
# Вместо
if 60 < heart_rate and heart_rate < 100:
print("В пределах диапазона")
# Пишем
if 60 < heart_rate < 100:
print("В пределах диапазона")
0 <= score <= 100
60 < get_value() < 100 функция вызывается только один раз. А если повторить вызов по обе стороны and, она может выполниться дважды.
Читать полностью…
Трюк Карпаты сработал: локальная LLM на Mac M5 выдает 117 токенов в секунду
Как open-source движок Uzu от Mirai обходит потолок пропускной способности памяти на Apple M5 и разгоняет Qwen3.5 9B с 22 до 117 токенов в секунду: квантизация, спекулятивный декодинг, Weaver и бенчмарк против llama.cpp и MLX.
https://uproger.com/uzu-uskorenie-lokalnyh-llm-apple-m5/
🐍 Ротация прокси в Python может обходиться без списка IP и `random.choice()`
Если провайдер поддерживает ротацию на шлюзе, скрипт обращается к одному адресу. Выходные IP меняет сам сервис по выбранному режиму. Именно такой подход разобран в статье.
Минимальный пример проверки:
import os
import requests
# PROXY_URL: адрес шлюза с учётными данными
proxy = os.environ["PROXY_URL"]
proxies = {"http": proxy, "https": proxy}
for _ in range(5):
r = requests.get(
"https://httpbin.org/ip",
proxies=proxies,
timeout=(5, 15),
)
r.raise_for_status()
print(r.json()["origin"])
"https" обозначает протокол целевого сайта. Сам адрес прокси при этом может начинаться с http://. Это корректная настройка для HTTP-прокси.requests.Session() сохраняет cookies и переиспользует соединения, но самостоятельно IP не меняет. Политику ротации нужно проверять у провайдера.
🔥 Бесплатный курс по Claude Code на русском: от установки до команды агентов
На GitHub выложили Claude Code PRO Course, бесплатный практический курс по Claude Code на русском языке. Он ведёт от первого запуска до настройки многоагентной работы в команде.
Внутри 12 модулей в четырёх уровнях сложности: основы, рабочий процесс, расширения и масштабирование. Сначала установка, промптинг, память проекта через CLAUDE.md, настройки и права доступа. Потом профессиональный рабочий процесс, скиллы и слэш-команды, сабагенты и хуки.
Дальше идут MCP, плагины и маркетплейсы, а в конце headless-режим, CI и GitHub Actions плюс продвинутые техники. Основной упор сделан на управление контекстом, разработку через тесты и автоматизацию через конфигурацию как код.
Теорией курс не ограничивается: есть 8 практических лабораторных, готовый стартовый набор, библиотека промптов и пример собственного плагина. Лицензия MIT.
https://github.com/justxor/claude-code-pro-course
🖥 Лучшие практики Python 2026: 20 правил для кода в эпоху ИИ
20 практик написания Python-кода в 2026 году, когда значительную часть кода пишут ИИ-ассистенты: uv, Ruff, типы, Pydantic, тесты, безопасность зависимостей, t-строки и новое в Python 3.14 и 3.15.
В 2026 году заметная часть Python-кода в командах появляется из Copilot, Claude Code, Cursor и других ассистентов. Код пишется быстрее, и плохие привычки обходятся дороже: агент охотно размножит неудачный паттерн по всему репозиторию, предложит несуществующую библиотеку или напишет код, который никто в команде толком не понимает.
Ниже 20 практик, которые помогают держать качество под контролем. Часть касается инструментов, часть процессов, и почти все одинаково полезны для кода, написанного руками, и для кода, который сгенерировала модель.
https://uproger.com/luchshie-praktiki-python-2026/
🌟 SGLang научил чат-модели отвечать вероятностями
Команда открытого движка инференса SGLang добавила эндпоинт /v1/decisions, который превращает обычную чат-модель в модель для принятия решений.
Второй эндпоинт, /v1/systemone, отдаёт те же решения в формате System One API, который TypeSafe AI представила 19 сентября вместе со своей моделью Jev.
API поддерживает выбор из 2–26 вариантов (до 255 с двухбуквенными метками), оценку по шкале из 2–10 уровней и вопрос «да или нет».
SGLang присваивает каждому варианту метку из одного токена - буквы для выбора, цифры для оценки, yes и no для бинарных вопросов.
Затем движок читает логарифмические вероятности следующего токена по всему словарю и переводит их в вероятности через софтмакс с учётом температуры.
Отсюда ограничение - метка обязана укладываться в один токен в позиции ответа.
🔥 Почему Python-библиотеки всё чаще пишут критичные части на Rust
Например, Pydantic v2 использует pydantic-core, написанный на Rust. Связка работает через PyO3: Rust-функции компилируются в нативную библиотеку, после чего Python импортирует её как обычный модуль.
Но есть интересный нюанс: ускорить сам алгоритм недостаточно.
При возврате большого результата Rust должен превратить свои структуры в Python dict, list, str, float и другие объекты. Для больших данных эта конвертация может занимать больше времени, чем сама обработка в Rust.
Главный вывод: если переносите горячий код Python на Rust через PyO3, профилируйте не только вычисления, но и границу между двумя языками.
Иногда именно она съедает весь выигрыш в производительности.
https://belderbos.dev/blog/how-libraries-run-rust-inside-python/
Миниатюра из фотографии за 4 строки Python 🐍
from PIL import Image
with Image.open("my_image.jpg") as image:
image.thumbnail((128, 128))
image.save("thumbnail.jpg")
pip install Pillowsave() указана переменная thumbnail_path, но она не объявлена. В примере выше это исправлено.*
Читать полностью…
Визуализация данных на Python: 10 лучших примеров с кодом
Визуализация данных на Python - один из самых быстрых способов понять, что происходит в данных. Один удачный график заменяет десятки строк df.describe(): сразу видны тренды, выбросы, корреляции и аномалии.
В этой статье собраны 10 лучших примеров визуализации данных на Python с готовым кодом на Matplotlib, Seaborn и Plotly. Все примеры используют открытые учебные датасеты, поэтому их можно запустить в Jupyter Notebook или Google Colab без подготовки данных.
https://uproger.com/vizualizaciya-dannyh-na-python-10-primerov/
👨🏻💻 AI в бэкенд-задачах — на Podlodka Backend Crew
Код теперь может написать агент, но за результат всё ещё отвечаете вы. Организаторы Podlodka Backend Crew собрали конференцию о том, как работать с бэкендом после того, как AI написал код.
Причём в программе нет докладов в жанре «у нас все получилось» — только реальная практика. Конференция пройдёт с 26 по 30 октября.
🧠️️️️ Участники сезона:
• Разберут пулл‑реквесты от агента и попробуют предотвратить возможные инциденты на рулетке кейсов
• Выяснят, какие неожиданные ловушки скрываются в OpenAPI и на что обращать внимание при разработке контрактов
• Разберут антипаттерны в AI-юнит-тестах, узнают, как их избежать с помощью современных инструментов, и заберут себе новый агентский скилл
• Спроектируют бэкенд дейтинг-приложения на архитектурной кате и решат, где в нём действительно нужен AI.
Формат Podlodka Backend Crew — комфортный онлайн: 5 дней, утренние и вечерние сессии в Zoom.
Отдельный плюс — цена: заметно ниже привычных конференций, при этом вы не просто слушаете о чужом опыте, а разбираете PR и отвечаете за релиз, проектируете систему в команде и расследуете чужие провалы.
Такого вовлечения не получить на обычной конференции.
🔗 Изучайте программу и присоединяйтесь: https://podlodka.io/becrew
Промокод на скидку для подписчиков backendcrew
LLM в 200 раз быстрее: скоринг вместо генерации
Как превратить открытую LLM в быстрый локальный движок решений через скоринг следующего токена в SGLang: код, тесты на Qwen и сравнение с генерацией.
Многие вызовы LLM в продакшене вообще не требуют нового текста. Приложение заранее знает все допустимые ответы, и модели остается только выбрать один из них. Классический пример: тикет в поддержку «С меня дважды списали деньги за одну и ту же подписку», который нужно отправить в биллинг, техподдержку или отдел доступа к аккаунтам.
https://uproger.com/lokalnaya-llm-jev-skoring-sglang/
Зачем готовиться к собеседованию вслепую, если можно заранее посмотреть, какие будут вопросы и задачи?
Ребята из Поступашек уже 6 лет собирают реальные задания и разборы собеседований в BigTech. Там можно найти не только сами вопросы, но и разборы технических секций, критерии оценки и рекомендации по подготовке.
Собрали подборку полезных материалов под разные направления:
➡️ Аналитикам:
— Собеседования на продуктового и бизнес-аналитика в Т-Банке 🟨
— Что спрашивают по A/B-тестированию в X5 🌿 , разбор собес на DS в Яндекс 🟥
➡️ Разработчикам:
— Go и System Design в Ozon 🔵, GO в Авито😎
— Банк алгоритмических собеседований из BigTech
➡️ ML/AI-инженерам:
— Все вопросы на ML-собеседование в Яндексе 🟥 и ML в Авито 😎
— 10 кейсов по ML System Design в Т-Банке 🟨
➡️ Тем, кто ищет первую стажировку:
— Как получить стажировку в 2026 году
— Где взять опыт, если его нет
В Поступашках регулярно выходят новые разборы собеседований, карьерные гайды, стажировки и инсайды о найме в BigTech.
Лучше увидеть эти вопросы до собеседования, чем узнать о них после отказа
ПОСТУПАШКИ ПОДПИСАТЬСЯ
🐍 Пишешь на Python годами, а потом узнаёшь, что так было можно
На Reddit разработчики собрали возможности, которые долго проходили мимо них. Выбрали пять полезных.
1. Проверять несколько расширений одним вызовом
"photo.webp".endswith((".png", ".jpg", ".webp"))
# True
startswith() тоже принимает кортеж вариантов.
import re
m = re.search(r"(?P<year>\d{4})", "Python 2026")
if m:
print(m["year"]) # 2026
m.group("year") можно написать m["year"].
from collections import Counter
Counter("banana").most_common(2)
# [('a', 3), ('n', 2)]
"Bearer TOKEN".removeprefix("Bearer ")
# 'TOKEN'
from itertools import chain
list(chain.from_iterable([[1, 2], [3], [4, 5]]))
# [1, 2, 3, 4, 5]
sum(lists, []), который многократно копирует элементы и на больших данных может сильно тормозить.
Python subprocess не умирает после отмены запроса: как остановить его правильно
Обрыв стрима не завершает подпроцесс: Python продолжает грузить CPU, хотя клиент давно ушёл. Запускайте процесс в отдельной группе (start_new_session=True) и отправляйте os.killpg(SIGTERM) всей группе, а если процесс завис, добивайте SIGKILL и вызывайте await proc.wait().
https://www.youtube.com/shorts/no9DlVbBGdY
Python разбирает JSON на 66 ГБ/с: GIL больше не мешает
Свежий бенчмарк: 7,6 ГБ JSON обрабатываются в одном процессе Python примерно за 0,12 секунды. Это около 66 ГБ/с. Ещё пару лет назад такую цифру рядом со словом Python приняли бы за опечатку.
https://uproger.com/python-json-66-gbs-fastsimdjson/
👁👁 Тестовый собес на Python с разработчиком из Яндекса
[+ ответы на 50 сложных вопросов в подарок]
14 октября в 19:00 (МСК) приходи посмотреть открытое онлайн-собеседование на Python-разработчика.
Интервьюер: Хачатур Саркисян – разработчик из Яндекса, работает с высоконагруженными сервисами, Kafka и микросервисной архитектурой.
На эфире нет сценария ↓
Кандидат – случайный разработчик, который не знает вопросов заранее.
На обычном собесе ты не знаешь, что думает интервьюер, пока не придёт фидбек. На этом эфире Хачатур проговорит всё вслух:
— какие вопросы и задачи он даёт кандидатам в бигтехе;
— что в каждом ответе засчитал бы, а что нет – и почему.
Что нового в Python 3.15? Ленивые импорты, frozendict и JIT быстрее на 12%
Python 3.15 вышел, и в нём много полезного для разработчиков. Ленивые импорты ускоряют запуск, появились frozendict и sentinel, UTF-8 теперь включён по умолчанию, а JIT ускоряет код на 7–12%. Ещё в релизе профилировщик Tachyon, который подключается к живому процессу, новые возможности typing и стабильный ABI для сборок без GIL. Перед обновлением проверьте зависимости и тесты.
Полный разбор: https://uproger.com/python-3-15-chto-novogo/
Видео: https://uproger.com/python-3-15-chto-novogo/
#python #python315 #программирование #разработка #jit
Вышел Python 3.15: ленивые импорты, frozendict, UTF-8 по умолчанию и JIT, который наконец ускоряет код
Состоялся стабильный релиз Python 3.15. Над ним поработали 1012 контрибьюторов, в версию вошло 5643 коммита.
Самое заметное для повседневной работы это явные ленивые импорты из PEP 810. Тяжёлые модули вроде torch или transformers теперь можно подгружать только в момент первого обращения, и CLI-утилиты и скрипты стартуют заметно быстрее. Ещё одно долгожданное изменение: UTF-8 наконец стал кодировкой по умолчанию на всех платформах, так что сюрпризы с open() на Windows уходят в прошлое.
В языке появились встроенные типы frozendict и sentinel, а в генераторах списков и словарей теперь работает распаковка через звёздочку. Сообщения об ошибках снова стали понятнее.
Экспериментальный JIT серьёзно доработали. На x86-64 Linux он даёт в среднем 7-8% прироста к стандартному интерпретатору, на Apple Silicon 11-12%. Официальные сборки под Windows перешли на tail-calling интерпретатор, а установщик для macOS по умолчанию ставит поддержку free-threading. Для сборок без GIL появился стабильный ABI, это откроет дорогу бинарным пакетам под многопоточный Python.
Для тех, кто ищет узкие места в коде, в стандартной библиотеке появился отдельный пакет profiling и высокочастотный сэмплирующий профайлер Tachyon. Указатели фреймов теперь включены по умолчанию, и системные профайлеры видят Python-стек без танцев с бубном.
В типизации добавили TypedDict с типизированными дополнительными ключами, TypeForm и disjoint bases.
Один нюанс для маководов: на macOS 27.0 приложения на tkinter, включая IDLE, могут зависать при открытии диалогов. Если работаете с Tk, с обновлением системы лучше подождать.
Бонус от Барри Уорсо: текстовый квест whatsnewt, где каждая из 18 головоломок решается реальной фичей 3.15. Запускается командой uvx --python 3.15 whatsnewt.
https://discuss.python.org/t/python-3-15-0-final-is-here/109415
🔎 Google выпустила EmbeddingGemma 2: мультимодальный поиск прямо на устройстве
Модель переводит текст, код, изображения, видео и аудио в единое векторное пространство. Например, позволяет найти нужный снимок по текстовому описанию.
Всего 740 млн параметров:
• 270 млн для текста;
• 170 млн для изображений;
• 300 млн для аудио.
Нужные модули можно подключать отдельно. В оптимизированном запуске на Pixel 11 Pro полная модель использует около 567 МБ активной RAM, текстовая часть около 191 МБ.
Лицензия Apache 2.0 допускает коммерческое использование. Практическое применение: локальный поиск по документам и медиа без отправки данных в облако.
https://deepmind.google/models/gemma/embeddinggemma/
@ai_machinelearning_big_data
#Gemma #Google
Вопросы на собеседовании Python Senior: 100 вопросов с ответами (2026)
Вопросы на собеседовании Python Senior с ответами: 100 вопросов и примеры кода — CPython, GIL, asyncio, метаклассы, типизация, производительность, Python 3.14.
https://uproger.com/voprosy-na-sobesedovanii-python-senior/
🖥 Примеры кода на Python 2026: лучшие практики, разбор и задачи с решениями
Python примеры кода 2026 - практическое руководство на русском языке: разбор лучших примеров кода на Python, современные паттерны Python 3.12–3.14, чистый код, асинхронность, типизация, тестирование и задачи для практики с решениями. Подходит для начинающих, junior- и middle-разработчиков, а также для подготовки к собеседованию по Python.
Ключевые темы: примеры кода Python, лучшие практики Python 2026, python для начинающих, задачи по Python с решениями, чистый код на Python, асинхронный Python, asyncio примеры, типизация в Python, pytest примеры, FastAPI пример, парсинг на Python, подготовка к собеседованию Python, Python 3.14 новые
https://github.com/justxor/python-primery-koda-2026/
🌟 OpenScience: персональный учёный с режимом автономных экспериментов
Стартап Synthetic Sciences из зимнего набора Y Combinator 2026 года вывел на Product Hunt OpenScience – открытую рабочую среду с ИИ-агентом для научных исследований.
Сам агент компания выложила ещё в июле, а главное из обновления – режим Autoresearch, в котором агент без участия человека ставит серию экспериментов и улучшает заданную метрику.
В этом тесте OpenScience управляла GPT-6 Astra с GPT-6 Sol в роли исполнителей, на задачу давали 8 часов и одну попытку.
Лучший результат в таблице Snorkel – 68,1% у Codex с GPT-6 Astra, у Claude Code с Opus 5.5 там 63,3%.
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
Если нужен диапазон от 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