What is DI and what kinds of injection are there?
The point
Dependency Injection — an object does not create its dependencies (URLSession, a repository, analytics) but receives them from outside. The result: loose coupling, swappable implementations in tests, one place for configuration.
The rest of this answer, with code and interview follow-ups, is in the DevPrep app.
Read the full answer in DevPrep