Python вопросы с собеседований
Вопросы с собеседований по Python @workakkk - админ @machinelearning_interview - вопросы с собесдований по Ml @pro_python_code - Python @data_analysis_ml - анализ данных на Python @itchannels_telegram - 🔥 главное в ит РКН: clck.ru/3FmrFd
Больше📈 Аналитический обзор Telegram-канала Python вопросы с собеседований
Канал Python вопросы с собеседований (@python_job_interview) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 24 822 подписчиков, занимая 5 258 место в категории Технологии и приложения и 26 472 место в регионе Россия.
📊 Показатели аудитории и динамика
С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 24 822 подписчиков.
Согласно последним данным от 25 августа, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -44, а за последние 24 часа — 0, при этом общий охват остаётся высоким.
- Статус верификации: Не верифицирован
- Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 6.01%. В первые 24 часа после публикации контент обычно набирает 2.76% реакций от общего числа подписчиков.
- Охват публикаций: В среднем каждый пост получает 1 492 просмотров. В течение первых суток публикация набирает 684 просмотров.
- Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 6.
- Тематические интересы: Контент сосредоточен на ключевых темах, таких как github, api, собеседование, git, docker.
📝 Описание и контентная политика
Автор описывает ресурс как площадку для выражения субъективного мнения:
“Вопросы с собеседований по Python
@workakkk - админ
@machinelearning_interview - вопросы с собесдований по Ml
@pro_python_code - Python
@data_analysis_ml - анализ данных на Python
@itchannels_telegram - 🔥 главное в ит
РКН: clck.ru/3FmrFd”
Благодаря высокой частоте обновлений (последние данные получены 30 августа, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.
def test_system_echo(capfd):
os.system('echo "hello"')
captured = capfd.readouterr()
assert captured.out == "hello\n"
Capfdbinary — тоже работает со стандартным выводом и ошибками, но возвращает именованный кортеж, где сообщения из stderr и stdout представлены в виде байтовых строк.
def test_system_echo(capfdbinary):
os.system('echo "hello"')
captured = capfdbinary.readouterr()
assert captured.out == b"hello\n"
Capsys — фикстура для работы с потоками для стандартного вывода и вывода ошибок на уровне python-кода. Захватывает sys.stdout и sys.stderr из кода и возвращает в виде строк.
def test_output(capsys):
print("hello")
captured = capsys.readouterr()
assert captured.out == "hello\n"
Capsysbinary — подходит для работы с потоками стандартного вывода на уровне python-кода. Захватывает sys.stdout и sys.stderr из кода и возвращает в виде байтовых строк.
def test_output(capsysbinary):
print("hello")
captured = capsysbinary.readouterr()
assert captured.out == b"hello\n"
Логирование
Логи — отличный инструмент для дебага, когда дело касается стабильной работы приложения. По ним можно понять, когда и из-за чего в работе системы возник сбой. Pytest имеет несколько фикстур для управления логами из тестов.
Caplog — позволяет работать с логами в python-коде. Дает возможность изменять уровень логирования, перехватывать сообщения, модифицировать их и многое другое.
# Задать уровень логирования
def test_foo(caplog):
caplog.set_level(logging.INFO)
for message in caplog.messages:
assert "for debug level" not in message
# Пример проверки уровня логирования и текста в сообщении лога
def test_baz(caplog):
func_under_test()
for record in caplog.records:
assert record.levelname != "CRITICAL"
assert "wally" not in caplog.text
Recwarn — возвращает экземпляр класса WarningsRecorder, где будут храниться все warnings, которые были вызваны с помощью warnings.warn в тестовых функциях.
import warnings
def test_check_warnings(recwarn):
warnings.warn("hello", UserWarning)
assert len(recwarn) == 1
warn = recwarn.pop(UserWarning)
assert issubclass(warn.category, UserWarning)
assert str(warn.message) == "hello"
assert warn.filename
Отчеты и документация
Pytest из коробки позволяет генерировать отчеты в формате JUnit XML, поэтому во фреймворке имеется ряд специальных фикстур для управления формированием отчета.
Doctest_namespace — фикстура для работы со встроенной библиотекой doctest. Библиотека помогает сравнить поведение функции с тем, что описано в docstring как ее ожидаемое поведение.
# Объявляем фикстуру в conftest.py
import numpy
@pytest.fixture(autouse=True)
def add_np(doctest_namespace):
doctest_namespace["np"] = numpy # Добавляет в namespace np ссылку на объект numpy
# Вызываем namespace в numpy.py
def arange():
"""
>>> a = np.arange(10)
>>> len(a)
10
"""
pass
Напишите фикстуры, которые вы используете в комментариях 👇
@python_job_interview* С инпутом 'a'
* Ваша функция должна вернуть ['a']
* С инпутом 'ab'
* Ваша функция должна вернуть ['ab', 'ba']
* С инпутом 'aabb'
* Ваша функция должна вернуть ['aabb', 'abab', 'abba', 'baab', 'baba', 'bbaa']
Обратите внимание, что порядок перестановок не имеет значения.
Пишите свое решение в комментариях👇
@python_job_interviewurl = "https://uproger.com/c/HowdyhoNet" -> domain name = "uproger.com"
url = "http://www.zombie-bites.com" -> domain name = "zombie-bites"
url = "https://www.cnet.com" -> domain name = cnet"
Пишите свое решение в комментариях👇
@python_job_interviewurl = "https://uproger.com/c/HowdyhoNet" -> domain name = "uproger.com"
url = "http://www.zombie-bites.com" -> domain name = "zombie-bites"
url = "https://www.cnet.com" -> domain name = cnet"
Пишите свое решение в комментариях👇
@python_job_interviewprofit({
"cost_price": 32.67,
"sell_price": 45.00,
"inventory": 1200
}) ➞ 14796
profit({
"cost_price": 225.89,
"sell_price": 550.00,
"inventory": 100
}) ➞ 32411
profit({
"cost_price": 2.77,
"sell_price": 7.95,
"inventory": 8500
}) ➞ 44030
Примечание:
1. Предполагаем, что все запасы были проданы.
2. Прибыль = общая сумма продаж – общая себестоимость
Пишите ваши варианты решения в комментах. Варианты решений будут скоро(сегодня-завтра)
#новичок #coбес5 по информатике, и он решил написать программу, которая поможет ИИ.
Задание
Вам дается массив целых чисел [students]. Массив [students] понравится ИИ если:
Длина массива - четное число (чтобы у каждого ученика был сосед по парте, ученик без соседа отправится ИИ на другой урок)
students[i] != students[i+1] для всех учеников на четных позициях (ИИ хочет, чтобы ученики с одинаковым рейтингом не сидели за одной партой; первые два элемента массива - ученики за первой партой, следующие два элемента - за второй и тд.)
Пустой массив тоже понравится ИИ, потому что тогда вместо урока он пойдет в столовую пить чай.
Важно: Менять элементы местами нельзя, можно только удалить число на любой позиции из массива. Когда элемент удаляется, элементы справа смещаются на одну позицию влево, чтобы заполнить появившийся пропуск, а все элементы слева остаются неизменными.
Верните минимальное число элементов, которые необходимо удалить, чтобы массив понравился ИИ.
Пример:
Ввод: students = [1, 1, 2, 3, 5]
Вывод: 1
Мы можем удалить или students[0] или students[1], этого будет достаточно, чтобы массив понравился ИИ - students[1, 2, 3, 5].
Пишите свое решение в комментариях👇
@python_job_interviewnum = 123
Вывод: "One Hundred Twenty Three"
Ввод: num = 12345
Вывод: "Twelve Thousand Three Hundred Forty Five"
Решение задачи
Пишите свое решение в комментариях👇Нативная интеграция. Информация о продукте www.otus.ru