Встречается на собеседованиях • сегодня

Какой формат работы в приоритете

В Python есть несколько форматов работы с асинхронностью и параллелизмом:

  1. Синхронный код – стандартный подход, прост в понимании, но блокирует выполнение при I/O операциях.

    python
    def sync_example():
        result = requests.get('https://api.example.com')
        print(result.json())
  2. Потоки (threading) – подходят для I/O-bound задач, но имеют GIL ограничения.

    python
    import threading
    def thread_task():
        print("Running in thread")
    thread = threading.Thread(target=thread_task)
    thread.start()
  1. Мультипроцессинг (multiprocessing) – для CPU-bound задач, обходит GIL, но тяжелее по памяти.

    python
    from multiprocessing import Process
    def process_task():
        print("Running in process")
    process = Process(target=process_task)
    process.start()
  2. Асинхронность (asyncio) – оптимален для I/O-bound задач с высокой конкурентностью.

    python
    import asyncio
    async def async_task():
        print("Running async")
    asyncio.run(async_task())

Приоритет зависит от задачи:

  • Для веб-запросов/API – asyncio (FastAPI, aiohttp).
  • Для тяжелых вычислений – multiprocessing.
  • Для простых скриптов – синхронный код.
  • Потоки – редко, только для legacy или специфичных случаев.

Современный Python чаще использует asyncio для эффективной работы с сетью.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы