# Dependency Injection (.NET) > Lifetimes de servicios (singleton, scoped, transient), registro de servicios, IServiceProvider, buenas prácticas - 24 preguntas de entrevista - Mid-Level - [Preguntas de entrevista: .NET](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista.md) ## 1. ¿Cuál es la principal diferencia entre los lifetimes Singleton, Scoped y Transient? **Respuesta** Singleton crea una única instancia durante toda la vida de la aplicación, Scoped crea una instancia por petición HTTP (o scope), y Transient crea una nueva instancia cada vez que se inyecta. Estos lifetimes determinan cuándo y cuántas veces el contenedor DI instancia un servicio. Usa Singleton para servicios sin estado compartidos, Scoped para servicios ligados a una petición (como DbContext), y Transient para servicios ligeros sin estado. ## 2. ¿Qué lifetime se debe usar para registrar un DbContext de Entity Framework Core? **Respuesta** DbContext debe registrarse con lifetime Scoped porque no es thread-safe y mantiene un estado de tracking de entidades. Cada solicitud HTTP debe tener su propia instancia de DbContext para evitar problemas de concurrencia. El registro se hace con AddDbContext, que configura automáticamente el lifetime Scoped. Usar Singleton causaría errores de concurrencia y Transient desperdiciaría recursos al crear demasiadas instancias. ## 3. ¿Cómo registrar un servicio con una interface y su implementación? **Respuesta** El registro de un servicio se hace con los métodos AddSingleton, AddScoped o AddTransient, especificando la interface como tipo de servicio y la clase concreta como implementación. La sintaxis es services.Add{Lifetime}(). Este enfoque respeta el principio de inversión de dependencias y facilita las pruebas al permitir sustituir implementaciones. El contenedor DI resolverá automáticamente la implementación concreta al inyectar la interface. ## 21 preguntas más disponibles - ¿En qué caso conviene preferir AddSingleton en lugar de AddScoped? - ¿Cuál es el papel de IServiceProvider en el sistema de DI? Regístrate gratis: https://sharpskill.dev/es/login ## Otros temas de entrevista .NET - [Fundamentos de C#](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/csharp-basics.md): 25 preguntas, Junior - [LINQ & Delegates](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/csharp-linq-delegates.md): 20 preguntas, Junior - [Fundamentos del lenguaje C#](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/csharp-language-essentials.md): 15 preguntas, Junior - [Fundamentos de ASP.NET Core](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/aspnet-core-fundamentals.md): 18 preguntas, Junior - [Ciclo de vida de las solicitudes en ASP.NET Core](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/aspnet-core-request-lifecycle.md): 20 preguntas, Junior - [Configuration & Settings](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/configuration-settings.md): 20 preguntas, Junior - [Ciclo de vida de la aplicación](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/application-lifecycle.md): 20 preguntas, Junior - [Entity Framework Core](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/entity-framework-core.md): 25 preguntas, Mid-Level - [Minimal APIs](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/minimal-apis.md): 18 preguntas, Mid-Level - [Desarrollo de Web API](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/web-api-development.md): 22 preguntas, Mid-Level - [Async en ASP.NET Core](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/async-aspnet-core.md): 20 preguntas, Mid-Level - [Authentication & Authorization](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/authentication-authorization.md): 18 preguntas, Mid-Level - [HttpClient & Networking](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/httpclient-networking.md): 20 preguntas, Mid-Level - [Serialización JSON](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/json-serialization.md): 20 preguntas, Mid-Level - [Entity Framework Core avanzado](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/ef-core-advanced.md): 25 preguntas, Mid-Level - [Características avanzadas de C#](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/csharp-advanced-features.md): 20 preguntas, Mid-Level - [Clean Architecture](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/clean-architecture.md): 20 preguntas, Mid-Level - [Logging, Monitoring & Observability](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/logging-monitoring.md): 22 preguntas, Mid-Level - [Pruebas unitarias y xUnit](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/unit-testing-xunit.md): 20 preguntas, Mid-Level - [Pruebas de integración](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/integration-testing.md): 18 preguntas, Mid-Level - [Docker & Containerization](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/docker-containerization.md): 16 preguntas, Mid-Level - [NuGet Package Management](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/nuget-package-management.md): 16 preguntas, Mid-Level - [Memory Management & GC](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/memory-management-gc.md): 22 preguntas, Senior - [Programación reactiva](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/reactive-programming.md): 24 preguntas, Senior - [Async/await & Patterns](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/async-await-patterns.md): 26 preguntas, Senior - [.NET Design Patterns](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/dotnet-design-patterns.md): 24 preguntas, Senior - [Optimización del rendimiento](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/performance-optimization.md): 22 preguntas, Senior - [Seguridad y Best Practices](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/security-best-practices.md): 24 preguntas, Senior - [SignalR y tiempo real](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/signalr-realtime.md): 22 preguntas, Senior - [Arquitectura de Microservicios](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/microservices-architecture.md): 25 preguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/dependency-injection