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

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

Ir al canal en Telegram

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

Mostrar más

📈 Análisis del canal de Telegram Python вопросы с собеседований

El canal Python вопросы с собеседований (@python_job_interview) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 24 822 suscriptores, ocupando la posición 5 258 en la categoría Tecnologías y Aplicaciones y el puesto 26 472 en la región Rusia.

📊 Métricas de audiencia y dinámica

Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 24 822 suscriptores.

Según los últimos datos del 25 agosto, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de -44, y en las últimas 24 horas de 0, conservando un alto alcance.

  • Estado de verificación: No verificado
  • Tasa de interacción (ER): El promedio de interacción de la audiencia es 6.01%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 2.76% de reacciones respecto al total de suscriptores.
  • Alcance de las publicaciones: Cada publicación recibe en promedio 1 492 visualizaciones. En el primer día suele acumular 684 visualizaciones.
  • Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 6.
  • Intereses temáticos: El contenido se centra en temas clave como github, api, собеседование, git, docker.

📝 Descripción y política de contenido

El autor describe el recurso como un espacio para expresar opiniones subjetivas:
Вопросы с собеседований по Python @workakkk - админ @machinelearning_interview - вопросы с собесдований по Ml @pro_python_code - Python @data_analysis_ml - анализ данных на Python @itchannels_telegram - 🔥 главное в ит РКН: clck.ru/3FmrFd

Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 28 agosto, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.

24 822
Suscriptores
Sin datos24 horas
+637 días
-4430 días
Archivo de publicaciones
🧠 Ускорь import в Python-проектах с помощью lazy loading — без изменения логики Если у тебя проект с тяжёлыми модулями (`pandas`, torch, tensorflow`), но они не всегда нужны — не загружай их зря. Python позволяет **отложить импорт до первого использования**, через встроённый `importlib. Вот как это выглядит на практике:


import importlib

# Обёртка для ленивого импорта
def lazy_import(name):
    return importlib.util.LazyLoader(importlib.import_module(name))

# Использование
np = lazy_import('numpy')
# numpy ещё не загружен

# Теперь загрузится:
print(np.array([1, 2, 3]))

Repost from Python/ django
👾 GREMLLM — теперь у ваших багов есть сознание GREMLLM — это необычный Python-класс, в котором все методы и свойства создают
👾 GREMLLM — теперь у ваших багов есть сознание GREMLLM — это необычный Python-класс, в котором все методы и свойства создаются динамически с помощью LLM. Вы описываете, *что за объект вы хотите*, и дальше GREMLLM сам решает, что должно происходить при вызове методов или обращении к полям. 📦 Установка:

pip install gremllm
🔧 Пример:


from gremllm import Gremllm

counter = Gremllm('counter')
counter.value = 5
counter.increment()
print(counter.value)               # → 6?
print(counter.to_roman_numerals())  # → VI?
🧩 Возможности: – Динамическое поведение: всё определяется "на лету" с помощью LLM – Поддержка OpenAI, Claude, Gemini, и локальных моделей – Wet Mode: можно строить цепочки вызовов (методы возвращают объекты) – Verbose Mode: выводит, какой код был сгенерирован – Умная обработка ошибок и настройка через наследование ⚠️ Это экспериментальный инструмент. Не для продакшена. Но очень интересен для изучения LLM-интеграций в Python-код. 🔗 Репозиторий: https://github.com/ur-whitelab/gremllm @pythonl

🐍 Совет дня для опытных Python-разработчиков 📌 Используй декораторы с параметрами — мощный приём для логирования, контроля, кэширования и кастомных проверок. Пример: логгер, у которого можно задать уровень логирования через аргумент:

import functools
import logging

def log(level=logging.INFO):
    def decorator(func):
        @functools.wraps(func)
        def wrapper(*args, **kwargs):
            logging.log(level, f"Вызов {func.__name__} с args={args}, kwargs={kwargs}")
            return func(*args, **kwargs)
        return wrapper
    return decorator

@log(logging.DEBUG)
def compute(x, y):
    return x + y
✅ Зачем это нужно: Декоратор гибко настраивается; Подходит для трассировки в проде и отладки в деве; Сохраняет сигнатуру и docstring благодаря @functools.wraps. ⚠️ Совет: избегай вложенности >2 уровней и всегда пиши тесты на поведение декоратора. Python даёт инструменты, которые выглядят магией, но работают стабильно — если знаешь, как ими пользоваться.

Repost from Machinelearning
🔥 Google DeepMind представили новую open-source библиотеку на Python для сборки асинхронных AI‑пайплайнов в реальном времени
+2
🔥 Google DeepMind представили новую open-source библиотеку на Python для сборки асинхронных AI‑пайплайнов в реальном времени! Новая библиотека позволяет собирать AI-процессы из компонентов — как LEGO для ИИ-агентов. 🔧 Особенности: - Построение асинхронных, компонуемых пайплайнов - Поддержка Gemini и Gemini Live API - Основана на asyncio - Обрабатывает мультимодальные данные: текст, изображения, аудио - Внутри готовые агенты: real-time агент, исследователь, live-комментатор 💡 Подходит для: - Разработки ИИ-агентов - Генеративных моделей, работающих в реальном времени - Быстрой сборки MVP с мультимодальными возможностями Установка:

pip install genai-processors
Открытый код, готовые компоненты и интеграция с API. • Repo: https://github.com/google-gemini/genai-processorsBlog: https://developers.googleblog.com/en/genai-processors/ @ai_machinelearning_big_data #DeepMind #ai #ml

🎙️ pytest-recording — плагин для записи и воспроизведения HTTP-запросов в тестах Инструмент использует VCR.py под капотом, ч
🎙️ pytest-recording — плагин для записи и воспроизведения HTTP-запросов в тестах Инструмент использует VCR.py под капотом, чтобы сохранять сетевые взаимодействия в YAML-кассеты и переиспользовать их при последующих запусках. Достаточно добавить @pytest.mark.vcr к тесту и все запросы автоматически запишутся или возьмутся из кэша. Особенно удобно для тестирования API, можно блокировать случайные сетевые вызовы через @pytest.mark.block_network и точечно разрешать только нужные хосты. Поддерживается тонкая настройка через vcr_config и работа в режиме перезаписи кассет. 🤖 GitHub @python_job_interview

📌 Сложная задача для собеседования на Python: «Асинхронный кэш с TTL и инвалидацией». Условие: Реализуйте потокобезопасный асинхронный кэш с временем жизни записей, поддержкой инвалидации по ключу и автоматическим удалением устаревших записей. Кэш должен: 1️⃣ Хранить значения не дольше указанного TTL (seconds) 2️⃣ Автоматически очищать устаревшие записи без блокировки основного потока 3️⃣ Поддерживать асинхронные операции get/set 4️⃣ Иметь механизм ручной инвалидации 5️⃣ Гарантировать потокобезопасность 6️⃣ Оптимизировать память Ожидаемое решение:
import asyncio
import time
from collections import OrderedDict
from typing import Any, Optional
import threading

class AsyncTTLCache:
    def __init__(self, maxsize: int = 1024, ttl: int = 60):
        self._cache = OrderedDict()
        self._maxsize = maxsize
        self._ttl = ttl
        self._lock = threading.Lock()
        self._cleanup_task = asyncio.create_task(self._cleanup_expired())

    async def get(self, key: str) -> Optional[Any]:
        with self._lock:
            if key not in self._cache:
                return None
            value, expiry = self._cache[key]
            if time.time() > expiry:
                del self._cache[key]
                return None
            # Move to end to mark as recently used
            self._cache.move_to_end(key)
            return value

    async def set(self, key: str, value: Any) -> None:
        with self._lock:
            if key in self._cache:
                self._cache.move_to_end(key)
            self._cache[key] = (value, time.time() + self._ttl)
            if len(self._cache) > self._maxsize:
                self._cache.popitem(last=False)

    async def invalidate(self, key: str) -> None:
        with self._lock:
            if key in self._cache:
                del self._cache[key]

    async def _cleanup_expired(self) -> None:
        while True:
            await asyncio.sleep(self._ttl)
            with self._lock:
                now = time.time()
                expired_keys = [
                    k for k, (_, expiry) in self._cache.items()
                    if expiry <= now
                ]
                for k in expired_keys:
                    del self._cache[k]

    def __del__(self):
        self._cleanup_task.cancel()


# Пример использования
async def main():
    cache = AsyncTTLCache(ttl=2)
    
    await cache.set("a", 1)
    print(await cache.get("a"))  # 1
    
    await asyncio.sleep(3)
    print(await cache.get("a"))  # None
    
    await cache.set("b", 2)
    await cache.invalidate("b")
    print(await cache.get("b"))  # None

asyncio.run(main())
Предлагайте свои варианты решения в комментариях⏬️ @python_job_interview

🔍Открытое собеседование на Python-бекендера с разработчиком из Avito и Яндекс во вторник 10 июля(уже в четверг!) в 19:00 по
🔍Открытое собеседование на Python-бекендера с разработчиком из Avito и Яндекс во вторник 10 июля(уже в четверг!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика. Как это будет: 📂 Савва Демиденко, ТехЛид с опытом в Яндексе и Авито, будет задавать реальные вопросы и задачи разработчику-добровольцу 📂 Савва будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью 📂 В конце можно будет задать любой вопрос Савве Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqxjiWL7

🎙️ pytest-recording — плагин для записи и воспроизведения HTTP-запросов в тестах. Полезный инструмент для Python-разработчик
🎙️ pytest-recording — плагин для записи и воспроизведения HTTP-запросов в тестах. Полезный инструмент для Python-разработчиков, который помогает сделать тесты, зависящие от внешних API, более стабильными и быстрыми. Плагин использует VCR.py под капотом, позволяя записывать реальные HTTP-взаимодействия в YAML-кассеты и затем воспроизводить их локально. Инструмент имеет удобный режим rewrite, который полностью перезаписывает кассеты, а не просто дополняет их. Также есть встроенная блокировка случайных сетевых запросов во время тестирования. 🤖 GitHub @python_job_interview

⚙️ Подменяй любые импорты в Python “на лету” — без изменения кода Если ты хочешь протестировать модуль, подменить зависимость, замокать внешний сервис или обмануть импорт — не обязательно редактировать исходники. Python позволяет перехватывать импорты прямо во время выполнения, через sys.modules. Вот минимальный приём, который делает это прозрачно:

import sys
import types

# Создаём фейковый модуль
fake = types.SimpleNamespace()
fake.get_data = lambda: "подмена работает"

# Подменяем импорт
sys.modules['external_service'] = fake

# Теперь даже import будет работать
import external_service
print(external_service.get_data())  # → "подмена работает"

🧠 Ускоряй Python циклы без NumPy — через встроенный `array.array` Если ты используешь большие списки чисел в Python и работаешь с ними в цикле — знай: list медленный и неэффективный по памяти. Есть способ ускорить операции в 2–5 раз без внешних библиотек — просто используй array точка array. Попробуй и напиши в комментах результат, на сколько ускорились твои функции. from array import array data = array('f', [0.1] * 10_000_000) # вместо обычного list # быстрая арифметика for i in range(len(data)): data[i] *= 2.5

⚡️ Почему лучшие разработчики всегда на шаг впереди? Потому что они знают, где брать настоящие инсайд! Оставь “программирование в вакууме” в прошлом, выбирай свой стек — подпишись и погружайся в поток идей, лайфхаков и знаний, которые не найдёшь в открытом доступе. ИИ: t.me/ai_machinelearning_big_data Python: t.me/pythonl Linux: t.me/linuxacademiya Мл собес t.me/machinelearning_interview C++ t.me/cpluspluc Docker: t.me/DevopsDocker Хакинг: t.me/linuxkalii МЛ: t.me/machinelearning_ru Devops: t.me/DevOPSitsec Data Science: t.me/data_analysis_ml Javascript: t.me/javascriptv C#: t.me/csharp_ci Java: t.me/java_library Базы данных: t.me/sqlhub Python собеседования: t.me/python_job_interview Мобильная разработка: t.me/mobdevelop Golang: t.me/Golang_google React: t.me/react_tg Rust: t.me/rust_code ИИ: t.me/vistehno PHP: t.me/phpshka Android: t.me/android_its Frontend: t.me/front Big Data: t.me/bigdatai МАТЕМАТИКА: t.me/data_math Kubernets: t.me/kubernetc Разработка игр: https://t.me/gamedev Физика: t.me/fizmat SQL: t.me/databases_tg Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy Папка FRONTEND: https://t.me/addlist/mzMMG3RPZhY2M2Iy 🎓954ГБ ОПЕНСОРС КУРСОВ: @courses 😆ИТ-Мемы: t.me/memes_prog 🇬🇧Английский: t.me/english_forprogrammers 🧠ИИ: t.me/vistehno 🖥 Chatgpt для кода в тг: @Chatgpturbobot 📕Ит-книги: https://t.me/addlist/BkskQciUW_FhNjEy 💼ИТ-вакансии t.me/addlist/_zyy_jQ_QUsyM2Vi Подпишись, чтобы всегда знать, куда двигаться дальше!

🐍 Python-задача с подвохом: что напечатает код?

def extend_list(val, lst=[]):
    lst.append(val)
    return lst

list1 = extend_list(10)
list2 = extend_list(123, [])
list3 = extend_list('a')

print("list1 =", list1)
print("list2 =", list2)
print("list3 =", list3)
Варианты ответа: 1️⃣ list1 = [10], list2 = [123], list3 = ['a'] 2️⃣ list1 = [10], list2 = [123], list3 = [10, 'a'] 3️⃣ list1 = [10, 'a'], list2 = [123], list3 = [10, 'a'] 4️⃣ list1 = [10, 'a'], list2 = [123], list3 = ['a'] --- 💡 Подсказка: Если вы используете изменяемый объект (например, список) как значение по умолчанию в аргументе функции — он сохраняется между вызовами. --- ✅ Ответ: list1 = [10, 'a'] list2 = [123] list3 = [10, 'a'] 🔎 Почему? 👉 Значение по умолчанию lst=[] создаётся один раз — при определении функции. 👉 Когда вызываем extend_list(10), значение 10 добавляется в этот общий список. 👉 Когда вызываем extend_list(123, []), передаём новый список, всё ок. 👉 Когда вызываем extend_list('a'), снова используется общий список из первого вызова. Чтобы избежать этой ловушки:

def extend_list(val, lst=None):
    if lst is None:
        lst = []
    lst.append(val)
    return lst
🚀 Запомни: никогда не используй изменяемые объекты как значения по умолчанию для аргументов функции! @python_job_interview

📥 Palanteer — инструмент для глубокого анализа производительности C++ и Python-приложений. Этот проект предлагает детальную
📥 Palanteer — инструмент для глубокого анализа производительности C++ и Python-приложений. Этот проект предлагает детальную телеметрию: от временных меток выполнения функций до отслеживания потребления памяти и переключений контекста. Инструмент обладает минималистичной интеграцией: в C++ достаточно подключить один заголовочный файл, а Python-код анализируется автоматически. Визуализация в реальном времени включает временные графики, flame graphs и логи с наносекундным разрешением. 🤖 GitHub

🖥 Хитрый способ изменить поведение цикла for — без изменения самого цикла Можно ли сделать так, чтобы весь Python-код, использующий for x in ..., внезапно начал вести себя иначе — без изменения самого цикла? Ответ: да, если переопределить поведение итератора. На экране показа — трюк, где обычный список «врет» в цикле и выдает неожиданные значения. Трюк можно использовать и с dict, set и кастомными генераторами. Особенно удобно в юнит-тестах или визуализациях.

class FakeList(list):
    def __iter__(self):
        return iter(["test", "mock", "override"])

data = FakeList([1, 2, 3])
for x in data:
    print(x)  # выведет: test, mock, override
https://youtube.com/shorts/QhZtRx1ukoc?feature=share

🔦 VulnHuntr — ИИ-детектор уязвимостей в Python-коде. Этот инструмент от ProtectAI использует LLM для поиска сложных цепочек
🔦 VulnHuntr — ИИ-детектор уязвимостей в Python-коде. Этот инструмент от ProtectAI использует LLM для поиска сложных цепочек уязвимостей, которые традиционные статические анализаторы часто пропускают. Инструмент анализирует полный путь от пользовательского ввода до опасных операций, выявляя даже многошаговые эксплойты вроде RCE или SSRF. Работает через поэтапный анализ: сначала LLM изучает README, затем исследует код с наращиванием контекста, и наконец формирует отчёт с PoC-эксплойтом и оценкой уверенности. 🤖 GitHub @python_job_interview

Python — это фундамент, на котором можно построить карьеру в аналитике данных. Современные компании все чаще ищут специалистов, способных не просто писать код, но и извлекать из данных полезные для бизнеса инсайты. И если вы уже владеете Python, у вас есть серьезная фора перед другими кандидатами. 3 июля в 19:00 (мск) Анастасия Зеленова, team lead аналитики в Raiffeisen CIB, расскажет, кто такие аналитики и какие навыки и инструменты необходимы для работы, а также покажет повседневные задачи аналитика на реальных примерах. Присоединяйтесь к бесплатному онлайн-вебинару: https://clc.to/erid_2W5zFHErDXE  Реклама. ООО "КАРПОВ КУРСЫ". ИНН 7811764627. erid: 2W5zFHErDXE

🔍 SQLAlchemy-Filters — удобный инструмент для динамической фильтрации, сортировки и пагинации SQLAlchemy-запросов. Этот прое
🔍 SQLAlchemy-Filters — удобный инструмент для динамической фильтрации, сортировки и пагинации SQLAlchemy-запросов. Этот проект особенно полезен при разработке REST API, где клиенту нужно гибко управлять выборкой данных. Библиотека поддерживает сложные условия фильтрации, автоматические джойны связанных моделей и работу с гибридными свойствами. Фильтры задаются простыми словарями, что упрощает интеграцию с фронтендом. 🤖 GitHub @python_job_interview

🖥 Как написать худший возможный Python-код Иногда проще показать, как не надо, чем объяснять, как надо. Вот список «правил», которые помогут вам гарантированно испортить любой Python-проект. 1. 🔒 Используйте непонятные имена переменных Называйте переменные x, y, a, thing. Абстракция — залог путаницы.

def f(x, y, z=None):
    a = x * 2
    b = y + a if z else y - a
    c = [i for i in range(a) if i % 2]
    return sum(c) + b
2.🧠 Пихайте максимум логики в одну строку Сложные тернарные выражения и вложенные list comprehension — всё в одной строке.

result = [x if x > 0 else (y if y < 0 else z) for x in data if x or y and not z]
3.⚠️ Используйте eval() и exec() Это медленно, небезопасно и глупо — но зато эффектно.

eval("d['" + key + "']")
4.🔁 Переиспользуйте переменные с разными типами Пусть одна переменная будет и строкой, и числом, и списком — динамическая типизация же!

value = "42"
value = int(value)
value = [value] * value
5.🌍 Используйте глобальные переменные Изменяйте состояние приложения откуда угодно. Особенно изнутри функций.

counter = 0

def increment():
    global counter
    counter += 1
6.🔮 Используйте магические числа и строки Без пояснений. Пусть коллеги гадают, почему именно 42 или "xyz".

if user.role == "xyz" and user.level > 42:
    access_granted()
7.📏 Игнорируйте стиль и отступы Никаких PEP8, никаких правил. Пиши, как хочешь.

def foo():print("start")
 if True:
  print("yes")
   else:
    print("no")
8.🧱 Копируйте код из Stack Overflow, не вникая Ctrl+C — это тоже разработка.

def complex_logic(x):
    return (lambda y: (lambda z: z**2)(y + 1))(x)
9.🧩 Придумывайте абстракции без надобности Вместо простой функции — классы, фабрики и стратегии.

class HandlerFactory:
    def get_handler(self):
        class Handler:
            def handle(self, x): return x
        return Handler()
10. 💤 Добавляйте мёртвый код Никогда не удаляй — вдруг пригодится. И пусть он грузится в каждый запуск.

def legacy_feature():
    print("This feature is deprecated")
    return
# нигде не вызывается
11.🔀 Не пишите документацию Комментарии только мешают. Кто захочет — разберётся.

def a(x): return x+1
12.🧪 Пиши без тестов Если код работает — зачем его проверять?

# Просто запускай и смотри глазами
process_user(data)
13. 🤖 Не используй AI и автодополнение Только ручной кодинг, без подсказок. Ошибки — путь мастера. 🧠 Заключение Все эти советы — примеры того, как не стоит писать код. Если вы узнали себя — пора остановиться. Ведь Python задуман как язык, где важна читаемость, простота и явность. "Beautiful is better than ugly. Explicit is better than implicit. Readability counts." — The Zen of Python @pythonl

Repost from Machinelearning
🖥 Теперь официально Google выпустили Gemini CLI - AI-агента для работы прямо в терминале • Лёгкий и мощный инструмент для разработки в командной строке • Работает на базе Gemini 2.5 Pro • Код агента в открытом доступе (Apache 2.0) • Поддержка контекста в 1 миллион токенов • Бесплатный тариф: до 60 запросов в минуту и 1000 в деньПривязка к Google Search • Поддержка плагинов и скриптов • Интеграция с VS Code (Gemini Code Assist) Запуск в cli: npx https://github.com/google-gemini/gemini-cli 🔜 Анонс: https://blog.google/technology/developers/introducing-gemini-cli-open-source-ai-agent/ 🔜 Github: https://github.com/google-gemini/gemini-cli/ @ai_machinelearning_big_data #AI #ML #agent #Google