# Dependency Injection (.NET) > Servis lifetime'ları (singleton, scoped, transient), servis kaydı, IServiceProvider, en iyi uygulamalar - 24 mülakat soruları - Mid-Level - [Mülakat Soruları: .NET](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari.md) ## 1. Singleton, Scoped ve Transient lifetime'ları arasındaki temel fark nedir? **Cevap** Singleton tüm uygulama lifetime'ı için tek bir instance oluşturur, Scoped her HTTP isteği (veya scope) başına bir instance oluşturur ve Transient her enjekte edildiğinde yeni bir instance oluşturur. Bu lifetime'lar, DI container'ının bir servisi ne zaman ve kaç kez örnekleyeceğini belirler. Durumsuz paylaşılan servisler için Singleton, isteğe bağlı servisler (DbContext gibi) için Scoped ve durumsuz hafif servisler için Transient kullanın. ## 2. Bir Entity Framework Core DbContext kaydetmek için hangi lifetime kullanılmalıdır? **Cevap** DbContext, thread-safe olmadığı ve entity tracking durumunu koruduğu için Scoped lifetime ile kaydedilmelidir. Eşzamanlılık sorunlarını önlemek için her HTTP isteğinin kendi DbContext örneği olmalıdır. Kayıt, Scoped lifetime'ı otomatik olarak yapılandıran AddDbContext ile yapılır. Singleton kullanmak eşzamanlılık hatalarına neden olur ve Transient çok fazla örnek oluşturarak kaynakları israf eder. ## 3. Bir servisi bir interface ve onun implementasyonu ile nasıl kaydedersiniz? **Cevap** Servis kaydı, interface'i servis türü ve somut sınıfı implementasyon olarak belirterek AddSingleton, AddScoped veya AddTransient metotlarıyla yapılır. Söz dizimi services.Add{Lifetime}() şeklindedir. Bu yaklaşım bağımlılığın tersine çevrilmesi ilkesine uyar ve implementasyonların değiştirilmesine olanak tanıyarak testi kolaylaştırır. DI kapsayıcısı, interface enjekte edilirken somut implementasyonu otomatik olarak çözer. ## 21 soru daha mevcut - AddScoped yerine AddSingleton ne zaman tercih edilmelidir? - DI sisteminde IServiceProvider'ın rolü nedir? Ücretsiz kaydol: https://sharpskill.dev/tr/login ## Diğer .NET mülakat konuları - [C# Temelleri](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/csharp-basics.md): 25 soru, Junior - [LINQ & Delegates](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/csharp-linq-delegates.md): 20 soru, Junior - [C# Dil Temelleri](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/csharp-language-essentials.md): 15 soru, Junior - [ASP.NET Core Temelleri](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/aspnet-core-fundamentals.md): 18 soru, Junior - [ASP.NET Core İstek Yaşam Döngüsü](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/aspnet-core-request-lifecycle.md): 20 soru, Junior - [Configuration & Settings](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/configuration-settings.md): 20 soru, Junior - [Uygulama Yaşam Döngüsü](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/application-lifecycle.md): 20 soru, Junior - [Entity Framework Core](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/entity-framework-core.md): 25 soru, Mid-Level - [Minimal APIs](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/minimal-apis.md): 18 soru, Mid-Level - [Web API Geliştirme](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/web-api-development.md): 22 soru, Mid-Level - [ASP.NET Core'da Async](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/async-aspnet-core.md): 20 soru, Mid-Level - [Authentication & Authorization](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/authentication-authorization.md): 18 soru, Mid-Level - [HttpClient & Networking](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/httpclient-networking.md): 20 soru, Mid-Level - [JSON Serileştirme](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/json-serialization.md): 20 soru, Mid-Level - [Entity Framework Core İleri Düzey](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/ef-core-advanced.md): 25 soru, Mid-Level - [C# Gelişmiş Özellikleri](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/csharp-advanced-features.md): 20 soru, Mid-Level - [Clean Architecture](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/clean-architecture.md): 20 soru, Mid-Level - [Logging, Monitoring & Observability](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/logging-monitoring.md): 22 soru, Mid-Level - [Birim Testleri & xUnit](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/unit-testing-xunit.md): 20 soru, Mid-Level - [Entegrasyon Testleri](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/integration-testing.md): 18 soru, Mid-Level - [Docker & Containerization](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/docker-containerization.md): 16 soru, Mid-Level - [NuGet Paket Yönetimi](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/nuget-package-management.md): 16 soru, Mid-Level - [Memory Management & GC](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/memory-management-gc.md): 22 soru, Senior - [Reaktif programlama](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/reactive-programming.md): 24 soru, Senior - [Async/await & Desenler](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/async-await-patterns.md): 26 soru, Senior - [.NET Tasarım Desenleri](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/dotnet-design-patterns.md): 24 soru, Senior - [Performans Optimizasyonu](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/performance-optimization.md): 22 soru, Senior - [Güvenlik ve Best Practices](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/security-best-practices.md): 24 soru, Senior - [SignalR ve Gerçek Zamanlı](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/signalr-realtime.md): 22 soru, Senior - [Microservices Mimarisi](https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/microservices-architecture.md): 25 soru, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/tr/technologies/dotnet/mulakat-sorulari/dependency-injection