ru
Feedback
Python | Вопросы собесов

Python | Вопросы собесов

Открыть в Telegram

📈 Аналитический обзор Telegram-канала Python | Вопросы собесов

Канал Python | Вопросы собесов (@python_easy_ru) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 13 108 подписчиков, занимая 9 742 место в категории Технологии и приложения и 50 784 место в регионе Россия.

📊 Показатели аудитории и динамика

С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 13 108 подписчиков.

Согласно последним данным от 06 июня, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -52, а за последние 24 часа — -3, при этом общий охват остаётся высоким.

  • Статус верификации: Не верифицирован
  • Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 6.21%. В первые 24 часа после публикации контент обычно набирает 6.01% реакций от общего числа подписчиков.
  • Охват публикаций: В среднем каждый пост получает 814 просмотров. В течение первых суток публикация набирает 788 просмотров.
  • Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 4.
  • Тематические интересы: Контент сосредоточен на ключевых темах, таких как ставь, модуль, строка, docker, alice.

📝 Описание и контентная политика

Автор описывает ресурс как площадку для выражения субъективного мнения:
Cайт: easyoffer.ru Реклама: @easyoffer_adv ВП: @easyoffer_vp Тесты t.me/+20tRfhrwPpM4NDQy Задачи t.me/+nsl4meWmhfQwNDVi Вакансии t.me/+cXGKkrOY2-w3ZTky

Благодаря высокой частоте обновлений (последние данные получены 08 июня, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.

13 108
Подписчики
-324 часа
-147 дней
-5230 день
Архив постов
🤔 Что такое хранитель (Memento)? Это поведенческий паттерн проектирования, который позволяет сохранять и восстанавливать предыдущее состояние объекта без нарушения инкапсуляции. Этот паттерн особенно полезен для реализации операций отмены и повтора, так как он позволяет хранить состояния объектов и возвращать их к этим состояниям по необходимости. 🚩Зачем нужен? 🟠Сохранение состояния: Позволяет сохранять текущее состояние объекта и восстанавливать его позже. 🟠Инкапсуляция: Обеспечивает сохранение состояния объекта без нарушения его инкапсуляции. Внутренние детали объекта остаются скрытыми от других объектов. 🟠Отмена и повтор операций: Поддерживает функциональность отмены и повтора операций, так как позволяет возвращать объект к предыдущим состояниям. Пример реализации
class Memento:
    def __init__(self, state: str):
        self._state = state

    def get_state(self) -> str:
        return self._state

class TextEditor:
    def __init__(self):
        self._state = ""
        self._history = []

    def type(self, text: str):
        self._save_state()
        self._state += text

    def _save_state(self):
        self._history.append(Memento(self._state))

    def undo(self):
        if not self._history:
            return
        memento = self._history.pop()
        self._state = memento.get_state()

    def get_content(self) -> str:
        return self._state

# Клиентский код для использования паттерна Хранитель
def main():
    editor = TextEditor()

    editor.type("Hello, ")
    editor.type("world!")
    print(editor.get_content())  # Hello, world!

    editor.undo()
    print(editor.get_content())  # Hello, 

    editor.undo()
    print(editor.get_content())  # 

if __name__ == "__main__":
    main()
1⃣`Memento`: Сохраняет состояние объекта. Он предоставляет методы для получения сохраненного состояния, но не предоставляет методов для изменения состояния, что обеспечивает неизменность. 2⃣`TextEditor`: Создает и использует объекты Memento для сохранения и восстановления своего состояния. Методы type и undo позволяют редактировать текст и отменять изменения. 3⃣`_save_state`: Сохраняет текущее состояние редактора в истории перед каждым изменением. 4⃣`undo`: Восстанавливает предыдущее состояние редактора из истории. Ставь 👍 и забирай 📚 Базу знаний

Реклама для бизнеса любого уровня в Яндекс Директе Создайте эффективную рекламную кампанию с алгоритмами Яндекс Директа 👌 На
Реклама для бизнеса любого уровня в Яндекс Директе Создайте эффективную рекламную кампанию с алгоритмами Яндекс Директа 👌 Начните прямо сейчас ⚡ Зарегистрироваться #реклама direct.yandex.ru О рекламодателе

🤔 В чём сходства и отличия dataclass и namedtuple? Сходства: - Оба предоставляют компактный синтаксис для создания объектов с полями. - Поддерживают доступ по имени (obj.field). - Иммутабельность (frozen=True для dataclass, по умолчанию в namedtuple). Отличия: - namedtuple — неизменяемый, лёгкий и быстрый, но не поддерживает методы, наследование и типизацию так же гибко. - dataclass — более гибкий, позволяет использовать методы, наследование, значения по умолчанию, валидацию и другие параметры (frozen, order, repr, init и т.д.). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Как работает пакетирование библиотек Python? В Python пакетирование библиотек — это процесс создания, распространения и установки пакетов (модулей) с кодом. Это позволяет разработчикам легко устанавливать и переиспользовать чужие библиотеки. 🚩Что такое пакет Python? Пакет — это набор модулей, объединенных в одну структуру (обычно это папка с файлом __init__.py).
mypackage/
│── mymodule.py
│── __init__.py
└── utils.py
🚩Как создать свой пакет? Допустим, у нас есть пакет mypackage, в котором есть функция say_hello(). Структура проекта
mypackage/
│── mymodule.py
│── __init__.py
└── setup.py
Файл mypackage/mymodule.py
def say_hello():
    return "Привет, мир!"
Файл mypackage/__init__.py (он делает папку пакетом)
from .mymodule import say_hello
Теперь можно использовать mypackage в коде
import mypackage

print(mypackage.say_hello())  # Выведет: Привет, мир!
🚩Как установить стороннюю библиотеку? Чтобы установить готовую библиотеку из PyPI, используем pip
pip install requests  # Установка библиотеки requests
Чтобы посмотреть установленные пакеты
pip list
Чтобы удалить пакет
pip uninstall requests
Чтобы обновить пакет
pip install requests --upgrade
Ставь 👍 и забирай 📚 Базу знаний

X-Clean 10 от Tefal: Новый уровень чистоты Tefal выпустил ультралегкий и тихий моющий беспроводной пылесос с функцией самоочи
X-Clean 10 от Tefal: Новый уровень чистоты Tefal выпустил ультралегкий и тихий моющий беспроводной пылесос с функцией самоочистки и сушки роликовой щетки. Встречайте — Tefal X-Clean 10! Узнать больше #реклама tefal.ru О рекламодателе

🤔 Какие декораторы использовал? На практике применяются такие декораторы: - @staticmethod — обозначает метод, не использующий self. - @classmethod — получает cls и работает с классом, а не экземпляром. - @property — превращает метод в геттер (доступ к методу как к атрибуту). - @lru_cache — кеширует вызовы функции, оптимизируя повторные вычисления. - @wraps — сохраняет метаинформацию оригинальной функции в пользовательских декораторах. - Декораторы логирования, валидации, измерения времени выполнения. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что такое RESTful? Это подход к проектированию веб-сервисов, основанный на архитектурном стиле REST (*Representational State Transfer*). Это не протокол или стандарт, а набор принципов и ограничений, которые используются для создания систем, взаимодействующих через HTTP. Если API соответствует этим принципам, его называют RESTful. 🚩 Основные принципы REST 🟠Клиент-серверная архитектура Клиент (например, браузер или мобильное приложение) и сервер (где размещена база данных и логика обработки данных) чётко разделены: Клиент запрашивает данные или отправляет запросы к серверу. Сервер отвечает, предоставляя ресурсы или выполняя действия. 🟠Состояние отсутствия (Stateless) Каждый запрос от клиента к серверу должен быть самодостаточным. Это означает, что сервер не хранит информацию о состоянии клиента между запросами. Вся необходимая информация передается в запросе (например, токен аутентификации). 🟠Унифицированный интерфейс RESTful API использует единый, стандартный интерфейс для взаимодействия. Это достигается следующими средствами: Идентификация ресурсов через URI: Каждый ресурс имеет уникальный адрес (URI).
     GET https://api.example.com/users/123
   
Использование стандартных HTTP-методов: GET — для получения данных. POST — для создания новых данных. PUT или PATCH — для обновления данных. DELETE — для удаления данных. Ресурсы как представления: Ресурсы передаются в формате JSON, XML или другом формате. 🟠Кэширование Ответы сервера могут быть кэшируемыми. Это уменьшает нагрузку на сервер и ускоряет работу клиента. 🟠Единообразие и слои RESTful системы могут включать несколько слоев (например, балансировщики нагрузки, кеш-сервисы), но клиент взаимодействует только с сервером, не зная о внутренних слоях. 🟠Код по требованию (опционально) Иногда сервер может передавать исполняемый код (например, JavaScript) клиенту, чтобы расширить его функциональность. Это не обязательно. 🚩Почему RESTful важен? RESTful архитектура позволяет: 🟠Сделать API простым и понятным Клиенты легко понимают, как обращаться к ресурсам (используя стандартные методы и адреса). 🟠Обеспечить гибкость Клиенты и серверы могут развиваться независимо друг от друга. 🟠Поддерживать масштабируемость RESTful API легко масштабируются, так как все запросы независимы друг от друга (статичность). 🟠Облегчить интеграцию RESTful API поддерживают стандартизированные протоколы (HTTP), что делает интеграцию с другими сервисами проще. Ставь 👍 и забирай 📚 Базу знаний

Дарим подписку на Яндекс Музыку Ответьте на 1 вопрос и Яндекс Музыка ваша для вас и 3-х ваших близких. Кинопоиск и Яндекс Кни
Дарим подписку на Яндекс Музыку Ответьте на 1 вопрос и Яндекс Музыка ваша для вас и 3-х ваших близких. Кинопоиск и Яндекс Книги тоже в подписке. Попробуйте бесплатно❤️ Попробовать #реклама 18+ music.yandex.ru О рекламодателе Реклама на Яндексе

🤔 Как создать views? Views создаются как функции или классы в файле views.py, которые принимают запрос и возвращают HTTP-ответ. Например, с использованием функций HttpResponse или рендеринга шаблонов через render. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Онлайн-магистратура с IT специальностями от Яндекса Совместно с ИТМО, МИФИ, МФТИ. Онлайн-магистратура с актуальными программами и гибким графиком обучения. Получите высокооплачиваемую IT профессию, официальный диплом и практические знания. Господдержка оплаты. Совмещение с работой! Подать заявку #реклама 16+ practicum.yandex.ru О рекламодателе

🤔 В чем отличие изменяемые / неизменяемые? В Python все данные делятся на изменяемые (mutable) и неизменяемые (immutable) 🚩Неизменяемые (`immutable`) типы После создания их нельзя изменить!
x = 10
print(id(x))  # 140735598722544 (адрес в памяти)

x = x + 5  # Создаётся новый объект!
print(id(x))  # 140735598722704 (новый адрес)
Пример: str неизменяемая
s = "hello"
print(id(s))  # 140735598723664

s = s + " world"  # Создаётся новая строка!
print(id(s))  # 140735598724240 (новый адрес)
🚩Изменяемые (`mutable`) типы Можно менять их содержимое без создания нового объекта.
lst = [1, 2, 3]
print(id(lst))  # 140735598722544

lst.append(4)  # Изменяем список
print(id(lst))  # 140735598722544 (адрес остался тот же!)
Пример: dict изменяемый
d = {"name": "Alice"}
print(id(d))  # 140735598723664

d["age"] = 25  # Добавляем ключ
print(id(d))  # 140735598723664 (адрес не изменился!)
🚩Почему это важно? Неизменяемые объекты безопаснее для ключей dict и set
d = {}
d[[1, 2, 3]] = "Ошибка!"  # ❌ TypeError: unhashable type: 'list'
Используем tuple вместо list (он неизменяемый)
d[(1, 2, 3)] = "OK"
Ошибки с изменяемыми значениями по умолчанию
def add_item(lst=[]):  # ❌ Опасный код!
    lst.append(1)
    return lst

print(add_item())  # [1]
print(add_item())  # [1, 1]  ❌ Список не создаётся заново!
Используем None вместо списка
def add_item(lst=None):
    if lst is None:
        lst = []
    lst.append(1)
    return lst
🚩Копирование объектов (`copy()` vs `deepcopy()`) copy() делает поверхностную копию (новый объект, но старые вложенные элементы). deepcopy() делает глубокую копию (всё новое).
import copy

lst1 = [[1, 2, 3], [4, 5, 6]]
lst2 = copy.copy(lst1)  # Поверхностная копия

lst2[0][0] = 99
print(lst1)  # [[99, 2, 3], [4, 5, 6]] ❌ Исходный список изменился!
Используем deepcopy() для полной независимой копии
lst3 = copy.deepcopy(lst1)
lst3[0][0] = 100
print(lst1)  # [[99, 2, 3], [4, 5, 6]] ✅ Не изменился!
Ставь 👍 и забирай 📚 Базу знаний

🤔 Что за функция wait()? wait() похожа на gather, но предоставляет более гибкий контроль, позволяя: - ждать завершения всех задач; - ждать первых завершённых; - получить информацию о выполненных и ожидающих задачах. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Короче, ищем менторов — Middle и Senior Python-разработчиков Ищем в ШОРТКАТ — менторскую платформу от команды разработчиков и
Короче, ищем менторов — Middle и Senior Python-разработчиков Ищем в ШОРТКАТ — менторскую платформу от команды разработчиков из бигтеха. Мы помогаем найти крутую работу, апнуть грейд или сменить стек. Что надо будет делать: проводить тестовые собесы → оценивать грейд → помогать разбираться в сложных темах. Что взамен: • От 40К за 5-7 часов работы в неделю • Доступ к обучению и комьюнити сильных менторов из Яндекс, Uber, VK, Сбер • Возможность выступать на эфирах, куда уже приходят 500+ питонистов, и стать заметнее на рынке Заполняй форму — свяжемся и расскажем подробности ➡️https://tally.so/r/mD602X Реклама. О рекламодателе.

Регистрируйтесь на Yandex Ecom Open Air 8 августа Море инсайтов для бизнеса, музыкальный open-air, лекции и нетворкинг. Участие бесплатно! Зарегистрироваться #реклама 18+ ecomfest.ru О рекламодателе

🤔 Объясни как происходит обработка HTTP запросов на Django Когда пользователь отправляет HTTP-запрос (например, открывает страницу сайта), Django проходит несколько этапов обработки, прежде чем вернуть ответ. 🚩Подробный разбор обработки HTTP-запроса в Django 🟠Запрос приходит в WSGI/ASGI сервер Когда клиент (браузер, API) отправляет запрос, его принимает WSGI/ASGI-сервер (Gunicorn, Daphne). Если проект синхронный → работает через WSGI (wsgi.py). Если проект асинхронный → через ASGI (asgi.py).
GET /hello/ HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0
🟠Django создаёт `HttpRequest` объект Django превращает HTTP-запрос в объект HttpRequest, который передаётся в view.
def my_view(request):
    print(request.method)  # 'GET'
    print(request.path)  # '/hello/'
    print(request.GET)  # {'name': 'Alice'}
🟠Middleware (промежуточная обработка) Прежде чем запрос дойдёт до view, Django проходит через мидлвари, которые могут: Проверять авторизацию (AuthenticationMiddleware). Защищать от CSRF (CsrfViewMiddleware). Перенаправлять запросы (CommonMiddleware).
MIDDLEWARE = [
    "django.middleware.security.SecurityMiddleware",
    "django.middleware.common.CommonMiddleware",
    "django.middleware.csrf.CsrfViewMiddleware",
    "django.contrib.sessions.middleware.SessionMiddleware",
    "django.contrib.auth.middleware.AuthenticationMiddleware",
]
🟠Поиск `view` в `urls.py` Django ищет, какая функция (view) должна обработать этот URL.
from django.urls import path
from myapp.views import hello_view

urlpatterns = [
    path("hello/", hello_view),  # Запрос "/hello/" попадёт в hello_view
]
🟠Выполнение `view` (контроллера) Когда Django находит подходящее представление (view), оно вызывается.
from django.http import HttpResponse

def hello_view(request):
    return HttpResponse("Привет, мир!")
🟠Формирование и обработка ответа Django берёт HttpResponse и передаёт его обратно через middleware (например, сжатие, защита, заголовки безопасности).
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 12

Привет, мир!
🟠WSGI/ASGI сервер отправляет ответ клиенту На последнем этапе WSGI/ASGI-сервер отправляет ответ обратно браузеру или API-клиенту. 🚩Краткая схема обработки запроса
Клиент (браузер) → WSGI/ASGI → Django Middleware → URL Dispatcher → View → Response → Клиент
Ставь 👍 и забирай 📚 Базу знаний

Аренда сервера с GPU от Cloud4Y Решайте задачи, требующие высокой вычислительной мощности от рендеринга и работы с 3D-графико
Аренда сервера с GPU от Cloud4Y Решайте задачи, требующие высокой вычислительной мощности от рендеринга и работы с 3D-графикой до глубокого обучения и VDI на базе серверов с видеокартами NVIDIA Tesla и RTX. Для чего подходит: •Машинное обучение и AI (TensorFlow, PyTorch, CUDA) •Рендеринг, видео и 3D-графика (Autodesk, Adobe, Sony Vegas и др.) •Виртуальные рабочие места с vGPU (VDI) •Высокопроизводительные расчёты (HPC) •Видеотрансляции, обработка Big Data Доступные GPU: • Tesla M60 / P100 / V100 • RTX 3070–4090 Готовые конфигурации: • от 6 vCPU, 64 GB RAM, 120 SSD • vGPU от 1 до 24 GB Почасовая оплата от 18,5 ₽/час Месячная аренда от 13 266 ₽ Дополнительно: - Поддержка RDP и Windows; - Backup на удалённую площадку; - Бесплатная миграция и тестирование; - vGPU-режим на терминальных серверах. Попробовать #реклама 16+ cloud4y.ru О рекламодателе

🤔 Что такое SSL и TLS? SSL (Secure Sockets Layer) и TLS (Transport Layer Security) — это криптографические протоколы, которые обеспечивают защищённую передачу данных по сети. SSL — это более старая версия, которая больше не используется из-за уязвимостей. TLS — это современный и надёжный протокол, который обеспечивает шифрование, целостность и аутентификацию при передаче данных. Именно благодаря TLS сайты работают по защищённому протоколу HTTPS. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Зачем нужны схемы в БД? Схема (schema) в базе данных — это логическая группировка объектов (таблиц, индексов, представлений и т. д.) внутри одной БД. 🚩Что такое схема в БД? Схема — это контейнер для объектов БД (таблиц, индексов, процедур).
База данных (company_db)
 ├── Схема: public (по умолчанию)
 │   ├── Таблица: employees
 │   ├── Таблица: departments
 ├── Схема: hr
 │   ├── Таблица: employees
 │   ├── Таблица: salaries
 ├── Схема: sales
 │   ├── Таблица: customers
 │   ├── Таблица: orders
🚩Как создавать и использовать схемы? Создание схемы (CREATE SCHEMA)
CREATE SCHEMA hr;  -- Создаём схему "hr"
Создание таблицы внутри схемы
CREATE TABLE hr.employees (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100),
    position VARCHAR(50)
);
Выбор схемы по умолчанию
SET search_path TO hr;
🚩Где полезны схемы? 🟠Разделение данных по модулям Если в БД хранятся разные области бизнеса (кадры, продажи, финансы), их можно разделить по схемам: - hr.employees, hr.salaries - sales.orders, sales.customers 🟠Разные версии одной БД Например, в PostgreSQL можно создать схему dev для тестов: - dev.users — тестовая версия таблицы - prod.users — продакшен-версия 🟠Безопасность и доступ пользователей Можно дать доступ к разным схемам разным пользователям:
GRANT USAGE ON SCHEMA hr TO hr_manager;
GRANT SELECT ON ALL TABLES IN SCHEMA hr TO hr_manager;
Ставь 👍 и забирай 📚 Базу знаний

Методичка: как сделать онлайн-встречи эффективнее Надоело ждать коллег, которые постоянно забывают о встречах, а отсутствие п
Методичка: как сделать онлайн-встречи эффективнее Надоело ждать коллег, которые постоянно забывают о встречах, а отсутствие повестки и потерянные договоренности мешают нормально работать? Команда МТС Линк собрала на 37 страницах полезные материалы, чек-листы и кейсы, которые помогают компаниям проводить эффективные совещания в онлайне с помощью сервиса Встречи. Из методички узнаете: - Как создать постоянную ссылку и подключаться на встречи в 2 клика, - Как делать заметки и работать с файлами, не переживая за качество связи и безопасность данных. - Как облегчает жизнь ИИ, который расшифровывает созвоны в текст и автоматически отправляет расшифровку на почту. Еще в методичке описаны 7 способов оценки текущей эффективности ваших онлайн-встреч. Получить гайд можно бесплатно на сайте. Скачать #реклама 16+ mts-link.ru О рекламодателе

🤔 В чём разница типов данных? Типы данных в Python делятся на: - Неизменяемые (immutable): int, float, str, tuple, frozenset. - Изменяемые (mutable): list, dict, set, bytearray. Изменяемые объекты могут быть модифицированы без изменения их идентификатора (id()), в то время как неизменяемые создают новый объект при любом изменении. Это влияет на поведение в функциях, при копировании, в кэшировании и в хешировании. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний