# UITableView & UICollectionView (iOS) > UITableView, UICollectionView, data source, delegate, tái sử dụng cell, cell tùy chỉnh - 25 câu hỏi phỏng vấn - Mid-Level - [Câu hỏi phỏng vấn: iOS](https://sharpskill.dev/vi/technologies/ios/cau-hoi-phong-van.md) ## 1. Mục đích chính của phương thức dequeueReusableCell trong UITableView là gì? **Câu trả lời** Phương thức dequeueReusableCell lấy một cell có thể tái sử dụng từ pool tái chế. Điều này tối ưu hóa bộ nhớ bằng cách tái sử dụng các cell ngoài màn hình thay vì liên tục tạo các instance mới. Điều này rất quan trọng để duy trì hiệu suất mượt mà khi cuộn. ## 2. Phương thức nào của UITableViewDataSource trả về số hàng trong một section nhất định? **Câu trả lời** Phương thức tableView(_:numberOfRowsInSection:) của protocol UITableViewDataSource trả về số hàng cho mỗi section. Nó được UITableView gọi để tính tổng chiều cao và quản lý việc tái chế cell. Phương thức này bắt buộc phải triển khai. ## 3. Lợi ích chính của việc sử dụng UICollectionViewFlowLayout thay vì một layout tùy chỉnh là gì? **Câu trả lời** UICollectionViewFlowLayout cung cấp một layout dạng lưới được dựng sẵn và tối ưu, tự động xử lý khoảng cách, căn chỉnh và xuống dòng của cell. Nó giúp tránh việc triển khai logic layout phức tạp và có thể tùy chỉnh cao thông qua các thuộc tính như minimumLineSpacing, itemSize và sectionInset. ## Còn 22 câu hỏi nữa - Làm thế nào để kết hợp các phương thức numberOfSections và numberOfRowsInSection cho một cấu trúc nhiều phần? - Giao thức nào cung cấp các phương thức để xử lý sự kiện chọn trong UICollectionView? Đă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 - [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/uitableview-uicollectionview