Networking & URLSession
URLSession, HTTP request, data task, upload, download, xử lý lỗi, async/await
1Sự khác biệt chính giữa URLSession.shared và một instance URLSession tùy chỉnh là gì?
Sự khác biệt chính giữa URLSession.shared và một instance URLSession tùy chỉnh là gì?
Câu trả lời
URLSession.shared là một singleton toàn cục với cấu hình mặc định, lý tưởng cho các request đơn giản. Một instance tùy chỉnh cho phép cấu hình hành vi (timeout, caching, delegate) cho các nhu cầu cụ thể. Sử dụng instance tùy chỉnh mang lại khả năng kiểm soát chi tiết các chính sách cache, chứng chỉ SSL và chuyển hướng.
2Vai trò chính của lớp URLRequest là gì?
Vai trò chính của lớp URLRequest là gì?
Câu trả lời
URLRequest đóng gói các tham số của một HTTP request: URL, phương thức HTTP (GET, POST, v.v.), header tùy chỉnh, timeout, body của request và chính sách cache. Nó cho phép cấu hình chính xác cách một request được gửi trước khi chuyển nó cho URLSession.
3Khi nào nên dùng phương thức HTTP POST thay vì GET trong một URLRequest?
Khi nào nên dùng phương thức HTTP POST thay vì GET trong một URLRequest?
Câu trả lời
Sử dụng POST để gửi dữ liệu nhạy cảm (mật khẩu, token), khối lượng dữ liệu lớn, hoặc các thao tác thay đổi trạng thái server. GET phù hợp để lấy dữ liệu mà không gây tác dụng phụ. POST đóng gói dữ liệu trong body của request, an toàn hơn và không giới hạn kích thước.
Mục đích chính của việc thêm header tùy chỉnh vào một URLRequest là gì?
Làm thế nào để xây dựng một URL phức tạp với nhiều tham số query bằng URLComponents?
+17 câu hỏi phỏng vấn
Các chủ đề phỏng vấn iOS khác
Kiến thức cơ bản về Swift
Kiến thức cơ bản về ngôn ngữ Swift
Kiến thức cơ bản về UIKit
Vòng đời UIViewController
UserDefaults & Keychain
Vòng đời của ứng dụng
Auto Layout & Constraints
UITableView & UICollectionView
Kiến thức cơ bản về SwiftUI
Quản lý trạng thái SwiftUI
Điều hướng SwiftUI
Codable & Phân tích JSON
Core Data
Lập trình hướng giao thức
Kiến trúc MVVM
Thông báo Push
Unit Testing & XCTest
Kiểm thử giao diện người dùng
Xcode & Hệ thống Build
Swift Package Manager
Memory Management & ARC
Combine Framework
Concurrency & async/await
iOS Design Patterns
Tối ưu hóa hiệu suất
Bảo mật và mã hóa
SwiftUI Advanced
Kiến trúc ứng dụng iOS
Nắm vững iOS cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí