# Service Container & DI (Laravel) > Dependency injection, service providers, binding, singletons, contextual binding, container resolution, facades - 20 interview questions - Mid-Level - [Interview Questions: Laravel](https://sharpskill.dev/en/technologies/laravel/interview-questions.md) ## 1. What is the Service Container in Laravel? **Answer** The Service Container is a powerful tool for managing class dependencies and performing dependency injection. It automatically resolves dependencies by inspecting constructor type-hints. Using the Service Container improves testability and decoupling by avoiding direct instantiation of dependencies. ## 2. What is the main advantage of dependency injection compared to direct instantiation? **Answer** Dependency injection improves testability by allowing easy substitution of dependencies with mocks or stubs during testing. It also promotes decoupling by preventing classes from being tightly coupled to their concrete dependencies. This makes code more maintainable and flexible to changes. ## 3. How to inject a dependency into a Laravel controller constructor? **Answer** Adding a type-hint for the dependency in the constructor allows the Service Container to automatically resolve this dependency. Laravel inspects the constructor parameters and injects the appropriate instances without additional configuration. This approach is the simplest and most common for dependency injection in controllers. ## 17 more questions available - What is the difference between bind() and singleton() in the Service Container? - What does the app()->make(UserRepository::class) method do? Sign up for free: https://sharpskill.dev/en/login ## Other Laravel interview topics - [PHP Basics](https://sharpskill.dev/en/technologies/laravel/interview-questions/php-basics.md): 25 questions, Junior - [PHP OOP Essentials](https://sharpskill.dev/en/technologies/laravel/interview-questions/php-oop-essentials.md): 20 questions, Junior - [Composer & Autoloading](https://sharpskill.dev/en/technologies/laravel/interview-questions/composer-autoloading.md): 18 questions, Junior - [Laravel Fundamentals](https://sharpskill.dev/en/technologies/laravel/interview-questions/laravel-fundamentals.md): 20 questions, Junior - [Laravel Routing](https://sharpskill.dev/en/technologies/laravel/interview-questions/laravel-routing.md): 20 questions, Junior - [Blade Templates](https://sharpskill.dev/en/technologies/laravel/interview-questions/blade-templates.md): 18 questions, Junior - [Request & Response](https://sharpskill.dev/en/technologies/laravel/interview-questions/request-response.md): 20 questions, Junior - [Eloquent ORM Basics](https://sharpskill.dev/en/technologies/laravel/interview-questions/eloquent-orm-basics.md): 22 questions, Junior - [Eloquent Relationships](https://sharpskill.dev/en/technologies/laravel/interview-questions/eloquent-relationships.md): 25 questions, Mid-Level - [Migrations & Schema Builder](https://sharpskill.dev/en/technologies/laravel/interview-questions/database-migrations.md): 20 questions, Mid-Level - [Validation & Forms](https://sharpskill.dev/en/technologies/laravel/interview-questions/validation-forms.md): 22 questions, Mid-Level - [Authentication](https://sharpskill.dev/en/technologies/laravel/interview-questions/authentication.md): 20 questions, Mid-Level - [Authorization & Policies](https://sharpskill.dev/en/technologies/laravel/interview-questions/authorization-policies.md): 18 questions, Mid-Level - [API Resources & Authentication](https://sharpskill.dev/en/technologies/laravel/interview-questions/api-resources-authentication.md): 26 questions, Mid-Level - [Middleware](https://sharpskill.dev/en/technologies/laravel/interview-questions/middleware.md): 18 questions, Mid-Level - [Queues & Jobs](https://sharpskill.dev/en/technologies/laravel/interview-questions/queues-jobs.md): 22 questions, Mid-Level - [Events & Listeners](https://sharpskill.dev/en/technologies/laravel/interview-questions/events-listeners.md): 18 questions, Mid-Level - [Notifications & Mail](https://sharpskill.dev/en/technologies/laravel/interview-questions/notifications-mail.md): 20 questions, Mid-Level - [File Storage](https://sharpskill.dev/en/technologies/laravel/interview-questions/file-storage.md): 18 questions, Mid-Level - [Testing & PHPUnit](https://sharpskill.dev/en/technologies/laravel/interview-questions/testing-phpunit.md): 24 questions, Mid-Level - [Caching](https://sharpskill.dev/en/technologies/laravel/interview-questions/caching.md): 18 questions, Mid-Level - [Livewire & Inertia](https://sharpskill.dev/en/technologies/laravel/interview-questions/livewire-inertia.md): 20 questions, Mid-Level - [Eloquent Advanced](https://sharpskill.dev/en/technologies/laravel/interview-questions/eloquent-advanced.md): 24 questions, Senior - [Repository Pattern](https://sharpskill.dev/en/technologies/laravel/interview-questions/repository-pattern.md): 20 questions, Senior - [Laravel Packages](https://sharpskill.dev/en/technologies/laravel/interview-questions/laravel-packages.md): 20 questions, Senior - [Performance Optimization](https://sharpskill.dev/en/technologies/laravel/interview-questions/performance-optimization.md): 22 questions, Senior - [Security Best Practices](https://sharpskill.dev/en/technologies/laravel/interview-questions/security-best-practices.md): 22 questions, Senior - [Laravel Octane](https://sharpskill.dev/en/technologies/laravel/interview-questions/laravel-octane.md): 18 questions, Senior - [Laravel Distributed Systems](https://sharpskill.dev/en/technologies/laravel/interview-questions/laravel-distributed-systems.md): 22 questions, Senior - [Observability & Monitoring](https://sharpskill.dev/en/technologies/laravel/interview-questions/observability-monitoring.md): 20 questions, Senior - [Deployment & DevOps](https://sharpskill.dev/en/technologies/laravel/interview-questions/deployment-devops.md): 20 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/en/technologies/laravel/interview-questions/service-container-di