Встречается на собеседованиях • сегодня
Какие подходы применял для параллельной обработки данных
В Python для параллельной обработки данных часто используют:
- Потоки (threading) – подходят для I/O-bound задач (например, сетевые запросы).
python
import threading def task(): print("Thread running") threads = [threading.Thread(target=task) for _ in range(5)] for t in threads: t.start() for t in threads: t.join()
-
Процессы (multiprocessing) – для CPU-bound задач (вычисления).
pythonfrom multiprocessing import Pool def square(x): return x * x with Pool(4) as p: print(p.map(square, [1, 2, 3])) -
Asyncio – асинхронность для I/O-bound задач с корутинами.
pythonimport asyncio async def fetch_data(): await asyncio.sleep(1) return "Data" async def main(): tasks = [fetch_data() for _ in range(3)] results = await asyncio.gather(*tasks) asyncio.run(main()) -
Dask/Ray – для распределенных вычислений и больших данных.
Нюансы:
- GIL ограничивает потоки в CPU-bound задачах.
- Процессы имеют накладные расходы на создание.
- Asyncio требует переписывания кода под async/await.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы