Cơ hội việc làm dành cho các lập trình viên di động, đặc biệt IOS ngày càng mở rộng khi có nhiều doanh nghiệp áp dụng công nghệ di động vào hoạt động kinh doanh của họ. Nếu bạn là một lập trình phát triển ứng dụng di động tài năng và đã và đang tìm việc làm trong lĩnh vực này, bạn có thể đọc tiếp. Chúng tôi đã liệt kê danh sách những câu hỏi phỏng vấn IOS developer thường gặp nhất.
Câu hỏi phỏng vấn IOS developer thường gặp
Phân biệt các hàm sau: viewDidAppear, viewDidUnload, viewWillAppear, viewWillDisappear, viewDidLoad, viewDidDisappear?
- Hàm viewDidAppear được gọi khi view đã hiển thị xong.
- Hàm viewDidLoad được gọi đầu tiên khi view được khởi tạo.
- Hàm viewWillAppear được gọi khi view bắt đầu được hiển thị.
- Hàm viewWillDisappear được gọi khi bắt đầu chuyển sang view khác.
- Hàm viewDidDisappear được gọi sau khi đã chuyển sang view khác.
Cho biết hàm nào được gọi khi application chuyển sang chạy background, và hàm nào được gọi khi chuyển lên chạy foreground.
- Hàm chuyển sang background: applicationDidEnterBackground (Trong AppDelegate class)
- Hàm chuyển lên foreground: applicationWillEnterForeground (Trong AppDelegate class)
>>> Xem thêm Việc làm IOS lương cao
Cho biết App Bundle là gì?
Khi phát triển ứng dụng iOS, Xcode sẽ đóng gói ứng dụng vào một thư mục, thư mục này chứa file thực thi và các tài nguyên bao gồm: hình ảnh, video, icon ứng dụng, cơ sở dữ liệu… được sử dụng bởi ứng dụng.
Cho biết thành phần trong kiến trúc IOS?
Đây là câu hỏi phỏng vấn IOS developer chắc chắn sẽ được hỏi trong các cuộc phỏng vấn. Bạn chỉ cần trả lời đơn giản các thành phần trong kiến trúc IOS gồm có:
- Cocotouch: hổ trợ các thư viện tương tác giao diện, và sự kiện như UIKit, MapKit, GameKit,EventKit,…
- Media: quản lý việc truy xuất đa phương tiện như CoreAudio, QuaztCore, CoreImage,…
- Core Services: gồm các thư viện hổ trợ truy xuất xuống Kernal như CoreLocation, CoreTelephony, AddressBook …
- Core OS: nhiệm vụ quản lý bộ nhớ, tuyến trình, tập tin hệ thống, truy xuất các thành phần phần cứng.
Fast Enumeration là gì?
Đây là một tính năng giúp hỗ trợ duyệt từng phần tử trong một mảng dữ liệu mà không cần biết tổng số phần tử đang có, sử dụng cấu trúc for…in
Cho biết @dynamic có ý nghĩa gì ?
- Đóng vai trò là hệ thống không tự phát sinh hàm getter/setter cho các biến lớp.
- Đóng vai trò là hệ thống không cảnh báo chưa khai báo hàm getter/setter cho các biến lớp lúc biên dịch.
>>> Tham khảo Mô tả công việc Lập trình viên IOS chuẩn
Khi gọi autorelease trên một đối tượng sẽ có điều gì xảy ra?
Khi autorelease trên một đối tượng sẽ có các hiện tượng sau:
- Giá trị retain count sẽ bị giảm đi một đơn vị lúc thích hợp.
- Đối tượng sẽ được đưa vào autorelease pool trong tuyến trình hiện tại
- Tuyến trình chính sẽ tạo một autorelease pool lúc bắt đầu gọi hàm, và hủy pool lúc kết thúc việc gọi hàm.
Cho biết các trạng thái có thể có của một ứng dụng iOS ?
Các trạng thái có thể xảy ra bao gồm:
- Not Running
- Inactive: ứng dụng đang chạy nhưng không nhận bất kỳ sự kiện nào, xảy ra khi người dùng lock màn hình, hoặc ứng dụng đang chạy mà có tin nhắn, hoặc cuộc gọi đến.
- Active (Foreground): ứng dụng đang chạy và xử lý các sự kiện từ người dùng và hệ thống.
- Suspended: ứng dụng chạy ở chế độ nền và không xử lý bất kỳ tác vụ nào, xảy ra khi hệ thống không đủ bộ nhớ, được tự động quản lý bởi iOS và không có thông điệp phản hồi khi ứng dụng chuyển sang trạng thái này.
- Background: ứng dụng chạy ở chế độ nền, và có thể tiếp tục xử lý một số tác vụ, ví dụ nhận sự kiện khi người dùng thay đổi vị trí.
Một số câu hỏi phỏng vấn IOS developer khác
- Cho biết sự khác biệt giữa Frame và Bound ?
- Thế nào là Single Inheritance trong Objective C ?
- Phân biệt Frame và Bound?
- Từ khóa @synthesize có ý nghĩa gì ?
- Kích thước dữ liệu được phép nhận và gửi đến Apple Push Notification Server là bao nhiêu?
- Phân biệt giữa shadow coppy và deep coppy ?
- Làm thế nào để hủy một đối tượng outlet ?
- Cho biết KVO, KVC trong objective C là gì ?
Trên đây là một số câu hỏi phỏng vấn IOS developer mà bạn có thể gặp khi đi phỏng vấn tìm việc làm nhanh. Nếu bạn đã và đang làm việc trong lĩnh vực IOS, chắc chắn những câu hỏi này không thể làm khó bạn được. Hy vọng bài viết này phần nào hữu ích trong quá trình chuẩn bị phỏng vấn của bạn. Chúc các bạn thành công.
Bài viết liên quan: