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

Расскажи о своем опыте работы с каждым типом конкурентности

В Python работаю со всеми основными подходами к конкурентности:

Потоки (threading)
Использовал для I/O-bound задач, например, параллельных HTTP-запросов.

python
import threading

def fetch(url):
    # HTTP request logic

threads = [threading.Thread(target=fetch, args=(url,)) for url in urls]
[t.start() for t in threads]
[t.join() for t in threads]

Процессы (multiprocessing)
Применял для CPU-bound задач, таких как обработка изображений.

python
from multiprocessing import Pool

def process_image(img):
    # heavy computations

with Pool() as p:
    p.map(process_image, images)

Асинхронность (asyncio)
Использовал для высоконагруженных сетевых приложений (WebSocket, API).

python
import asyncio

async def handle_client(reader, writer):
    # async network operations

async def main():
    server = await asyncio.start_server(handle_client, '0.0.0.0', 8888)
    await server.serve_forever()

GIL понимание: знаю его ограничения и как обходить (процессы/C-расширения).
Синхронизация: работал с Lock, Semaphore, Queue.
Выбор подхода: определяю по типу задачи (CPU/I/O-bound) и требованиям к памяти.

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

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

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

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