Python | Вопросы собесов
前往频道在 Telegram
Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads
显示更多📈 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 天
帖子存档
12 637
Курс "Дизайн карточек для WB и Ozon". Бесплатно и с нуля
Дизайнер карточек для маркетплейсов — востребованная и доходная профессия 💰
Научись ей бесплатно!
- Бесплатный доступ
- Разбор ДЗ от наставника
- Мощные кейсы в портфолио
Узнать больше
#реклама 16+
yudaevschool24.online
О рекламодателе
12 637
🤔 Что делать, если тестируемая функция использует удалённое подключение к внешним сервисам, которое иногда выдает ошибку таймаута, 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") для имитации общей ошибки запроса. Проверяем, что функция возвращает ожидаемое значение при общей ошибке запроса.
Ставь 👍 и забирай 📚 Базу знаний12 637
🤔 Чем отличаются декораторы classmethod и staticmethod?
classmethod делает метод привязанным к классу, а не к экземпляру, и первым аргументом передаёт сам класс (cls). staticmethod не привязан ни к классу, ни к экземпляру, и ведёт себя как обычная функция внутри класса. Оба декоратора используются для разделения логики методов в зависимости от их назначения.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
12 637
Скидка 50% на менеджер паролей Пассворк!
С 29 ноября по 4 декабря Пассворк проводит акцию «Чёрная пятница». В эти дни будет действовать скидка 50% на покупку лицензии, продление подписки, увеличение количества пользователей и переход на расширенную лицензию.
Пассворк упрощает совместную работу с корпоративными паролями, идеально вписывается в политику импортозамещения и подходит для корпоративного сектора и госструктур — его уже используют сотни крупнейших компаний!
Почему выбирают Пассворк?
— Включён в единый реестр российского ПО;
— Устанавливается на сервер вашей компании;
— Все данные шифруются алгоритмом ГОСТ или AES-256;
— Понятный и удобный интерфейс + эффективный функционал.
Успейте приобрести Пассворк с 50% скидкой!
Перейти на сайт
#реклама 16+
passwork.ru
О рекламодателе
12 637
🤔 Пирамида тестирования?
Это концепция, предложенная Майком Коэном (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)
Расположение: Вершина пирамиды.
Цель: Тестирование всей системы целиком на соответствие требованиям.
Количество: Наименьшее количество тестов.
Особенности: Включают тестирование пользовательских сценариев, проверку функциональных и нефункциональных требований, самые сложные и медленные.
🚩Зачем нужна
🟠Оптимизация затрат на тестирование
Юнит-тесты дешевле в написании и выполнении, чем интеграционные и системные тесты.
🟠Снижение времени выполнения тестов
Большое количество юнит-тестов позволяет быстро находить ошибки на ранних стадиях разработки.
🟠Поддержание качества кода
Юнит-тесты способствуют улучшению дизайна кода и повышают его тестируемость.
🟠Снижение риска регрессий
Хорошее покрытие юнит-тестами позволяет быстро обнаруживать и исправлять ошибки, возникающие после внесения изменений в код.
Ставь 👍 и забирай 📚 Базу знаний12 637
🤔 Как работает middleware?
Middleware — это промежуточный слой, обрабатывающий запросы и ответы между клиентом и сервером. Он может изменять запросы, добавлять данные, проверять авторизацию или логировать действия. Middleware используется для модульности и управления логикой обработки запросов.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
12 637
Проектирование геотехнических сооружений в России
Закроем недостающие компетенции в области подземного проектирования. Опыт работы 12 лет. Выполнили более 180 объектов.
Получить предложение
#реклама
geospt.ru
О рекламодателе
12 637
🤔 Какие бывают виды тестов?
Существует несколько видов тестов, каждый из которых имеет свою цель и особенности.
🚩Виды
🟠Юнит-тесты (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)
Проверка нефункциональных аспектов системы, таких как производительность, безопасность, удобство использования и др.
🚩Основные виды:
🟠Тесты производительности
Измеряют скорость выполнения, пропускную способность и время отклика системы.
🟠Тесты безопасности
Оценивают защищенность системы от угроз и атак.
🟠Тесты удобства использования
Проверяют удобство и интуитивность пользовательского интерфейса.
Ставь 👍 и забирай 📚 Базу знаний12 637
🤔 Что такое абстрактные классы?
Абстрактные классы — это классы, которые нельзя инстанцировать, но которые могут содержать как реализацию, так и абстрактные методы, определяемые в подклассах. Они служат основой для создания классов с обязательной реализацией определённых методов. Это полезно для создания архитектуры приложений.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
12 637
1PS: Эффективное SEO-продвижение с результатами х8
Пройдите опрос и рассчитайте стоимость продвижения сайта с применением новых технологий.
Полностью поменяли подход к SEO, чтобы вы увидели результат x8: Качественный трафик, гарантии в договоре, реклама в подарок!
Узнать больше
#реклама
1ps.ru
О рекламодателе
12 637
🤔 Что такое 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")
Ставь 👍 и забирай 📚 Базу знаний12 637
Короче, ищем менторов — Middle и Senior Python-разработчиков
Ищем в ШОРТКАТ — менторскую платформу от команды разработчиков из бигтеха. Мы помогаем найти крутую работу, апнуть грейд или сменить стек.
Что надо будет делать: проводить тестовые собесы → оценивать грейд → помогать разбираться в сложных темах.
Что взамен:
- От 40К за 5-7 часов работы в неделю
- Доступ к обучению и комьюнити сильных менторов из Booking, Сбер, Oracle, Tinkoff
- Возможность выступать на эфирах, куда уже приходят 500+ джавистов, и стать заметнее на рынке
Заполняй форму — свяжемся и расскажем подробности ➡️ https://forms.gle/rFY9z9GKggqfgSS76
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqvmeCGf
12 637
🤔 Зачем нужен метод super в классе?
Метод super позволяет вызывать методы родительского класса в контексте текущего класса. Это удобно при переопределении методов для сохранения их базового поведения. Также super используется для инициализации атрибутов родительского класса.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
12 637
Обучение на Frontend-разработчика. С нуля за 9 месяцев.
На курсе вы получите все навыки, необходимые для старта в профессии Frontend-разработчика.
Персональный наставник middle/senior уровня.
14 проектов, лайвкодинг, хакатоны, репетиции техсобеседования.
Освоите JavaScript, React, TypeScript
Официальный диплом и сертификат школы.
Поддержка наставника по JS в течение 3-х месяцев после диплома.
Гарантия трудоустройства. Если вы не устроитесь, вернём деньги. Это закреплено в договоре п. 6.14
С 9 по 30 ноября 2024 г. скидка 40% на все программы Result School
Узнать больше
#реклама 16+
result.school
О рекламодателе
12 637
🤔 Что такое 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
Ставь 👍 и забирай 📚 Базу знаний12 637
Прожарка резюме для Python-разработчиков в четверг
Ребята из менторской программы ШОРТКАТ разберут на эфире реальные резюме и подскажут, что улучшить, чтобы точно дойти до собеса.
Когда: 28 ноября, в четверг, в 19:00 по мск
Ревьюит резюме рекрутер с опытом работы в Яндексе и Т-Банке.
☑️ Если хотите закинуть своё резюме, подпишитесь на бота @shortcut_python_bot — резюме будут собирать там
☑️ Если закидывать нечего, но хочется посмотреть со стороны — тоже подписывайтесь на бота @shortcut_python_bot. Там будет ссылка на трансляцию и запись после
После эфира все получат памятку, как использовать ChatGPT для резюме. Ссылку пришлют, не поверите, тоже в боте @shortcut_python_bot
Короче, подпишитесь на бот, чтобы ничего не пропустить @shortcut_python_bot
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqxRzP9H
12 637
🤔 Для чего нужен сериализатор?
Сериализатор преобразует данные из одного формата в другой, например, из объектов в JSON или обратно. Он используется для передачи данных между системами, а также для хранения или передачи структурированных данных. В веб-разработке сериализаторы часто применяются для работы с API.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
12 637
+9
Помощь в трудоустройстве в IT-сфере!
В России из-за дефицита айтишников запустили бесплатную программу по обучению IT-специалистов. Теперь любой желающий может попробовать себя в IT с полного нуля и начать обучение бесплатно!
Узнайте про дальнейшее трудоустройство в ведущие IT-компании для восполнения кадрового дефицита.
Для этого нужно:
- Перейти по ссылке
- Заполнить анкету и ответить на вопросы (занимает менее 3 минут)
- На основании ваших ответов вы сразу узнаете, подходит ли вам сфера IT и сможете ли вы в ней работать
Перейти на сайт
#реклама 16+
urban-university.ru
О рекламодателе
12 637
😎 База IT собеседований – твоё секретное оружие для успешного прохождения этапов отбора! Собеседования от реальных компаний: Сбер, Яндекс, ВТБ, Тинькофф, Озон, Wildberries и многие другие! 🏢 Мы собрали 230 собесов, чтобы ты мог подготовиться к интервью с уверенностью и успехом.
🎯 Присоединяйся к базе и прокачай свои шансы на успешное трудоустройство!
12 637
🤔 Что такое 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 может вызвать проблемы совместимости при обновлении библиотек или модулей.
➖Непредсказуемость
Изменения в поведении программы могут быть трудно предсказуемыми и отлаживаемыми.
Ставь 👍 и забирай 📚 Базу знаний