intermediate
Задачи на async JavaScript
Рассуждайте о promise coordination, concurrency limits, cancellation, retries и output order.
Async JavaScript задачи на интервью комбинируют semantics языка с coordination: запускать promises sequentially, ограничивать concurrency, retry with backoff, cancel stale work или предсказывать event loop output. Решение должно сохранять ordering requirements и избегать unbounded parallel work.
Компромисс: сравните время, память и сложность реализации до выбора структуры или паттерна.
На интервью: Интервьюеры ожидают понимание разницы между созданием promises, await и scheduling callbacks в microtasks или tasks.
Типовые ошибки: Array.map с async callbacks запускает всю работу сразу. Promise.all fail-fast. Cancellation требует AbortController или cooperative checks; ignore stale results не равен stop work.
Чеклист:
- Разделяйте creation и awaiting.
- Осознанно ограничивайте concurrency.
- Определите rejection policy.
- Задайте cancellation behavior.