# Service Container & DI (Laravel) > Dependency injection, service providers, binding, singletons, contextual binding, phân giải container, facades - 20 câu hỏi phỏng vấn - Mid-Level - [Câu hỏi phỏng vấn: Laravel](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van.md) ## 1. Service Container trong Laravel là gì? **Câu trả lời** Service Container là một công cụ mạnh mẽ để quản lý dependency của class và thực hiện dependency injection. Nó tự động phân giải các dependency bằng cách kiểm tra type-hint của constructor. Sử dụng Service Container cải thiện khả năng kiểm thử và sự tách rời bằng cách tránh khởi tạo dependency trực tiếp. ## 2. Lợi ích chính của dependency injection so với việc khởi tạo trực tiếp là gì? **Câu trả lời** Dependency injection cải thiện khả năng kiểm thử bằng cách cho phép dễ dàng thay thế các dependency bằng mock hoặc stub trong quá trình test. Nó cũng thúc đẩy sự tách rời bằng cách ngăn các class bị ràng buộc chặt chẽ với các dependency cụ thể. Điều này giúp code dễ bảo trì và linh hoạt hơn trước các thay đổi. ## 3. Làm thế nào để inject một dependency vào constructor của controller Laravel? **Câu trả lời** Thêm type-hint cho dependency vào constructor cho phép Service Container tự động phân giải dependency này. Laravel kiểm tra các tham số của constructor và inject các instance phù hợp mà không cần cấu hình thêm. Cách tiếp cận này là đơn giản và phổ biến nhất cho dependency injection trong controller. ## Còn 17 câu hỏi nữa - Sự khác biệt giữa bind() và singleton() trong Service Container là gì? - Phương thức app()->make(UserRepository::class) làm gì? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Laravel khác - [Cơ bản về PHP](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/php-basics.md): 25 câu hỏi, Junior - [Kiến thức cơ bản về OOP trong PHP](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/php-oop-essentials.md): 20 câu hỏi, Junior - [Composer & Autoloading](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/composer-autoloading.md): 18 câu hỏi, Junior - [Kiến thức cơ bản về Laravel](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/laravel-fundamentals.md): 20 câu hỏi, Junior - [Routing trong Laravel](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/laravel-routing.md): 20 câu hỏi, Junior - [Blade Templates](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/blade-templates.md): 18 câu hỏi, Junior - [Request & Response](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/request-response.md): 20 câu hỏi, Junior - [Kiến thức cơ bản về Eloquent ORM](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/eloquent-orm-basics.md): 22 câu hỏi, Junior - [Eloquent Relationships](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/eloquent-relationships.md): 25 câu hỏi, Mid-Level - [Migrations & Schema Builder](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/database-migrations.md): 20 câu hỏi, Mid-Level - [Xác thực và Form](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/validation-forms.md): 22 câu hỏi, Mid-Level - [Xác thực](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/authentication.md): 20 câu hỏi, Mid-Level - [Phân quyền và Policies](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/authorization-policies.md): 18 câu hỏi, Mid-Level - [API Resources & Authentication](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/api-resources-authentication.md): 26 câu hỏi, Mid-Level - [Middleware](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/middleware.md): 18 câu hỏi, Mid-Level - [Queues & Jobs](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/queues-jobs.md): 22 câu hỏi, Mid-Level - [Events & Listeners](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/events-listeners.md): 18 câu hỏi, Mid-Level - [Thông báo & Mail](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/notifications-mail.md): 20 câu hỏi, Mid-Level - [File Storage](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/file-storage.md): 18 câu hỏi, Mid-Level - [Testing & PHPUnit](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/testing-phpunit.md): 24 câu hỏi, Mid-Level - [Caching](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/caching.md): 18 câu hỏi, Mid-Level - [Livewire & Inertia](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/livewire-inertia.md): 20 câu hỏi, Mid-Level - [Eloquent Advanced](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/eloquent-advanced.md): 24 câu hỏi, Senior - [Repository Pattern](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/repository-pattern.md): 20 câu hỏi, Senior - [Laravel Packages](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/laravel-packages.md): 20 câu hỏi, Senior - [Performance Optimization](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/performance-optimization.md): 22 câu hỏi, Senior - [Security Best Practices](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/security-best-practices.md): 22 câu hỏi, Senior - [Laravel Octane](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/laravel-octane.md): 18 câu hỏi, Senior - [Laravel Distributed Systems](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/laravel-distributed-systems.md): 22 câu hỏi, Senior - [Observability & Monitoring](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/observability-monitoring.md): 20 câu hỏi, Senior - [Deployment & DevOps](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/deployment-devops.md): 20 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/service-container-di