# Services & Dependency Injection (Angular) > Services, @Injectable, providedIn, dependency injection, hierarchical injectors, injection tokens, providers - 20 câu hỏi phỏng vấn - Junior - [Câu hỏi phỏng vấn: Angular](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van.md) ## 1. Service trong Angular là gì? **Câu trả lời** Service là một lớp TypeScript được trang trí bằng @Injectable, đóng gói logic nghiệp vụ hoặc dữ liệu dùng chung. Service tuân theo nguyên tắc tách biệt trách nhiệm bằng cách trích xuất logic tái sử dụng ra khỏi components. Chúng có thể được inject vào các lớp khác thông qua hệ thống dependency injection của Angular, giúp tăng tính module hóa và khả năng test của code. ## 2. Decorator nào làm cho một lớp có thể inject được trong Angular? **Câu trả lời** Decorator @Injectable là bắt buộc để một lớp có thể được sử dụng làm service trong hệ thống dependency injection của Angular. Decorator này cho phép Angular tạo metadata cần thiết để giải quyết các dependency của service. Nếu không có @Injectable, trình biên dịch TypeScript sẽ không giữ lại thông tin kiểu cần thiết cho injection, gây ra lỗi runtime. ## 3. Cú pháp chính xác để tạo một service cơ bản là gì? **Câu trả lời** Cú pháp đầy đủ để tạo Angular service bao gồm import decorator Injectable từ @angular/core, sau đó áp dụng nó cho một lớp với tùy chọn providedIn. Cấu hình hiện đại này tự động đăng ký service trong root injector của ứng dụng. Tùy chọn providedIn: 'root' là phương pháp tốt nhất vì nó cho phép tree-shaking và đảm bảo singleton toàn cục. ## Còn 17 câu hỏi nữa - providedIn: 'root' trong @Injectable có nghĩa là gì? - Làm thế nào để inject một service vào component? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Angular khác - [Kiến thức cơ bản TypeScript](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/typescript-basics.md): 25 câu hỏi, Junior - [TypeScript Nâng cao](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/typescript-advanced.md): 20 câu hỏi, Junior - [Kiến thức cơ bản về Angular](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/angular-fundamentals.md): 20 câu hỏi, Junior - [Components và vòng đời](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/components-lifecycle.md): 20 câu hỏi, Junior - [Tổ chức Module Angular](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/modules-organization.md): 22 câu hỏi, Mid-Level - [Angular CLI](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/angular-cli.md): 18 câu hỏi, Junior - [Directives và Pipes](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/directives-pipes.md): 22 câu hỏi, Mid-Level - [Routing và Điều hướng](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/routing-navigation.md): 24 câu hỏi, Mid-Level - [Reactive Forms](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/forms-reactive.md): 26 câu hỏi, Mid-Level - [Template-driven Forms](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/forms-template-driven.md): 16 câu hỏi, Mid-Level - [Kiến Thức Cơ Bản RxJS](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/rxjs-fundamentals.md): 22 câu hỏi, Mid-Level - [Operator RxJS](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/rxjs-operators.md): 24 câu hỏi, Mid-Level - [HttpClient và lệnh gọi API](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/http-client.md): 22 câu hỏi, Mid-Level - [Quản lý state cơ bản](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/state-management-basics.md): 20 câu hỏi, Mid-Level - [Change Detection](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/change-detection.md): 20 câu hỏi, Mid-Level - [Angular Signals](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/angular-signals.md): 20 câu hỏi, Mid-Level - [Standalone Components](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/standalone-components.md): 18 câu hỏi, Mid-Level - [Unit Testing trong Angular](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/testing-unit.md): 22 câu hỏi, Mid-Level - [Kiểm thử End-to-End](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/testing-e2e.md): 18 câu hỏi, Mid-Level - [Build và tối ưu hóa](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/build-optimization.md): 20 câu hỏi, Mid-Level - [Nền tảng NgRx](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/ngrx-fundamentals.md): 24 câu hỏi, Senior - [NgRx nâng cao](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/ngrx-advanced.md): 24 câu hỏi, Senior - [Kiến trúc Angular](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/angular-architecture.md): 22 câu hỏi, Senior - [Tối ưu hiệu năng](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/performance-optimization.md): 22 câu hỏi, Senior - [Bảo mật và thực tiễn tốt nhất](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/security-best-practices.md): 20 câu hỏi, Senior - [Các mẫu RxJS nâng cao](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/advanced-rxjs-patterns.md): 22 câu hỏi, Senior - [Angular Universal và SSR](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/angular-universal-ssr.md): 20 câu hỏi, Senior - [Micro-frontend Angular](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/micro-frontends-angular.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/angular/cau-hoi-phong-van/services-dependency-injection