Как проверить конкурентное выполнение API-запросов

Считайте число активных операций и его максимум. Значение peak больше единицы подтверждает перекрытие клиентских операций; одно лишь короткое общее время не является достаточным доказательством.

Короткий ответ

Что ответить на собеседовании

Считайте число активных операций и его максимум. Значение peak больше единицы подтверждает перекрытие клиентских операций; одно лишь короткое общее время не является достаточным доказательством.

Подробный разбор

Ответ с пояснениями

Условие

Нужно убедиться, что клиент запускает несколько запросов с перекрывающимся ожиданием, а не выполняет их последовательно. Покажите проверку на локальном асинхронном mock без реального API и ключей.

Ответ

Считайте число активных операций и его максимум. Значение peak больше единицы подтверждает перекрытие клиентских операций; одно лишь короткое общее время не является достаточным доказательством.

Учебная проверка:

import asyncio

async def main():
    active = peak = 0
    async def mock_request():
        nonlocal active, peak
        active += 1
        peak = max(peak, active)
        try:
            await asyncio.sleep(0.01)
        finally:
            active -= 1
    await asyncio.gather(*(mock_request() for _ in range(3)))
    print(peak)  # 3

asyncio.run(main())

Для реального сервера нужны его timestamps или trace: конкурентный клиент не доказывает параллельную обработку сервером. Секреты в пример и логи не добавляются.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее