# Dependency Injection (.NET) > Lifetime сервісів (singleton, scoped, transient), реєстрація сервісів, IServiceProvider, найкращі практики - 24 питань зі співбесід - Mid-Level - [Питання зі співбесід: .NET](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy.md) ## 1. Яка основна різниця між lifetime Singleton, Scoped і Transient? **Відповідь** Singleton створює один екземпляр на весь lifetime застосунку, Scoped створює один екземпляр на HTTP-запит (або scope), а Transient створює новий екземпляр при кожному впровадженні. Ці lifetime визначають, коли і скільки разів DI-контейнер створює екземпляр сервісу. Використовуйте Singleton для безстанових спільних сервісів, Scoped для сервісів, прив'язаних до запиту (як DbContext), і Transient для легких безстанових сервісів. ## 2. Який lifetime слід використовувати для реєстрації DbContext Entity Framework Core? **Відповідь** DbContext слід реєструвати з lifetime Scoped, оскільки він не є thread-safe і зберігає стан відстеження сутностей. Кожен HTTP-запит повинен мати власний екземпляр DbContext, щоб уникнути проблем конкурентності. Реєстрація виконується за допомогою AddDbContext, який автоматично налаштовує lifetime Scoped. Використання Singleton спричинило б помилки конкурентності, а Transient марнував би ресурси, створюючи забагато екземплярів. ## 3. Як зареєструвати сервіс з interface та його реалізацією? **Відповідь** Реєстрація сервісу виконується методами AddSingleton, AddScoped або AddTransient, вказуючи interface як тип сервісу, а конкретний клас як реалізацію. Синтаксис: services.Add{Lifetime}(). Цей підхід дотримується принципу інверсії залежностей і полегшує тестування, дозволяючи підміну реалізацій. Контейнер DI автоматично розв'яже конкретну реалізацію під час впровадження interface. ## Ще 21 доступних питань - У якому випадку слід надавати перевагу AddSingleton перед AddScoped? - Яка роль IServiceProvider у системі DI? Зареєструйся безкоштовно: https://sharpskill.dev/uk/login ## Інші теми співбесід .NET - [Основи C#](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/csharp-basics.md): 25 запитань, Junior - [LINQ & Delegates](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/csharp-linq-delegates.md): 20 запитань, Junior - [Основи мови C#](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/csharp-language-essentials.md): 15 запитань, Junior - [Основи ASP.NET Core](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/aspnet-core-fundamentals.md): 18 запитань, Junior - [Життєвий цикл запиту в ASP.NET Core](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/aspnet-core-request-lifecycle.md): 20 запитань, Junior - [Configuration & Settings](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/configuration-settings.md): 20 запитань, Junior - [Життєвий цикл застосунку](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/application-lifecycle.md): 20 запитань, Junior - [Entity Framework Core](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/entity-framework-core.md): 25 запитань, Mid-Level - [Minimal APIs](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/minimal-apis.md): 18 запитань, Mid-Level - [Розробка Web API](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/web-api-development.md): 22 запитань, Mid-Level - [Async в ASP.NET Core](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/async-aspnet-core.md): 20 запитань, Mid-Level - [Authentication & Authorization](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/authentication-authorization.md): 18 запитань, Mid-Level - [HttpClient & Networking](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/httpclient-networking.md): 20 запитань, Mid-Level - [Серіалізація JSON](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/json-serialization.md): 20 запитань, Mid-Level - [Entity Framework Core просунутий](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/ef-core-advanced.md): 25 запитань, Mid-Level - [Розширені можливості C#](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/csharp-advanced-features.md): 20 запитань, Mid-Level - [Clean Architecture](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/clean-architecture.md): 20 запитань, Mid-Level - [Logging, Monitoring & Observability](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/logging-monitoring.md): 22 запитань, Mid-Level - [Модульне тестування та xUnit](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/unit-testing-xunit.md): 20 запитань, Mid-Level - [Інтеграційні тести](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/integration-testing.md): 18 запитань, Mid-Level - [Docker & Containerization](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/docker-containerization.md): 16 запитань, Mid-Level - [Керування пакетами NuGet](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/nuget-package-management.md): 16 запитань, Mid-Level - [Memory Management & GC](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/memory-management-gc.md): 22 запитань, Senior - [Реактивне програмування](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/reactive-programming.md): 24 запитань, Senior - [Async/await і патерни](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/async-await-patterns.md): 26 запитань, Senior - [.NET Design Patterns](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/dotnet-design-patterns.md): 24 запитань, Senior - [Оптимізація продуктивності](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/performance-optimization.md): 22 запитань, Senior - [Безпека та Best Practices](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/security-best-practices.md): 24 запитань, Senior - [SignalR і реальний час](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/signalr-realtime.md): 22 запитань, Senior - [Архітектура мікросервісів](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/microservices-architecture.md): 25 запитань, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/dependency-injection