Dependency Injection Lifetimes
As a Fresher engineer, explain Dependency Injection Lifetimes. What problem does it solve and how would you describe it in an interview?
Answers use simple, clear English.
Quick interview answer
At Fresher depth: start with the problem, then mechanism, then a short example. Singleton one instance app-wide; Scoped per request (DbContext); Transient new each resolve.
Detailed answer
At Fresher depth: start with the problem, then mechanism, then a short example. Singleton one instance app-wide; Scoped per request (DbContext); Transient new each resolve. Captive dependency: don't inject Scoped into Singleton. Core: Singleton one instance app-wide; Scoped per request (DbContext); Transient new each resolve. Captive dependency: don't inject Scoped into Singleton. Real-time example: Register EF DbContext as Scoped; IEmailSender as Transient; IOptionsMonitor as Singleton. Pros: Built-in container; testable via constructor injection. Cons: Wrong lifetime causes stale state or thread-safety bugs. Common mistakes: Singleton holding mutable Scoped service; resolving Scoped from root provider. Best practices: Constructor injection only in controllers; validate scopes at startup in dev. Audience level: Fresher.
Full explanation
Singleton one instance app-wide; Scoped per request (DbContext); Transient new each resolve. Captive dependency: don't inject Scoped into Singleton.
Real example & use case
Register EF DbContext as Scoped; IEmailSender as Transient; IOptionsMonitor as Singleton.
Pros & cons
Pros: Built-in container; testable via constructor injection. Cons: Wrong lifetime causes stale state or thread-safety bugs.
Common mistakes
Singleton holding mutable Scoped service; resolving Scoped from root provider.
Best practices
Constructor injection only in controllers; validate scopes at startup in dev.
Follow-up questions
- How would you test Dependency Injection Lifetimes?
- What metrics prove Dependency Injection Lifetimes is healthy in prod?
- How does Dependency Injection Lifetimes change at 10× traffic?