Встречается на 12% собеседований по C#
Какие знаешь Жизненные циклы зависимостей
В C# (с использованием DI-контейнера) есть три основных жизненных цикла зависимостей:
- Singleton – создается один раз на все время работы приложения.
csharp
services.AddSingleton<IService, Service>();
-
Scoped – создается один раз в рамках области (например, HTTP-запроса в веб-приложении).
csharpservices.AddScoped<IService, Service>(); -
Transient – создается новый экземпляр при каждом запросе.
csharpservices.AddTransient<IService, Service>();
Нюансы:
- Singleton должен быть потокобезопасным.
- Scoped в консольном приложении требует явного создания Scope через
IServiceScopeFactory. - Transient может привести к утечкам памяти, если зависимости не освобождаются.
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы