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

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

Ir al canal en Telegram

📈 Análisis del canal de Telegram Python | Вопросы собесов

El canal Python | Вопросы собесов (@python_easy_ru) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 13 106 suscriptores, ocupando la posición 9 745 en la categoría Tecnologías y Aplicaciones y el puesto 50 714 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 13 106 suscriptores.

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

  • Estado de verificación: No verificado
  • Tasa de interacción (ER): El promedio de interacción de la audiencia es 8.62%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 5.62% de reacciones respecto al total de suscriptores.
  • Alcance de las publicaciones: Cada publicación recibe en promedio 1 129 visualizaciones. En el primer día suele acumular 737 visualizaciones.
  • Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 4.
  • Intereses temáticos: El contenido se centra en temas clave como ставь, модуль, строка, docker, alice.

📝 Descripción y política de contenido

El autor describe el recurso como un espacio para expresar opiniones subjetivas:
Cайт: easyoffer.ru Реклама: @easyoffer_adv ВП: @easyoffer_vp Тесты t.me/+20tRfhrwPpM4NDQy Задачи t.me/+nsl4meWmhfQwNDVi Вакансии t.me/+cXGKkrOY2-w3ZTky

Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 10 junio, 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.

13 106
Suscriptores
-324 horas
-137 días
-5330 días
Archivo de publicaciones
1PS: Эффективное SEO-продвижение с результатами х8 Пройдите опрос и рассчитайте стоимость продвижения сайта с применением нов
1PS: Эффективное SEO-продвижение с результатами х8 Пройдите опрос и рассчитайте стоимость продвижения сайта с применением новых технологий. Полностью поменяли подход к SEO, чтобы вы увидели результат x8: Качественный трафик, гарантии в договоре, реклама в подарок! Узнать больше #реклама 1ps.ru О рекламодателе

🤔 Что такое mock? Это объект, который имитирует поведение реального объекта в контролируемом и предсказуемом виде. В контексте тестирования, особенно в Python, это используется для создания фиктивных объектов, которые замещают реальные компоненты системы во время выполнения тестов. 🚩Зачем нужен 🟠Изоляция тестов Позволяет тестировать компоненты системы независимо от других частей. 🟠Контроль над внешними зависимостями Можно моделировать ответы и поведение зависимостей, таких как базы данных или веб-сервисы. 🟠Ускорение тестов Тесты с mock-объектами выполняются быстрее, так как не требуют взаимодействия с реальными ресурсами. 🟠Тестирование ошибок Легко симулировать ошибки и исключения, которые сложно воспроизвести с реальными объектами. 🚩Основные возможности 🟠Создание mock-объектов Могут заменять любые объекты в коде. 🟠Настройка поведения Указание, какие значения должны возвращать mock-объекты. 🟠Отслеживание вызовов Возможность проверять, как и сколько раз были вызваны методы mock-объекта. 🟠Контекстные менеджеры и декораторы Упрощают замену объектов в тестах на mock. 🚩Пример использования Предположим, у нас есть функция, которая обращается к внешнему API:
import requests

def get_user_data(user_id):
    response = requests.get(f"https://api.example.com/users/{user_id}")
    return response.json()
Чтобы протестировать эту функцию без реальных запросов, можно использовать mock:
from unittest.mock import patch

@patch('requests.get')
def test_get_user_data(mock_get):
    mock_get.return_value.json.return_value = {"id": 1, "name": "John Doe"}
    
    result = get_user_data(1)
    
    assert result == {"id": 1, "name": "John Doe"}
    mock_get.assert_called_once_with("https://api.example.com/users/1")
🚩Основные методы и атрибуты 🟠return_value Устанавливает возвращаемое значение метода. 🟠side_effect Устанавливает последовательность возвращаемых значений или исключений. 🟠assert_called_with() Проверяет, что метод был вызван с определенными аргументами. 🟠assert_called_once_with() Проверяет, что метод был вызван ровно один раз с определенными аргументами. 🚩Пример с контекстным менеджером
import requests
from unittest.mock import patch

def get_status_code(url):
    response = requests.get(url)
    return response.status_code

def test_get_status_code():
    with patch('requests.get') as mock_get:
        mock_get.return_value.status_code = 200
        
        assert get_status_code("https://example.com") == 200
        mock_get.assert_called_once_with("https://example.com")
Ставь 👍 и забирай 📚 Базу знаний

Короче, ищем менторов — Middle и Senior Python-разработчиков Ищем в ШОРТКАТ — менторскую платформу от команды разработчиков и
Короче, ищем менторов — Middle и Senior Python-разработчиков Ищем в ШОРТКАТ — менторскую платформу от команды разработчиков из бигтеха. Мы помогаем найти крутую работу, апнуть грейд или сменить стек.  Что надо будет делать: проводить тестовые собесы → оценивать грейд → помогать разбираться в сложных темах. Что взамен: - От 40К за 5-7 часов работы в неделю - Доступ к обучению и комьюнити сильных менторов из Booking, Сбер, Oracle, Tinkoff - Возможность выступать на эфирах, куда уже приходят 500+ джавистов, и стать заметнее на рынке Заполняй форму — свяжемся и расскажем подробности ➡️ https://forms.gle/rFY9z9GKggqfgSS76 Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqvmeCGf

🤔 Зачем нужен метод super в классе? Метод super позволяет вызывать методы родительского класса в контексте текущего класса. Это удобно при переопределении методов для сохранения их базового поведения. Также super используется для инициализации атрибутов родительского класса. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Обучение на Frontend-разработчика. С нуля за 9 месяцев. На курсе вы получите все навыки, необходимые для старта в профессии Frontend-разработчика. Персональный наставник middle/senior уровня. 14 проектов, лайвкодинг, хакатоны, репетиции техсобеседования. Освоите JavaScript, React, TypeScript Официальный диплом и сертификат школы. Поддержка наставника по JS в течение 3-х месяцев после диплома. Гарантия трудоустройства. Если вы не устроитесь, вернём деньги. Это закреплено в договоре п. 6.14 С 9 по 30 ноября 2024 г. скидка 40% на все программы Result School Узнать больше #реклама 16+ result.school О рекламодателе

🤔 Что такое pytest? Это популярный фреймворк для тестирования на языке Python. Он используется для написания и выполнения тестов, чтобы гарантировать, что код работает правильно. 🚩Зачем нужен 🟠Проверка корректности кода Позволяет выявить ошибки и дефекты на ранних стадиях разработки 🟠Поддержка и рефакторинг Обеспечивает уверенность, что изменения в коде не приводят к новым ошибкам. 🟠Документация Тесты могут служить примером использования кода и его поведения. 🚩Как используется 🟠Написание тестов Тесты пишутся в виде функций, начинающихся с test_. 🟠Запуск тестов Тесты выполняются с помощью команды pytest в командной строке. 🟠Ассерты Используются стандартные утверждения (assert) для проверки условий. 🚩Основные возможности 🟠Автоматическое обнаружение тестов pytest автоматически находит тестовые функции, классы и файлы. 🟠Фикстуры: Позволяют определять подготовительный и завершающий код для тестов. 🟠Параметризация Позволяет запускать один и тот же тест с различными входными данными. 🟠Плагины Расширяют функциональность фреймворка, например, для генерации отчетов, интеграции с CI/CD системами. 🚩Пример теста с использованием
# test_sample.py
def test_addition():
    assert 1 + 1 == 2

def test_subtraction():
    assert 2 - 1 == 1
Запуск тестов:
pytest
🟠Фикстуры Фикстуры позволяют подготовить необходимые данные или состояния для тестов.
import pytest

@pytest.fixture
def sample_data():
    return {"key1": "value1", "key2": "value2"}

def test_sample_data(sample_data):
    assert sample_data["key1"] == "value1"
🟠Параметризация тестов Позволяет запускать один тест с разными наборами данных.
import pytest

@pytest.mark.parametrize("a, b, result", [
    (1, 2, 3),
    (2, 3, 5),
    (3, 5, 8)
])
def test_addition(a, b, result):
    assert a + b == result
Ставь 👍 и забирай 📚 Базу знаний

Прожарка резюме для Python-разработчиков в четверг Ребята из менторской программы ШОРТКАТ разберут на эфире реальные резюме и
Прожарка резюме для Python-разработчиков в четверг Ребята из менторской программы ШОРТКАТ разберут на эфире реальные резюме и подскажут, что улучшить, чтобы точно дойти до собеса. Когда: 28 ноября, в четверг, в 19:00 по мск Ревьюит резюме рекрутер с опытом работы в Яндексе и Т-Банке. ☑️ Если хотите закинуть своё резюме, подпишитесь на бота @shortcut_python_bot — резюме будут собирать там  ☑️ Если закидывать нечего, но хочется посмотреть со стороны — тоже подписывайтесь на бота @shortcut_python_bot. Там будет ссылка на трансляцию и запись после После эфира все получат памятку, как использовать ChatGPT для резюме. Ссылку пришлют, не поверите, тоже в боте @shortcut_python_bot  Короче, подпишитесь на бот, чтобы ничего не пропустить @shortcut_python_bot  Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqxRzP9H

🤔 Для чего нужен сериализатор? Сериализатор преобразует данные из одного формата в другой, например, из объектов в JSON или обратно. Он используется для передачи данных между системами, а также для хранения или передачи структурированных данных. В веб-разработке сериализаторы часто применяются для работы с API. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Помощь в трудоустройстве в IT-сфере! В России из-за дефицита айтишников запустили бесплатную программу по обучению IT-специал
+9
Помощь в трудоустройстве в IT-сфере! В России из-за дефицита айтишников запустили бесплатную программу по обучению IT-специалистов. Теперь любой желающий может попробовать себя в IT с полного нуля и начать обучение бесплатно! Узнайте про дальнейшее трудоустройство в ведущие IT-компании для восполнения кадрового дефицита. Для этого нужно: - Перейти по ссылке - Заполнить анкету и ответить на вопросы (занимает менее 3 минут) - На основании ваших ответов вы сразу узнаете, подходит ли вам сфера IT и сможете ли вы в ней работать Перейти на сайт #реклама 16+ urban-university.ru О рекламодателе

😎 База IT собеседований – твоё секретное оружие для успешного прохождения этапов отбора! Собеседования от реальных компаний: Сбер, Яндекс, ВТБ, Тинькофф, Озон, Wildberries и многие другие! 🏢 Мы собрали 230 собесов, чтобы ты мог подготовиться к интервью с уверенностью и успехом. 🎯 Присоединяйся к базе и прокачай свои шансы на успешное трудоустройство!

🤔 Что такое monkey patch? Monkey patching (буквально "заплатка обезьяны") в программировании — это техника, позволяющая динамически изменять или расширять код во время выполнения программы. В Python это означает изменение или дополнение методов, атрибутов или классов в модуле или библиотеке, даже если у вас нет прямого доступа к исходному коду. 🚩Зачем нужен monkey patching 🟠Исправление ошибок Быстрое исправление ошибок в сторонних библиотеках без необходимости изменения их исходного кода. 🟠Добавление функциональности Расширение возможностей сторонних библиотек. 🟠Изменение поведения Замена существующих функций или методов на свои собственные для изменения поведения программы. 🚩Пример monkey patching
import time

# Оригинальная функция
def original_sleep(seconds):
    time.sleep(seconds)
    print(f"Slept for {seconds} seconds")

# Monkey patching функции sleep
def patched_sleep(seconds):
    print(f"Patched! Should have slept for {seconds} seconds")

# Применение monkey patching
time.sleep = patched_sleep

# Примеры использования
time.sleep(3)  # Вывод: Patched! Should have slept for 3 seconds
🚩Недостатки Неявные изменения Изменения могут быть неочевидны другим разработчикам, что может привести к путанице и затруднениям в отладке. Совместимость Monkey patching может вызвать проблемы совместимости при обновлении библиотек или модулей. ➖Непредсказуемость Изменения в поведении программы могут быть трудно предсказуемыми и отлаживаемыми. Ставь 👍 и забирай 📚 Базу знаний

🤔 Что знаешь про singleton? Singleton — это паттерн проектирования, который гарантирует создание только одного экземпляра класса. Его применяют для управления глобальными ресурсами, такими как настройки или подключение к базе данных. Однако он критикуется за сложность тестирования и возможные нарушения принципов SOLID. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Большая кладовая онлайн-курсов Stepik – незаменимый спутник для тех, кто работает удаленно и любит путешествовать, так как помогает учиться в любой точке мира. Это отличная альтернатива чтению книги и просмотру фильма: позволит вам скоротать время в дороге, осваивая полезный навык или подтягивая иностранный язык, особенно удобно это делать в мобильном приложении. У Stepik есть свой телеграм-канал, в котором они рассказывают об авторских курсах (как платных, так и бесплатных), а также публикует полезные статьи и ссылки. У них есть такие подборки курсов: - Разработка на Python - Дизайн и графика - Тестирование ПО - Работа с данными Подпишитесь на stepik_courses и найдите интересующий курс для себя! Подписаться #реклама 16+ О рекламодателе

🤔 Как еще мы можем гарантировать закрытие файла, если не через with? Использование оператора with является рекомендованным способом гарантированного закрытия файла, так как он автоматически управляет открытием и закрытием ресурса. Однако, если по какой-то причине вы не можете использовать with, можно гарантировать закрытие файла другими способами, такими как использование явного вызова метода close() в блоке finally. 🟠С использованием `try-finally` Открытие и закрытие файла с использованием блока try-finally гарантирует, что файл будет закрыт, даже если в блоке try произойдет исключение. В этом примере файл открывается в блоке try, и его содержимое читается. Независимо от того, происходит ли исключение в блоке try или нет, блок finally будет выполнен, и файл будет закрыт.
file = None
try:
    file = open('example.txt', 'r')
    content = file.read()
    print(content)
finally:
    if file:
        file.close()
🟠С использованием контекстного менеджера Вы можете создать свой собственный контекстный менеджер, используя классы, который будет управлять открытием и закрытием файла. Это более сложный подход, но он полезен для понимания внутренних механизмов.
class FileManager:
    def __init__(self, filename, mode):
        self.filename = filename
        self.mode = mode
        self.file = None
    
    def __enter__(self):
        self.file = open(self.filename, self.mode)
        return self.file
    
    def __exit__(self, exc_type, exc_value, traceback):
        if self.file:
            self.file.close()

# Примеры использования
file_manager = FileManager('example.txt', 'r')
try:
    file = file_manager.__enter__()
    content = file.read()
    print(content)
finally:
    file_manager.__exit__(None, None, None)
🟠С использованием декоратора Еще один способ — использование декоратора для автоматического управления открытием и закрытием файла.
from functools import wraps

def open_file(filename, mode):
    def decorator(func):
        @wraps(func)
        def wrapper(*args, **kwargs):
            file = open(filename, mode)
            try:
                result = func(file, *args, **kwargs)
            finally:
                file.close()
            return result
        return wrapper
    return decorator

@open_file('example.txt', 'r')
def read_file(f):
    return f.read()

# Примеры использования
print(read_file())
🟠С использованием менеджера контекста из `contextlib` Модуль contextlib предоставляет полезные утилиты для создания контекстных менеджеров. Одной из таких утилит является contextlib.contextmanager, которая позволяет создавать контекстные менеджеры с помощью генераторов.
from contextlib import contextmanager

@contextmanager
def open_file(filename, mode):
    file = open(filename, mode)
    try:
        yield file
    finally:
        file.close()

# Примеры использования
file_manager = open_file('example.txt', 'r')
file = file_manager.__enter__()
try:
    content = file.read()
    print(content)
finally:
    file_manager.__exit__(None, None, None)
Ставь 👍 и забирай 📚 Базу знаний

🤔 Что знаешь про ORM? ORM (Object-Relational Mapping) — это технология, которая позволяет работать с реляционными базами данных через объектно-ориентированные модели. Она автоматически преобразует объекты в SQL-запросы и обратно, упрощая работу с данными. Популярные ORM включают Hibernate, SQLAlchemy и Django ORM. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Сотрудничество с дизайнерами и архитекторами. LaRedoute Приглашаем дизайнеров интерьера и архитекторов к сотрудничеству. Даем
Сотрудничество с дизайнерами и архитекторами. LaRedoute Приглашаем дизайнеров интерьера и архитекторов к сотрудничеству. Даем скидку до 35% на товары и агентское вознаграждение до 10%.🏠 Скидки для ваших клиентов 💰 Поможем с подготовкой КП 🗒 Получить предложение #реклама laredoute.ru О рекламодателе

🤔 Геттеры и сеттеры, property атрибуты? Используются для контроля доступа к атрибутам класса. Они позволяют вам добавлять логику при получении (геттер) и изменении (сеттер) значений атрибутов. В Python эти методы можно реализовать с помощью функции property, которая упрощает создание геттеров и сеттеров, делая код более читабельным и идиоматичным. 🚩Геттеры и сеттеры Геттер — это метод, который возвращает значение атрибута, а сеттер — метод, который устанавливает значение атрибута. Пример без использования property
class MyClass:
    def __init__(self, value):
        self._value = value  # Приватный атрибут

    def get_value(self):
        return self._value

    def set_value(self, value):
        if value >= 0:
            self._value = value
        else:
            raise ValueError("Value must be non-negative")

# Примеры использования
obj = MyClass(10)
print(obj.get_value())  # Вывод: 10

obj.set_value(20)
print(obj.get_value())  # Вывод: 20

try:
    obj.set_value(-10)  # Пример вызова исключения
except ValueError as e:
    print(e)  # Вывод: Value must be non-negative
🚩`property` атрибуты Можно использовать функцию property, чтобы избежать явных вызовов геттеров и сеттеров и сделать код более естественным и читаемым. property позволяет определить методы доступа как атрибуты. Пример с использованием property
class MyClass:
    def __init__(self, value):
        self._value = value

    @property
    def value(self):
        return self._value

    @value.setter
    def value(self, value):
        if value >= 0:
            self._value = value
        else:
            raise ValueError("Value must be non-negative")

# Примеры использования
obj = MyClass(10)
print(obj.value)  # Вывод: 10 (используется геттер)

obj.value = 20
print(obj.value)  # Вывод: 20 (используется сеттер)

try:
    obj.value = -10  # Пример вызова исключения через сеттер
except ValueError as e:
    print(e)  # Вывод: Value must be non-negative
🚩Плюсы Инкапсуляция Позволяет скрыть реализацию и управлять доступом к данным через методы, что делает код более безопасным и гибким. ➕Читабельность Код выглядит как работа с обычными атрибутами, а не методами, что упрощает его понимание. ➕Контроль Легко добавить валидацию или логику при установке или получении значений. 🚩Полный пример с геттером, сеттером и делетером Также можно использовать декоратор @property для создания делетера (удаления атрибута).
class MyClass:
    def __init__(self, value):
        self._value = value

    @property
    def value(self):
        return self._value

    @value.setter
    def value(self, value):
        if value >= 0:
            self._value = value
        else:
            raise ValueError("Value must be non-negative")

    @value.deleter
    def value(self):
        del self._value

# Примеры использования
obj = MyClass(10)
print(obj.value)  # Вывод: 10

obj.value = 20
print(obj.value)  # Вывод: 20

del obj.value
try:
    print(obj.value)  # Ошибка, так как атрибут удален
except AttributeError as e:
    print(e)  # Вывод: 'MyClass' object has no attribute '_value'
Ставь 👍 и забирай 📚 Базу знаний

🤔 Какие основные HTTP методы знаешь? Основные методы: GET для получения данных, POST для отправки данных, PUT для обновления или создания ресурса, DELETE для удаления. Также используются PATCH для частичного обновления, HEAD для получения заголовков и OPTIONS для определения доступных методов. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Скидка 15% на корпоративное такси. Яндекс Go для бизнеса Скидка 15% на первые три месяца. Возврат НДС до 20% на все рабочие п
Скидка 15% на корпоративное такси. Яндекс Go для бизнеса Скидка 15% на первые три месяца. Возврат НДС до 20% на все рабочие поездки. Контроль маршрутов и расходов в одном кабинете. Быстрая подача авто от 5 минут. Удобное онлайн-подключение без визита в офис. Узнать больше #реклама business.go.yandex О рекламодателе Реклама на Яндексе

🤔 Чем отличается атрибут класса от атрибута объекта? Различаются по своему назначению и области видимости. Понимание этих различий важно для правильного проектирования классов и управления данными. 🚩Атрибуты класса Являются общими для всех экземпляров класса. Они определяются внутри класса, но вне любого метода. Эти атрибуты могут быть доступны и изменены как через сам класс, так и через любой его экземпляр.
class MyClass:
    class_attribute = 42  # Атрибут класса

# Доступ к атрибуту класса
print(MyClass.class_attribute)  # Вывод: 42

# Создание экземпляров
obj1 = MyClass()
obj2 = MyClass()

# Доступ к атрибуту класса через экземпляры
print(obj1.class_attribute)  # Вывод: 42
print(obj2.class_attribute)  # Вывод: 42

# Изменение атрибута класса
MyClass.class_attribute = 100
print(obj1.class_attribute)  # Вывод: 100
print(obj2.class_attribute)  # Вывод: 100
🚩Атрибуты объекта (экземпляра) Уникальны для каждого экземпляра класса. Они определяются внутри методов класса, обычно в методе __init__, и относятся к конкретному экземпляру.
class MyClass:
    def __init__(self, value):
        self.instance_attribute = value  # Атрибут объекта

# Создание экземпляров
obj1 = MyClass(10)
obj2 = MyClass(20)

# Доступ к атрибутам объекта
print(obj1.instance_attribute)  # Вывод: 10
print(obj2.instance_attribute)  # Вывод: 20

# Изменение атрибутов объекта
obj1.instance_attribute = 15
print(obj1.instance_attribute)  # Вывод: 15
print(obj2.instance_attribute)  # Вывод: 20
🚩Ключевые различия 🟠Область видимости и доступ Атрибуты класса видны и доступны для всех экземпляров класса. Атрибуты объекта видны и доступны только для конкретного экземпляра. 🟠Инициализация и использование Атрибуты класса инициализируются при определении класса и общие для всех экземпляров. Атрибуты объекта инициализируются в методе __init__ и уникальны для каждого экземпляра. 🟠Изменение значений Изменение атрибута класса через класс изменяет его для всех экземпляров. Изменение атрибута объекта влияет только на конкретный экземпляр. 🚩Пример различий
class MyClass:
    class_attribute = 'class value'

    def __init__(self, value):
        self.instance_attribute = value

# Создание экземпляров
obj1 = MyClass('instance value 1')
obj2 = MyClass('instance value 2')

# Доступ к атрибутам класса и объекта
print(MyClass.class_attribute)      # Вывод: class value
print(obj1.class_attribute)         # Вывод: class value
print(obj2.class_attribute)         # Вывод: class value

print(obj1.instance_attribute)      # Вывод: instance value 1
print(obj2.instance_attribute)      # Вывод: instance value 2

# Изменение атрибута класса через класс
MyClass.class_attribute = 'new class value'
print(obj1.class_attribute)         # Вывод: new class value
print(obj2.class_attribute)         # Вывод: new class value

# Изменение атрибута объекта
obj1.instance_attribute = 'new instance value 1'
print(obj1.instance_attribute)      # Вывод: new instance value 1
print(obj2.instance_attribute)      # Вывод: instance value 2
Ставь 👍 и забирай 📚 Базу знаний