# Kiến trúc ứng dụng iOS (iOS) > Clean Architecture, VIPER, kiến trúc mô-đun, Dependency Injection, TCA, luồng một chiều - 22 câu hỏi phỏng vấn - Senior - [Câu hỏi phỏng vấn: iOS](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van.md) ## 1. Ba lớp chính của Clean Architecture là gì? **Câu trả lời** Clean Architecture tổ chức mã thành các lớp đồng tâm: Entities (logic nghiệp vụ), Use Cases (quy tắc ứng dụng) và Frameworks/Drivers (chi tiết triển khai). Các phụ thuộc phải luôn hướng vào trong, không bao giờ hướng ra ngoài. Cấu trúc này đảm bảo tính độc lập với framework và khả năng kiểm thử của logic nghiệp vụ. ## 2. Dependency Rule trong Clean Architecture là gì? **Câu trả lời** Dependency Rule quy định rằng các phụ thuộc của mã nguồn chỉ được hướng vào trong. Mã ở các lớp bên ngoài không bao giờ được tham chiếu bởi mã của lớp bên trong. Điều này bảo toàn tính độc lập của các quy tắc nghiệp vụ khỏi các chi tiết kỹ thuật và framework bên ngoài. ## 3. Vai trò của Use Case trong Clean Architecture là gì? **Câu trả lời** Use Case đóng gói các quy tắc đặc thù của ứng dụng, độc lập với framework. Nó điều phối các Entities, xác thực các yêu cầu và tạo ra các phản hồi. Mỗi Use Case đại diện cho một hành động cụ thể của người dùng đồng thời giữ logic nghiệp vụ tách biệt khỏi presentation và persistence. ## Còn 19 câu hỏi nữa - Làm thế nào để kiểm thử một Use Case trong Clean Architecture? - Khái niệm Entities trong Clean Architecture là gì? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn iOS khác - [Kiến thức cơ bản về Swift](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/swift-basics.md): 25 câu hỏi, Junior - [Kiến thức cơ bản về ngôn ngữ Swift](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/swift-language-essentials.md): 15 câu hỏi, Junior - [Kiến thức cơ bản về UIKit](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/uikit-fundamentals.md): 18 câu hỏi, Junior - [Vòng đời UIViewController](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/uiviewcontroller-lifecycle.md): 20 câu hỏi, Junior - [UserDefaults & Keychain](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/userdefaults-keychain.md): 20 câu hỏi, Junior - [Vòng đời của ứng dụng](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/app-lifecycle.md): 20 câu hỏi, Junior - [Auto Layout & Constraints](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/auto-layout-constraints.md): 24 câu hỏi, Mid-Level - [UITableView & UICollectionView](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/uitableview-uicollectionview.md): 25 câu hỏi, Mid-Level - [Kiến thức cơ bản về SwiftUI](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/swiftui-basics.md): 18 câu hỏi, Mid-Level - [Quản lý trạng thái SwiftUI](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/swiftui-state-management.md): 22 câu hỏi, Mid-Level - [Điều hướng SwiftUI](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/swiftui-navigation.md): 18 câu hỏi, Mid-Level - [Networking & URLSession](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/networking-urlsession.md): 20 câu hỏi, Mid-Level - [Codable & Phân tích JSON](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/codable-json-parsing.md): 20 câu hỏi, Mid-Level - [Core Data](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/core-data.md): 22 câu hỏi, Mid-Level - [Lập trình hướng giao thức](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/protocol-oriented-programming.md): 20 câu hỏi, Mid-Level - [Kiến trúc MVVM](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/mvvm-architecture.md): 20 câu hỏi, Mid-Level - [Thông báo Push](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/push-notifications.md): 18 câu hỏi, Mid-Level - [Unit Testing & XCTest](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/unit-testing-xctest.md): 20 câu hỏi, Mid-Level - [Kiểm thử giao diện người dùng](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/ui-testing.md): 18 câu hỏi, Mid-Level - [Xcode & Hệ thống Build](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/xcode-build-system.md): 16 câu hỏi, Mid-Level - [Swift Package Manager](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/swift-package-manager.md): 16 câu hỏi, Mid-Level - [Memory Management & ARC](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/memory-management-arc.md): 22 câu hỏi, Senior - [Combine Framework](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/combine-framework.md): 24 câu hỏi, Senior - [Concurrency & async/await](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/concurrency-async-await.md): 26 câu hỏi, Senior - [iOS Design Patterns](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/ios-design-patterns.md): 24 câu hỏi, Senior - [Tối ưu hóa hiệu suất](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/performance-optimization.md): 22 câu hỏi, Senior - [Bảo mật và mã hóa](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/security-encryption.md): 20 câu hỏi, Senior - [SwiftUI Advanced](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/swiftui-advanced.md): 22 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/ios/cau-hoi-phong-van/ios-app-architecture