1. Công nghệ nào cho phép ứng dụng web hoạt động như ứng dụng native trên thiết bị di động, bao gồm cả khả năng truy cập offline và thông báo đẩy?
A. HTML5
B. CSS3
C. Progressive Web App (PWA)
D. JavaScript
2. Trong quy trình phát triển ứng dụng Agile, kiểm thử thường được thực hiện vào giai đoạn nào?
A. Chỉ sau khi hoàn thành giai đoạn phát triển
B. Liên tục và song song với giai đoạn phát triển
C. Chỉ trước khi phát hành ứng dụng
D. Chỉ sau khi có phản hồi từ người dùng
3. Quy trình phát triển ứng dụng di động thường bắt đầu với giai đoạn nào?
A. Thiết kế giao diện người dùng (UI)
B. Lập kế hoạch và phân tích yêu cầu
C. Viết mã nguồn
D. Kiểm thử ứng dụng
4. Ưu điểm chính của việc sử dụng framework phát triển ứng dụng đa nền tảng là gì?
A. Hiệu suất vượt trội so với ứng dụng native
B. Khả năng truy cập phần cứng thiết bị đầy đủ
C. Tiết kiệm thời gian và chi phí phát triển
D. Giao diện người dùng tùy biến cao cho từng nền tảng
5. Công cụ nào thường được sử dụng để quản lý phiên bản mã nguồn (version control) trong dự án phát triển ứng dụng di động?
A. Microsoft Word
B. Adobe Photoshop
C. Git
D. Trello
6. Khái niệm `push notification` trong ứng dụng di động dùng để chỉ loại thông báo nào?
A. Thông báo hiển thị khi ứng dụng bị lỗi
B. Thông báo do người dùng chủ động yêu cầu
C. Thông báo chủ động gửi từ server đến thiết bị người dùng
D. Thông báo về cập nhật phiên bản ứng dụng
7. Trong quá trình phát triển ứng dụng di động, `mockup` và `prototype` khác nhau như thế nào?
A. Mockup là phiên bản tĩnh, prototype là phiên bản tương tác được
B. Mockup là phiên bản tương tác, prototype là phiên bản tĩnh
C. Mockup được sử dụng cho kiểm thử hiệu năng, prototype cho kiểm thử chức năng
D. Mockup là bản thiết kế chi tiết cuối cùng, prototype là bản nháp ban đầu
8. Công nghệ Beacon thường được sử dụng trong ứng dụng di động cho mục đích gì?
A. Truyền dữ liệu qua Bluetooth
B. Định vị và tương tác dựa trên vị trí gần (location-based interaction)
C. Thanh toán di động không tiếp xúc (contactless payment)
D. Nhận diện khuôn mặt
9. Yếu tố nào sau đây KHÔNG ảnh hưởng trực tiếp đến thứ hạng ứng dụng trên App Store và Google Play?
A. Số lượng và chất lượng đánh giá/review của người dùng
B. Số lượt tải xuống ứng dụng
C. Kích thước file cài đặt ứng dụng
D. Từ khóa trong tiêu đề và mô tả ứng dụng
10. Phương pháp kiểm thử nào thường được sử dụng để đánh giá trải nghiệm người dùng thực tế của ứng dụng di động?
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 sử dụng (Usability Testing)
D. Kiểm thử hiệu năng (Performance Testing)
11. Trong mô hình phát triển thác đổ (Waterfall), giai đoạn nào diễn ra sau giai đoạn `Phát triển`?
A. Phân tích yêu cầu
B. Thiết kế
C. Kiểm thử
D. Bảo trì
12. Framework phát triển ứng dụng di động đa nền tảng nào được phát triển bởi Google?
A. React Native
B. Xamarin
C. Flutter
D. Ionic
13. Phương pháp kiểm thử ứng dụng di động nào tập trung vào việc đảm bảo các chức năng hoạt động đúng theo yêu cầu?
A. Kiểm thử hiệu năng (Performance Testing)
B. Kiểm thử bảo mật (Security Testing)
C. Kiểm thử chức năng (Functional Testing)
D. Kiểm thử khả năng sử dụng (Usability Testing)
14. Yếu tố nào sau đây KHÔNG phải là một khía cạnh quan trọng của tối ưu hóa hiệu suất ứng dụng di động?
A. Giảm thiểu kích thước ứng dụng
B. Tối ưu hóa sử dụng pin
C. Tối ưu hóa tốc độ tải trang/màn hình
D. Tăng cường độ phức tạp của giao diện người dùng
15. Khi ứng dụng di động cần xử lý dữ liệu lớn và phức tạp, giải pháp backend nào thường được ưu tiên sử dụng?
A. Backend sử dụng cơ sở dữ liệu NoSQL
B. Backend sử dụng cơ sở dữ liệu quan hệ (SQL)
C. Backend tĩnh (static backend)
D. Backend dựa trên file server
16. Biện pháp bảo mật nào KHÔNG nên áp dụng để bảo vệ dữ liệu người dùng trong ứng dụng di động?
A. Mã hóa dữ liệu nhạy cảm khi lưu trữ và truyền tải
B. Xác thực hai yếu tố (2FA) cho tài khoản người dùng
C. Lưu trữ mật khẩu người dùng dưới dạng văn bản thuần túy (plaintext)
D. Thường xuyên cập nhật và vá lỗi bảo mật cho ứng dụng
17. Khi nào nên sử dụng ứng dụng Hybrid thay vì ứng dụng Native?
A. Khi yêu cầu hiệu suất đồ họa cao và truy cập phần cứng chuyên sâu
B. Khi ngân sách và thời gian phát triển hạn chế
C. Khi cần đảm bảo trải nghiệm người dùng tốt nhất trên mọi nền tảng
D. Khi ứng dụng cần hoạt động offline hoàn toàn
18. Khái niệm `UI/UX` trong phát triển ứng dụng di động tập trung vào điều gì?
A. Hiệu suất và tốc độ của ứng dụng
B. Bảo mật dữ liệu người dùng
C. Giao diện người dùng và trải nghiệm người dùng
D. Tính năng và chức năng của ứng dụng
19. Phương pháp kiếm tiền nào phổ biến nhất cho ứng dụng di động miễn phí?
A. Bán ứng dụng trả phí
B. Thuê bao hàng tháng
C. Quảng cáo trong ứng dụng
D. Giao dịch mua hàng trong ứng dụng (In-app purchases)
20. API (Application Programming Interface) đóng vai trò gì trong phát triển ứng dụng di động?
A. Quản lý bộ nhớ của ứng dụng
B. Kết nối ứng dụng với các dịch vụ và dữ liệu bên ngoài
C. Xử lý giao diện người dùng của ứng dụng
D. Kiểm soát quyền truy cập của người dùng vào ứng dụng
21. Phương pháp phân phối ứng dụng di động nào thường được sử dụng để thử nghiệm ứng dụng với một nhóm người dùng giới hạn trước khi phát hành rộng rãi?
A. Phát hành trên App Store/Google Play
B. Phân phối Ad-hoc
C. Phân phối Beta (Beta Testing)
D. Phân phối Alpha (Alpha Testing)
22. Khi thiết kế trải nghiệm người dùng (UX) cho ứng dụng di động, yếu tố nào sau đây nên được ưu tiên hàng đầu?
A. Sử dụng nhiều hiệu ứng động và chuyển động phức tạp
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ó cấu hình mạnh
D. Tích hợp càng nhiều tính năng càng tốt
23. Công nghệ NFC (Near Field Communication) thường được ứng dụng trong ứng dụng di động để làm gì?
A. Định vị GPS
B. Truyền dữ liệu tầm xa
C. Thanh toán không tiếp xúc và truyền dữ liệu tầm ngắn
D. Kết nối Wi-Fi
24. Ngôn ngữ lập trình chính thức nào được Apple khuyến nghị sử dụng để phát triển ứng dụng iOS?
A. Java
B. Kotlin
C. Swift
D. C#
25. Loại kiến trúc ứng dụng di động nào tách biệt rõ ràng giữa giao diện người dùng, logic nghiệp vụ và lớp dữ liệu?
A. Kiến trúc Monolithic
B. Kiến trúc Microservices
C. Kiến trúc MVC/MVVM/MVP
D. Kiến trúc Serverless
26. Thách thức lớn nhất trong việc phát triển ứng dụng di động cho nhiều kích thước màn hình và độ phân giải khác nhau là gì?
A. Lựa chọn ngôn ngữ lập trình phù hợp
B. Đảm bảo giao diện người dùng hiển thị tốt và nhất quán (Responsive Design)
C. Tích hợp các tính năng mới nhất
D. Kiểm thử ứng dụng trên nhiều thiết bị khác nhau
27. Mục tiêu chính của việc phân tích người dùng (user analytics) trong phát triển ứng dụng di động là gì?
A. Tăng dung lượng lưu trữ của ứng dụng
B. Cải thiện hiệu suất ứng dụng
C. Hiểu hành vi người dùng và tối ưu hóa ứng dụng
D. Giảm chi phí phát triển ứng dụng
28. Trong ngữ cảnh phát triển ứng dụng di động, `deep linking` dùng để chỉ điều gì?
A. Liên kết đến trang web bên ngoài từ ứng dụng
B. Liên kết trực tiếp đến một trang hoặc nội dung cụ thể bên trong ứng dụng
C. Liên kết giữa các ứng dụng khác nhau
D. Liên kết từ ứng dụng đến hệ điều hành
29. Lỗi phổ biến nào thường xảy ra khi phát triển ứng dụng di động liên quan đến việc quản lý bộ nhớ?
A. Lỗi tràn bộ đệm (Buffer overflow)
B. Lỗi rò rỉ bộ nhớ (Memory leaks)
C. Lỗi logic nghiệp vụ (Business logic errors)
D. Lỗi cú pháp (Syntax errors)
30. Loại ứng dụng di động nào được cài đặt trực tiếp trên thiết bị và tận dụng tối đa các tính năng phần cứng của thiết bị?
A. Ứng dụng Web
B. Ứng dụng Hybrid
C. Ứng dụng Native
D. Ứng dụng Progressive Web App (PWA)