Что должен знать Senior .NET-разработчик про Task vs Thread?

C# / .NETГлубокие trade-offs, диагностика, архитектурный контекст и влияние на систему.Async and MultithreadingТеорияcsharpdotnetasync-and-multithreadingasynctask-vs-thread

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

Senior-разработчик должен объяснить Task vs Thread через trade-offs, диагностику, границы применения и влияние на архитектуру. Обязательно проговорите, что async не равен созданию нового потока, а блокировки .Result/.Wait() часто ломают масштабируемость.

  • Суть: Task является абстракцией операции, а Thread — конкретным потоком ОС; это разные уровни модели выполнения.
  • Где встречается: HTTP-запросы, работа с БД, фоновые задачи, очереди, интеграции и масштабируемые API.
  • Типичная ошибка: блокировать async-код через .Result/.Wait(), игнорировать CancellationToken или создавать race condition.
  • Как отвечать: начните с короткого определения, затем приведите пример, назовите ограничение и типичную ошибку.
  • Ожидаемый уровень: Senior. Глубокие trade-offs, диагностика, архитектурный контекст и влияние на систему.

Ответ:

await service.ProcessAsync(cancellationToken);

Источники

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