# Vòng đời UIViewController (iOS) > Vòng đời UIViewController, viewDidLoad, viewWillAppear, chuyển cảnh, memory warning - 20 câu hỏi phỏng vấn - Junior - [Câu hỏi phỏng vấn: iOS](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van.md) ## 1. Phương thức loadView trong vòng đời của UIViewController là gì? **Câu trả lời** loadView được gọi để tạo root view của controller. Nó được gọi trước viewDidLoad và chỉ nên được override nếu view được tạo bằng code mà không dùng Interface Builder. Đây là giai đoạn đầu tiên của vòng đời, lý tưởng để xây dựng cây phân cấp root view. Không bao giờ gọi super.loadView() khi override vì điều đó sẽ tải xib/storyboard mặc định. ## 2. viewDidLoad được gọi khi nào trong vòng đời? **Câu trả lời** viewDidLoad được gọi một lần sau khi view đã được tải vào bộ nhớ, sau loadView. Đây là thời điểm lý tưởng để cấu hình IBOutlet và khởi tạo trạng thái nội bộ. Phương thức này không bao giờ được gọi lại trong suốt vòng đời của controller. ## 3. Vai trò của viewWillAppear trong vòng đời là gì? **Câu trả lời** viewWillAppear được gọi trước khi view được hiển thị trên màn hình. Nó có thể được gọi nhiều lần trong suốt vòng đời của controller. Đây là nơi thích hợp để thực hiện các thay đổi cần xảy ra mỗi khi view xuất hiện, chẳng hạn như làm mới dữ liệu. ## Còn 17 câu hỏi nữa - Sự khác biệt giữa viewWillAppear và viewDidAppear là gì? - Mục đích của viewWillDisappear 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 - [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 - [Kiến trúc ứng dụng iOS](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van/ios-app-architecture.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/uiviewcontroller-lifecycle