500+ câu Trắc nghiệm Phát triển game trên Android cơ bản có đáp án - Phần 15
Đề thi

500+ câu Trắc nghiệm Phát triển game trên Android cơ bản có đáp án - Phần 15

A
Admin
Đại họcTrắc nghiệm tổng hợp26 lượt thi
31 câu hỏi
1. Trắc nghiệm
1 điểm

Trong phát triển ứng dụng iOS, khi nào nên sử dụng `delegate` pattern so với `NotificationCenter`?

Khi cần gửi thông báo đến nhiều đối tượng nhận độc lập, không có mối quan hệ trực tiếp

Khi cần một mối quan hệ một-nhiều (one-to-many) hoặc một-một (one-to-one) rõ ràng, nơi đối tượng nguồn (source) chủ động thông báo cho một hoặc một vài đối tượng nhận cụ thể (delegate)

Chỉ khi cần gửi thông báo đến tất cả các đối tượng trong ứng dụng

Khi không có mối quan hệ rõ ràng giữa các đối tượng và chỉ cần thông báo chung

Xem đáp án

Chọn đáp án B

2. Trắc nghiệm
1 điểm

Một ứng dụng di động cần phân biệt giữa các loại màn hình khác nhau (ví dụ: điện thoại, máy tính bảng) và hiển thị giao diện phù hợp. Biện pháp nào sau đây là hiệu quả nhất để đạt được điều này?Phần cứng máy tính

Sử dụng một bố cục cố định duy nhất cho mọi kích thước màn hình

Sử dụng các tài nguyên (layout, drawable, string) có tên khác nhau dựa trên loại màn hình (ví dụ: `layout-sw600dp` cho máy tính bảng trên Android)

Chỉ hỗ trợ một loại kích thước màn hình

Yêu cầu người dùng điều chỉnh kích thước hiển thị thủ công

Xem đáp án

Chọn đáp án B

3. Trắc nghiệm
1 điểm

Một nhà phát triển đang xây dựng một ứng dụng yêu cầu người dùng đăng nhập bằng tài khoản Google. Họ cần sử dụng SDK của Google để thực hiện việc này. Nền tảng nào thường cung cấp các SDK và API cho phép tích hợp dịch vụ của Google vào ứng dụng di động?

React Native

Flutter

Android (với Android SDK) và iOS (với Google Sign-In SDK)

Tất cả các lựa chọn trên đều có thể tích hợp dịch vụ Google

Xem đáp án

Chọn đáp án D

4. Trắc nghiệm
1 điểm

Trong phát triển ứng dụng di động, ‘Deep Linking’ cho phép người dùng thực hiện hành động gì?

Cho phép ứng dụng truy cập trực tiếp vào camera của thiết bị

Cho phép người dùng chuyển đổi giữa các ứng dụng khác nhau trên thiết bị

Chuyển hướng người dùng từ một liên kết web hoặc ứng dụng khác đến một trang hoặc nội dung cụ thể bên trong ứng dụng di động

Cho phép ứng dụng gửi tin nhắn SMS tự động

Xem đáp án

Chọn đáp án C

5. Trắc nghiệm
1 điểm

Một ứng dụng cần hiển thị một danh sách các mặt hàng. Mỗi mặt hàng có thể có hình ảnh, tên, giá và một nút ‘Thêm vào giỏ hàng’. Để hiển thị danh sách này một cách hiệu quả và có thể tái sử dụng các thành phần giao diện, bạn nên sử dụng kỹ thuật nào?

Tạo một đối tượng `View` mới cho mỗi mục trong danh sách

Sử dụng một Adapter (ví dụ: `RecyclerView.Adapter` trên Android, `UICollectionViewDataSource` trên iOS) để liên kết dữ liệu với các View có thể tái sử dụng

Sử dụng `LinearLayout` chứa tất cả các mục

Cuộn từng mục một cách thủ công

Xem đáp án

Chọn đáp án B

6. Trắc nghiệm
1 điểm

Một nhà phát triển đang xem xét việc thêm tính năng xác thực người dùng cho ứng dụng của mình. Họ muốn một giải pháp an toàn, dễ triển khai và có thể xử lý nhiều phương thức xác thực (email/mật khẩu, Google, Facebook). Giải pháp nào sau đây là phù hợp?

Tự xây dựng hệ thống quản lý người dùng từ đầu và lưu trữ mật khẩu dưới dạng văn bản thuần

Sử dụng các dịch vụ xác thực của bên thứ ba như Firebase Authentication, Auth0, hoặc AWS Cognito

Chỉ cho phép người dùng truy cập ứng dụng mà không cần đăng nhập

Lưu trữ tên người dùng và mật khẩu trực tiếp trong SharedPreferences

Xem đáp án

Chọn đáp án B

7. Trắc nghiệm
1 điểm

Trong phát triển ứng dụng di động, ‘Unit Testing’ (Kiểm thử đơn vị) là gì và mục đích của nó là gì?

Kiểm tra toàn bộ ứng dụng trên nhiều thiết bị khác nhau

Kiểm tra từng đơn vị nhỏ nhất của mã nguồn (ví dụ: một hàm, một lớp) một cách độc lập để đảm bảo chúng hoạt động đúng

Kiểm tra trải nghiệm người dùng cuối cùng

Kiểm tra hiệu suất của ứng dụng trên mạng chậm

Xem đáp án

Chọn đáp án B

8. Trắc nghiệm
1 điểm

Khi thiết kế một ứng dụng di động, việc sử dụng các Icon ngữ cảnh (Contextual Icons) có ý nghĩa gì?

Sử dụng các biểu tượng động thay đổi dựa trên thời tiết

Sử dụng các biểu tượng quen thuộc, dễ hiểu và thể hiện rõ chức năng của nút hoặc hành động tương ứng

Sử dụng các biểu tượng trừu tượng để tăng tính thẩm mỹ

Chỉ sử dụng các biểu tượng có sẵn trong hệ điều hành

Xem đáp án

Chọn đáp án B

9. Trắc nghiệm
1 điểm

Trong phát triển ứng dụng di động, ‘Native App’ (Ứng dụng gốc) là gì?

Ứng dụng được phát triển bằng các ngôn ngữ lập trình web như HTML, CSS, JavaScript

Ứng dụng được xây dựng bằng ngôn ngữ lập trình và bộ công cụ phát triển (SDK) dành riêng cho một nền tảng di động cụ thể (ví dụ: Swift/Objective-C cho iOS, Kotlin/Java cho Android)

Ứng dụng có thể chạy trên mọi hệ điều hành mà không cần thay đổi mã nguồn

Ứng dụng được truy cập thông qua trình duyệt web trên điện thoại

Xem đáp án

Chọn đáp án B

10. Trắc nghiệm
1 điểm

Trong phát triển ứng dụng di động, khái niệm ‘State Management’ đề cập đến việc gì?

Quản lý trạng thái kết nối mạng của thiết bị

Quản lý vòng đời của ứng dụng và các hoạt động (activities/view controllers)

Cách dữ liệu và trạng thái của giao diện người dùng (UI) được lưu trữ, cập nhật và truyền đi trong ứng dụng

Kiểm soát quyền truy cập của ứng dụng vào các tài nguyên hệ thống

Xem đáp án

Chọn đáp án C

11. Trắc nghiệm
1 điểm

Một ứng dụng di động cần lưu trữ các cài đặt của người dùng như tên người dùng, tùy chọn chủ đề (theme) và trạng thái đăng nhập. Phương pháp lưu trữ nào sau đây là phù hợp và hiệu quả cho các dữ liệu này trên Android?

Lưu trữ tất cả cài đặt vào một file văn bản lớn trong bộ nhớ trong

Sử dụng `SharedPreferences` để lưu trữ các cặp key-value nhỏ, dễ truy cập

Sử dụng `ContentProvider` để quản lý tất cả cài đặt

Lưu trữ trực tiếp vào database SQLite mà không có bất kỳ lớp trừu tượng nào

Xem đáp án

Chọn đáp án B

12. Trắc nghiệm
1 điểm

Một ứng dụng cần hiển thị danh sách các mục có thể cuộn vô hạn (infinite scrolling) và mỗi mục có thể chứa hình ảnh, tiêu đề và mô tả. Thư viện UI nào sau đây trên Android là phù hợp nhất để hiển thị danh sách hiệu quả, đặc biệt khi số lượng mục rất lớn?

`ListView`

`RecyclerView`

`LinearLayout` lồng trong `ScrollView`

`GridView`

Xem đáp án

Chọn đáp án B

13. Trắc nghiệm
1 điểm

Khi thiết kế giao diện người dùng cho ứng dụng di động, nguyên tắc ‘Progressive Disclosure’ đề cập đến điều gì?

Hiển thị tất cả thông tin và tùy chọn ngay lập tức để người dùng dễ dàng truy cập

Che giấu các tùy chọn hoặc thông tin ít quan trọng ban đầu, chỉ hiển thị khi người dùng yêu cầu hoặc cần thiết

Sử dụng các animation phức tạp để thu hút sự chú ý của người dùng

Luôn ưu tiên hiển thị các nút hành động chính ở vị trí dễ thấy nhất

Xem đáp án

Chọn đáp án B

14. Trắc nghiệm
1 điểm

Một nhóm nhà phát triển đang xây dựng một ứng dụng nhắn tin thời gian thực. Họ cần một giải pháp backend có khả năng xử lý đồng thời hàng triệu kết nối và đẩy tin nhắn tức thời đến người dùng. Giải pháp nào sau đây là phù hợp nhất?

Sử dụng RESTful API với polling liên tục từ client

Sử dụng WebSockets hoặc công nghệ tương tự (như MQTT) cho giao tiếp hai chiều thời gian thực

Sử dụng FTP để truyền tin nhắn giữa các client

Xây dựng một ứng dụng backend đơn luồng (single-threaded) để quản lý tất cả kết nối

Xem đáp án

Chọn đáp án C

15. Trắc nghiệm
1 điểm

Một ứng dụng di động cần phân tích hành vi người dùng để cải thiện trải nghiệm. Họ muốn theo dõi các sự kiện như lượt nhấp vào nút, thời gian xem trang, và luồng di chuyển của người dùng. Công cụ phân tích nào thường được sử dụng cho mục đích này?

Firebase Performance Monitoring

Firebase Crashlytics

Firebase Analytics (hoặc các công cụ tương tự như Google Analytics for Mobile)

Firebase Cloud Messaging

Xem đáp án

Chọn đáp án B

16. Trắc nghiệm
1 điểm

Khi xây dựng một ứng dụng có khả năng tùy chỉnh cao cho người dùng, ví dụ như cho phép họ thay đổi bố cục, màu sắc, hoặc thêm/bớt các widget trên màn hình. Cách tiếp cận nào sau đây là phù hợp nhất để lưu trữ và khôi phục các tùy chỉnh này?

Lưu trữ tất cả tùy chỉnh dưới dạng các biến toàn cục (global variables)

Sử dụng một cơ sở dữ liệu như SQLite hoặc Realm để lưu trữ các cấu hình tùy chỉnh dưới dạng các bản ghi có cấu trúc

Yêu cầu người dùng nhập lại tất cả tùy chỉnh mỗi khi mở ứng dụng

Lưu trữ các tùy chỉnh dưới dạng các tệp cấu hình JSON riêng lẻ cho mỗi người dùng

Xem đáp án

Chọn đáp án B

17. Trắc nghiệm
1 điểm

Trong phát triển ứng dụng di động, ‘Accessibility’ (Khả năng tiếp cận) đề cập đến điều gì?

Khả năng ứng dụng hoạt động tốt trên các thiết bị có cấu hình thấp

Khả năng ứng dụng có thể truy cập và sử dụng bởi mọi người, bao gồm cả những người có khuyết tật (ví dụ: khiếm thị, khiếm thính, suy giảm vận động)

Khả năng ứng dụng tự động điều chỉnh ngôn ngữ

Khả năng ứng dụng kết nối với các thiết bị Bluetooth

Xem đáp án

Chọn đáp án B

18. Trắc nghiệm
1 điểm

Trong quá trình phát triển ứng dụng, việc sử dụng CI/CD (Continuous Integration/Continuous Deployment) mang lại lợi ích chính nào?

Tăng cường bảo mật bằng cách mã hóa tất cả dữ liệu người dùng

Giảm thiểu rủi ro lỗi phần mềm, tăng tốc độ phát hành và cải thiện quy trình làm việc của đội ngũ.Phần mềm

Đảm bảo ứng dụng tương thích với mọi phiên bản hệ điều hành di động

Tự động hóa việc thiết kế giao diện người dùng

Xem đáp án

Chọn đáp án B

19. Trắc nghiệm
1 điểm

Trong phát triển ứng dụng di động, ‘Cross-Platform Development’ (Phát triển đa nền tảng) đề cập đến việc gì?

Xây dựng ứng dụng chỉ chạy trên một hệ điều hành duy nhất

Phát triển một ứng dụng bằng một bộ mã nguồn duy nhất có thể chạy trên nhiều hệ điều hành di động (ví dụ: iOS và Android)

Phát triển ứng dụng chỉ dành cho máy tính để bàn

Phát triển ứng dụng web có thể truy cập từ mọi thiết bị

Xem đáp án

Chọn đáp án B

20. Trắc nghiệm
1 điểm

Một nhà phát triển cần triển khai một tính năng cho phép người dùng chụp ảnh và tải lên ứng dụng. Họ muốn xử lý ảnh sau khi chụp (ví dụ: cắt, xoay). Cơ chế nào sau đây là phù hợp để lấy ảnh từ camera và xử lý?

Sử dụng `SharedPreferences` để lưu ảnh

Sử dụng các API camera của hệ điều hành (ví dụ: `CameraX` trên Android, `AVFoundation` trên iOS) để chụp ảnh và sau đó xử lý tệp ảnh

Yêu cầu người dùng tải ảnh từ máy tính.Phần cứng máy tính

Sử dụng `NotificationCenter` để nhận ảnh

Xem đáp án

Chọn đáp án B

21. Trắc nghiệm
1 điểm

Trong phát triển ứng dụng di động, ‘responsive design’ có nghĩa là gì?

Thiết kế giao diện người dùng có khả năng tự điều chỉnh để hiển thị tốt trên các kích thước màn hình và độ phân giải khác nhau

Ứng dụng có thể tự động cập nhật mà không cần sự can thiệp của người dùng

Ứng dụng có thể phản hồi nhanh chóng với các hành động của người dùng

Thiết kế tập trung vào việc tối ưu hóa hiệu suất sử dụng pin

Xem đáp án

Chọn đáp án B

22. Trắc nghiệm
1 điểm

Trong phát triển ứng dụng di động, ‘responsive design’ có nghĩa là gì?

Thiết kế giao diện người dùng có khả năng tự điều chỉnh để hiển thị tốt trên các kích thước màn hình và độ phân giải khác nhau

Ứng dụng có thể tự động cập nhật mà không cần sự can thiệp của người dùng

Ứng dụng có thể phản hồi nhanh chóng với các hành động của người dùng

Thiết kế tập trung vào việc tối ưu hóa hiệu suất sử dụng pin

Xem đáp án

Chọn đáp án B

23. Trắc nghiệm
1 điểm

Trong kiến trúc MVVM (Model-View-ViewModel), vai trò chính của ‘ViewModel’ là gì?

Chứa logic trình bày (presentation logic) và cung cấp dữ liệu cho View, đồng thời xử lý các hành động từ View

Đại diện cho dữ liệu của ứng dụng và logic nghiệp vụ liên quan đến dữ liệu

Hiển thị giao diện người dùng và nhận tương tác từ người dùng

Quản lý kết nối mạng và truy cập cơ sở dữ liệu

Xem đáp án

Chọn đáp án B

24. Trắc nghiệm
1 điểm

Quá trình ‘debugging’ trong phát triển ứng dụng di động đề cập đến hoạt động nào?

Tìm kiếm, xác định và sửa chữa các lỗi (bugs) trong mã nguồn ứng dụng

Thiết kế giao diện người dùng và trải nghiệm người dùng

Tối ưu hóa hiệu suất và tốc độ tải của ứng dụng

Phân tích hành vi và thu thập phản hồi từ người dùng

Xem đáp án

Chọn đáp án B

25. Trắc nghiệm
1 điểm

Tại sao việc tối ưu hóa hiệu suất (performance optimization) lại quan trọng trong phát triển ứng dụng di động?

Để đảm bảo ứng dụng phản hồi nhanh, sử dụng ít tài nguyên (pin, bộ nhớ) và mang lại trải nghiệm người dùng tốt

Để giảm kích thước tệp tin cài đặt ứng dụng xuống mức tối thiểu

Để tăng khả năng tương thích với các phiên bản hệ điều hành cũ

Để đơn giản hóa quy trình debug và bảo trì ứng dụng

Xem đáp án

Chọn đáp án B

26. Trắc nghiệm
1 điểm

Trong iOS, ‘Delegate Pattern’ là một mẫu thiết kế quan trọng. Vai trò của Delegate trong mẫu này là gì?

Cho phép một đối tượng ủy thác trách nhiệm xử lý một sự kiện hoặc nhiệm vụ cho một đối tượng khác

Quản lý vòng đời của ứng dụng

Định nghĩa cấu trúc dữ liệu

Truyền dữ liệu giữa các màn hình

Xem đáp án

Chọn đáp án B

27. Trắc nghiệm
1 điểm

Trong Android, lớp (class) nào chịu trách nhiệm quản lý giao diện người dùng và vòng đời của một màn hình?

Activity

Service

BroadcastReceiver

ContentProvider

Xem đáp án

Chọn đáp án B

28. Trắc nghiệm
1 điểm

Thành phần nào của iOS cho phép bạn quản lý các đối tượng giao diện người dùng (UI Elements) và các sự kiện tương tác của người dùng?

UIViewController

AppDelegate

NSObject

UIApplication

Xem đáp án

Chọn đáp án B

29. Trắc nghiệm
1 điểm

Ưu điểm của việc sử dụng thư viện (libraries) hoặc framework trong phát triển ứng dụng di động là gì?

Tăng tốc độ phát triển, giảm thiểu mã lặp lại và tận dụng các giải pháp đã được kiểm chứng

Đảm bảo ứng dụng chỉ chạy trên một hệ điều hành duy nhất

Yêu cầu ít kiến thức chuyên môn hơn từ nhà phát triển

Giảm đáng kể chi phí bản quyền phần mềm.Phần mềm

Xem đáp án

Chọn đáp án B

30. Trắc nghiệm
1 điểm

Trong iOS, ‘Core Data’ là một framework dùng để làm gì?

Quản lý vòng đời của các đối tượng và lưu trữ dữ liệu một cách bền vững trên thiết bị

Xử lý các yêu cầu mạng

Thiết kế giao diện người dùng

Tạo hoạt ảnh (animations) cho ứng dụng

Xem đáp án

Chọn đáp án B

31. Trắc nghiệm
1 điểm

API (Application Programming Interface) trong phát triển ứng dụng di động có chức năng cơ bản là gì?

Cung cấp một bộ quy tắc và định nghĩa để các phần mềm khác nhau có thể tương tác và trao đổi dữ liệu với nhau

Xác định cấu trúc và bố cục của giao diện người dùng

Quản lý vòng đời của ứng dụng và các thành phần của nó

Tối ưu hóa việc sử dụng bộ nhớ và CPU của thiết bị

Xem đáp án

Chọn đáp án B