ru
Feedback

Не попадитесь на канал ботавода! Telemetrio находит и помечает такие каналы 👉 Хотите видеть метку — оформите подписку

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

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

Открыть в Telegram

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

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

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

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

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

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

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

Автор описывает ресурс как площадку для выражения субъективного мнения:
“Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads”

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

12 635
Подписчики
Нет данных24 часа
-307 дней
-10730 дней
Архив постов
Курс "Дизайн карточек для WB и Ozon". Бесплатно и с нуля Дизайнер карточек для маркетплейсов — востребованная и доходная проф
Курс "Дизайн карточек для WB и Ozon". Бесплатно и с нуля Дизайнер карточек для маркетплейсов — востребованная и доходная профессия 💰 Научись ей бесплатно! - Бесплатный доступ - Разбор ДЗ от наставника - Мощные кейсы в портфолио Узнать больше #реклама 16+ yudaevschool24.online О рекламодателе

🤔 Что делать, если тестируемая функция использует удалённое подключение к внешним сервисам, которое иногда выдает ошибку таймаута, 404 и им подобные? Такие ситуации можно обработать и протестировать несколькими способами. Один из наиболее распространенных подходов — использование mock-объектов для имитации поведения внешних сервисов. Это позволяет изолировать тестируемую функцию и контролировать ее взаимодействие с внешними сервисами. 🚩Шаги для решения проблемы 1⃣Использование библиотеки `unittest.mock` для создания mock-объектов С помощью библиотеки unittest.mock можно подменить вызовы к внешним сервисам и задать их поведение, включая ошибки и исключения. 2⃣Обработка исключений в тестируемой функции В тестируемой функции следует предусмотреть обработку возможных ошибок, таких как таймауты и HTTP-статусы (например, 404), чтобы она корректно реагировала на эти ситуации. Предположим, у нас есть функция, которая запрашивает данные с удаленного сервиса
import requests

def fetch_data_from_api(url):
    try:
        response = requests.get(url, timeout=5)
        response.raise_for_status()
        return response.json()
    except requests.exceptions.Timeout:
        return {"error": "Timeout"}
    except requests.exceptions.HTTPError as http_err:
        return {"error": f"HTTP error: {http_err.response.status_code}"}
    except requests.exceptions.RequestException as err:
        return {"error": f"Request error: {err}"}
🚩Тестирование с использованием `unittest.mock` Установка поведения для mock-объекта Создадим тесты, которые подменяют вызов requests.get и задают различные сценарии ошибок.
from unittest.mock import patch
import requests
import pytest

def test_fetch_data_timeout():
    with patch('requests.get') as mock_get:
        mock_get.side_effect = requests.exceptions.Timeout
        result = fetch_data_from_api("https://example.com/data")
        assert result == {"error": "Timeout"}

def test_fetch_data_404():
    with patch('requests.get') as mock_get:
        mock_response = mock_get.return_value
        mock_response.raise_for_status.side_effect = requests.exceptions.HTTPError(response=mock_response)
        mock_response.status_code = 404
        result = fetch_data_from_api("https://example.com/data")
        assert result == {"error": "HTTP error: 404"}

def test_fetch_data_request_exception():
    with patch('requests.get') as mock_get:
        mock_get.side_effect = requests.exceptions.RequestException("Connection error")
        result = fetch_data_from_api("https://example.com/data")
        assert result == {"error": "Request error: Connection error"}
1⃣Тест на таймаут Используем mock_get.side_effect = requests.exceptions.Timeout для имитации ошибки таймаута. Проверяем, что функция возвращает ожидаемое значение при таймауте. 2⃣Тест на HTTP ошибку 404 Устанавливаем mock_response.raise_for_status.side_effect = requests.exceptions.HTTPError(response=mock_response) для имитации HTTP ошибки. Устанавливаем код статуса mock_response.status_code = 404. Проверяем, что функция возвращает ожидаемое значение при HTTP ошибке 404. 3⃣Тест на общую ошибку запроса Используем mock_get.side_effect = requests.exceptions.RequestException("Connection error") для имитации общей ошибки запроса. Проверяем, что функция возвращает ожидаемое значение при общей ошибке запроса. Ставь 👍 и забирай 📚 Базу знаний

🤔 Чем отличаются декораторы classmethod и staticmethod? classmethod делает метод привязанным к классу, а не к экземпляру, и первым аргументом передаёт сам класс (cls). staticmethod не привязан ни к классу, ни к экземпляру, и ведёт себя как обычная функция внутри класса. Оба декоратора используются для разделения логики методов в зависимости от их назначения. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Скидка 50% на менеджер паролей Пассворк! С 29 ноября по 4 декабря Пассворк проводит акцию «Чёрная пятница». В эти дни будет д
Скидка 50% на менеджер паролей Пассворк! С 29 ноября по 4 декабря Пассворк проводит акцию «Чёрная пятница». В эти дни будет действовать скидка 50% на покупку лицензии, продление подписки, увеличение количества пользователей и переход на расширенную лицензию. Пассворк упрощает совместную работу с корпоративными паролями, идеально вписывается в политику импортозамещения и подходит для корпоративного сектора и госструктур — его уже используют сотни крупнейших компаний! Почему выбирают Пассворк? — Включён в единый реестр российского ПО; — Устанавливается на сервер вашей компании; — Все данные шифруются алгоритмом ГОСТ или AES-256; — Понятный и удобный интерфейс + эффективный функционал. Успейте приобрести Пассворк с 50% скидкой! Перейти на сайт #реклама 16+ passwork.ru О рекламодателе

🤔 Пирамида тестирования? Это концепция, предложенная Майком Коэном (Mike Cohn), которая описывает оптимальное соотношение разных видов тестов для обеспечения качественного программного обеспечения. Пирамида тестирования визуально представлена в виде треугольника, где каждый уровень соответствует определённому виду тестов, а ширина уровня отражает рекомендуемое количество тестов этого вида. 🚩Уровни пирамиды тестирования 🟠Юнит-тесты (Unit Tests) Расположение: Основание пирамиды. Цель: Тестирование отдельных функций или методов в изоляции. Количество: Наибольшее количество тестов. Особенности: Высокая скорость выполнения, низкая стоимость написания и поддержки.
def add(a, b):
return a + b

def test_add():
assert add(1, 2) == 3
🟠Интеграционные тесты (Integration Tests) Расположение: Средний уровень пирамиды. Цель: Тестирование взаимодействия между различными модулями или компонентами. Количество: Меньше, чем юнит-тестов, но больше, чем системных тестов. Особенности: Проверка интерфейсов и взаимодействия между модулями, более сложные и медленные, чем юнит-тесты.
def fetch_data_from_api():
response = requests.get('https://api.example.com/data')
return response.json()

def test_fetch_data_from_api():
data = fetch_data_from_api()
assert 'key' in data
🟠Системные тесты (System Tests) Расположение: Вершина пирамиды. Цель: Тестирование всей системы целиком на соответствие требованиям. Количество: Наименьшее количество тестов. Особенности: Включают тестирование пользовательских сценариев, проверку функциональных и нефункциональных требований, самые сложные и медленные. 🚩Зачем нужна 🟠Оптимизация затрат на тестирование Юнит-тесты дешевле в написании и выполнении, чем интеграционные и системные тесты. 🟠Снижение времени выполнения тестов Большое количество юнит-тестов позволяет быстро находить ошибки на ранних стадиях разработки. 🟠Поддержание качества кода Юнит-тесты способствуют улучшению дизайна кода и повышают его тестируемость. 🟠Снижение риска регрессий Хорошее покрытие юнит-тестами позволяет быстро обнаруживать и исправлять ошибки, возникающие после внесения изменений в код. Ставь 👍 и забирай 📚 Базу знаний

🤔 Как работает middleware? Middleware — это промежуточный слой, обрабатывающий запросы и ответы между клиентом и сервером. Он может изменять запросы, добавлять данные, проверять авторизацию или логировать действия. Middleware используется для модульности и управления логикой обработки запросов. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Проектирование геотехнических сооружений в России Закроем недостающие компетенции в области подземного проектирования. Опыт работы 12 лет. Выполнили более 180 объектов. Получить предложение #реклама geospt.ru О рекламодателе

🤔 Какие бывают виды тестов? Существует несколько видов тестов, каждый из которых имеет свою цель и особенности. 🚩Виды 🟠Юнит-тесты (Unit Tests) Проверка работы отдельных модулей или функций в изоляции от других частей системы. Ориентированы на минимальные части кода (функции, методы, классы). Высокая скорость выполнения. Простота написания и отладки. Обычно пишутся разработчиками.
def add(a, b):
    return a + b

def test_add():
    assert add(1, 2) == 3
🟠Интеграционные тесты (Integration Tests) Проверка взаимодействия между различными модулями или компонентами системы. Тестируют комбинации модулей и их взаимодействие. Более сложные и медленные по сравнению с юнит-тестами. Могут выявить проблемы в интерфейсах между модулями.
def fetch_data_from_api():
    response = requests.get('https://api.example.com/data')
    return response.json()

def test_fetch_data_from_api():
    data = fetch_data_from_api()
    assert 'key' in data
🟠Системные тесты (System Tests) Проверка всей системы целиком на соответствие требованиям. Тестируют систему в рабочей среде. Включают проверку всех функциональных и нефункциональных требований. Могут включать пользовательские сценарии. Тестирование веб-приложения на основе реальных пользовательских сценариев, включая проверку интерфейса, баз данных и API. 🟠Приемочные тесты (Acceptance Tests) Проверка соответствия системы требованиям и ожиданиям заказчика или конечного пользователя. Часто выполняются вместе с заказчиком или пользователем. Фокусируются на бизнес-требованиях и пользовательских сценариях. Успешное прохождение приемочных тестов является критерием готовности системы к выпуску. Тестирование нового функционала с участием конечных пользователей для проверки его удобства и соответствия их ожиданиям. 🟠Регрессионные тесты (Regression Tests) Убедиться, что изменения в коде не вызвали новых ошибок в уже работающем функционале. Выполняются после внесения изменений в код. Обычно автоматизируются и включают повторное выполнение всех или части существующих тестов. Повторное выполнение всех юнит-тестов и интеграционных тестов после рефакторинга кода. 🟠Нефункциональные тесты (Non-functional Tests) Проверка нефункциональных аспектов системы, таких как производительность, безопасность, удобство использования и др. 🚩Основные виды: 🟠Тесты производительности Измеряют скорость выполнения, пропускную способность и время отклика системы. 🟠Тесты безопасности Оценивают защищенность системы от угроз и атак. 🟠Тесты удобства использования Проверяют удобство и интуитивность пользовательского интерфейса. Ставь 👍 и забирай 📚 Базу знаний

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

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 может вызвать проблемы совместимости при обновлении библиотек или модулей. ➖Непредсказуемость Изменения в поведении программы могут быть трудно предсказуемыми и отлаживаемыми. Ставь 👍 и забирай 📚 Базу знаний