Ошибка в имени asyncio.Sleep: функция называется sleep с маленькой буквы. После исправления последовательные await займут примерно 5 секунд, а не 3.
Скриншот содержит код на Python с использованием asyncio, но в изображении явно не указано ни вопроса, ни задачи для собеседования.
Ошибка в имени asyncio.Sleep: функция называется sleep с маленькой буквы. После исправления последовательные await займут примерно 5 секунд, а не 3.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Скриншот содержит код на Python с использованием asyncio, но в изображении явно не указано ни вопроса, ни задачи для собеседования.
Если задача подразумевается, то она может быть связана с выявлением или исправлением ошибок в асинхронном коде.
Вот код из скриншота:
import asyncio
async def func_1() -> None:
await asyncio.sleep(2)
async def func_2() -> None:
await asyncio.Sleep(3)
async def main() -> None:
await func_1()
await func_2()
if __name__ == "__main__":
asyncio.run(main())
Возможная подразумеваемая задача: выявить и исправить любые ошибки в асинхронном коде.
Ответ
Ошибка в имени asyncio.Sleep: функция называется sleep с маленькой буквы. После исправления последовательные await займут примерно 5 секунд, а не 3.
import asyncio
async def func_1():
await asyncio.sleep(2)
async def func_2():
await asyncio.sleep(3)
async def main():
await asyncio.gather(func_1(), func_2())
if __name__ == '__main__':
asyncio.run(main())
В исходном варианте после двух секунд первая функция завершится, затем возникнет AttributeError. Пример выше дополнительно запускает независимые ожидания конкурентно, поэтому они займут примерно три секунды с накладными расходами. Если требуется именно последовательность, достаточно исправить регистр и оставить два исходных await.