Ситуация: появилась гонка, зависание или неверное обновление UI при использовании «actor reentrancy». Что вы будете делать?

iOS / SwiftSeniorSwift ConcurrencyСитуацияios|swift|swift concurrency|actor|actor reentrancy

Что хотят услышать интервьюеры:

План действий: сначала воспроизвести проблему, затем сузить область и только потом менять код.

  • Проверить, где используется actor reentrancy и кто владеет состоянием/ресурсом.
  • Посмотреть lifecycle, thread/actor context, ошибки и освобождение памяти.
  • Добавить лог, тест или regression check, чтобы проблема не вернулась.

Ответ:

Опасность: обновлять UI не на MainActor, игнорировать cancellation, запускать unstructured tasks без lifecycle или путать parallelism и concurrency. Ожидаемый результат: локальный fix, понятный команде и безопасный для релиза.

actor Bank { func transfer() async { await api.call() } }

Источники

Похожие вопросы