1. Phương pháp nào sau đây giúp giảm kích thước của ứng dụng di động?
A. Sử dụng hình ảnh và video chất lượng cao
B. Tối ưu hóa mã nguồn
C. Sử dụng nhiều thư viện bên ngoài
D. Tăng số lượng tính năng của ứng dụng
2. Phương pháp nào sau đây giúp cải thiện trải nghiệm người dùng (UX) của ứng dụng di động?
A. Thực hiện kiểm thử người dùng (user testing)
B. Thu thập phản hồi từ người dùng
C. Liên tục cải tiến ứng dụng dựa trên phản hồi
D. Tất cả các đáp án trên
3. Kiến trúc ứng dụng di động nào tập trung vào việc xử lý dữ liệu trên thiết bị thay vì server?
A. Kiến trúc client-server
B. Kiến trúc ba lớp
C. Kiến trúc microservices
D. Kiến trúc offline-first
4. Phương pháp nào sau đây giúp cải thiện khả năng tiếp cận (accessibility) của ứng dụng di động cho người dùng khuyết tật?
A. Sử dụng màu sắc tương phản cao
B. Cung cấp văn bản thay thế cho hình ảnh
C. Hỗ trợ điều hướng bằng giọng nói
D. Tất cả các đáp án trên
5. Loại kiểm thử nào tập trung vào việc xác minh rằng ứng dụng hoạt động chính xác trên các thiết bị và hệ điều hành khác nhau?
A. Kiểm thử đơn vị (Unit testing)
B. Kiểm thử tích hợp (Integration testing)
C. Kiểm thử khả năng tương thích (Compatibility testing)
D. Kiểm thử hệ thống (System testing)
6. Phương pháp tiếp cận phát triển ứng dụng di động `cross-platform` nào sử dụng webview để hiển thị giao diện người dùng?
A. Native development
B. Progressive Web Apps (PWAs)
C. Hybrid apps
D. React Native
7. Điều gì KHÔNG nên được chia sẻ trong các thông báo đẩy (push notifications)?
A. Thông tin khuyến mãi
B. Cập nhật về sản phẩm mới
C. Thông tin cá nhân nhạy cảm
D. Lời nhắc nhở
8. Phương pháp nào sau đây giúp giảm thiểu mức tiêu thụ pin của ứng dụng di động?
A. Tăng tần suất cập nhật vị trí
B. Sử dụng hình ảnh và video chất lượng cao
C. Tối ưu hóa thuật toán và giảm thiểu các tác vụ nền
D. Tăng số lượng thông báo đẩy
9. Lợi ích chính của việc sử dụng kiến trúc microservices trong phát triển ứng dụng di động là gì?
A. Giảm chi phí phát triển
B. Tăng tốc độ phát triển và triển khai
C. Đơn giản hóa việc bảo trì và cập nhật
D. Tất cả các đáp án trên
10. Loại tấn công nào khai thác các lỗ hổng trong API của ứng dụng di động?
A. Tấn công từ chối dịch vụ (DoS)
B. Tấn công trung gian (Man-in-the-middle)
C. Tấn công API
D. Tấn công XSS
11. Loại tấn công bảo mật nào liên quan đến việc chèn mã độc vào ứng dụng di động?
A. SQL injection
B. Cross-site scripting (XSS)
C. Malware injection
D. Denial-of-service (DoS)
12. Công cụ nào sau đây thường được sử dụng để quản lý và theo dõi lỗi (bug tracking) trong quá trình phát triển ứng dụng di động?
A. Git
B. Jira
C. Jenkins
D. Docker
13. Phương pháp xác thực nào sau đây cung cấp bảo mật cao nhất cho ứng dụng di động?
A. Xác thực bằng mật khẩu
B. Xác thực hai yếu tố (2FA)
C. Xác thực sinh trắc học
D. Xác thực bằng mã PIN
14. Điều gì KHÔNG phải là một lợi ích của việc sử dụng Continuous Integration (CI) trong phát triển ứng dụng di động?
A. Phát hiện lỗi sớm
B. Giảm rủi ro tích hợp
C. Tăng tốc độ phát triển
D. Loại bỏ hoàn toàn nhu cầu kiểm thử thủ công
15. Điều gì KHÔNG phải là một lợi ích của việc sử dụng các thành phần giao diện người dùng (UI components) có thể tái sử dụng?
A. Giảm thời gian phát triển
B. Tăng tính nhất quán của giao diện
C. Giảm chi phí bảo trì
D. Tăng độ phức tạp của mã nguồn
16. Loại kiểm thử nào xác minh rằng ứng dụng hoạt động như mong đợi trong các điều kiện tải cao?
A. Kiểm thử chức năng
B. Kiểm thử hiệu năng
C. Kiểm thử bảo mật
D. Kiểm thử tải
17. Điều gì KHÔNG phải là một phần của quy trình phát hành ứng dụng di động?
A. Chuẩn bị tài liệu tiếp thị
B. Kiểm tra ứng dụng lần cuối
C. Gửi ứng dụng lên cửa hàng ứng dụng
D. Viết mã nguồn cho ứng dụng
18. Mục đích chính của việc sử dụng các công cụ phân tích ứng dụng di động (mobile analytics) là gì?
A. Tự động tạo mã nguồn cho ứng dụng
B. Theo dõi và phân tích hành vi người dùng
C. Tối ưu hóa hiệu năng của ứng dụng
D. Quản lý cơ sở dữ liệu của ứng dụng
19. Phương pháp nào sau đây giúp bảo vệ dữ liệu người dùng trên ứng dụng di động?
A. Sử dụng mã hóa (encryption)
B. Thực hiện xác thực hai yếu tố (2FA)
C. Kiểm tra và vá lỗi bảo mật thường xuyên
D. Tất cả các đáp án trên
20. Công cụ nào sau đây giúp quản lý các phiên bản khác nhau của mã nguồn ứng dụng di động?
A. Git
B. Jira
C. Jenkins
D. Docker
21. Điều gì là quan trọng nhất để xem xét khi lựa chọn nền tảng phát triển ứng dụng di động (native, cross-platform, hybrid)?
A. Chi phí phát triển
B. Thời gian phát triển
C. Hiệu năng của ứng dụng
D. Tất cả các đáp án trên
22. Nguyên tắc SOLID nào đề xuất rằng một lớp (class) chỉ nên có một lý do để thay đổi?
A. Single Responsibility Principle (SRP)
B. Open/Closed Principle (OCP)
C. Liskov Substitution Principle (LSP)
D. Interface Segregation Principle (ISP)
23. Công cụ nào sau đây được sử dụng chủ yếu để kiểm tra hiệu năng (performance testing) của ứng dụng di động?
A. JUnit
B. Selenium
C. JMeter
D. Mockito
24. Phương pháp nào sau đây giúp cải thiện khả năng mở rộng (scalability) của ứng dụng di động?
A. Sử dụng cơ sở dữ liệu quan hệ (RDBMS)
B. Sử dụng bộ nhớ cache (caching)
C. Sử dụng một máy chủ duy nhất
D. Sử dụng mã nguồn đơn luồng (single-threaded)
25. Yếu tố nào sau đây KHÔNG ảnh hưởng đến thứ hạng của ứng dụng di động trên các cửa hàng ứng dụng (app store)?
A. Số lượng lượt tải xuống
B. Đánh giá và nhận xét của người dùng
C. Tối ưu hóa từ khóa trong mô tả ứng dụng
D. Màu sắc chủ đạo của biểu tượng ứng dụng
26. Công cụ nào sau đây thường được sử dụng để tự động hóa quá trình kiểm thử giao diện người dùng (UI testing) của ứng dụng di động?
A. JUnit
B. Selenium
C. Appium
D. Mockito
27. Khía cạnh nào sau đây KHÔNG nên được ưu tiên trong giai đoạn lập kế hoạch phát triển ứng dụng di động?
A. Xác định đối tượng mục tiêu
B. Nghiên cứu thị trường và đối thủ cạnh tranh
C. Viết mã nguồn chi tiết
D. Lập ngân sách và thời gian biểu
28. Loại kiểm thử nào tập trung vào việc xác minh rằng ứng dụng tuân thủ các yêu cầu bảo mật?
A. Kiểm thử chức năng (Functional testing)
B. Kiểm thử hiệu năng (Performance testing)
C. Kiểm thử bảo mật (Security testing)
D. Kiểm thử khả năng sử dụng (Usability testing)
29. Điều gì là quan trọng nhất để xem xét khi thiết kế giao diện người dùng (UI) cho ứng dụng di động?
A. Sử dụng nhiều màu sắc và hiệu ứng động
B. Đảm bảo tính nhất quán và dễ sử dụng
C. Tối ưu hóa cho các thiết bị có màn hình lớn
D. Sử dụng phông chữ phức tạp và khó đọc
30. Yếu tố nào sau đây KHÔNG phải là một phần của quy trình phát triển ứng dụng di động Agile?
A. Phát triển lặp đi lặp lại
B. Sự tham gia của khách hàng liên tục
C. Tài liệu toàn diện từ đầu
D. Phản hồi nhanh chóng với thay đổi