1. Framework nào sau đây KHÔNG phải là một framework phát triển ứng dụng di động đa nền tảng?
A. React Native
B. Flutter
C. Xamarin
D. SwiftUI
2. 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. Jira
B. Trello
C. Git
D. Slack
3. Ngôn ngữ lập trình nào thường được sử dụng để phát triển ứng dụng Android gốc?
A. Swift
B. Kotlin
C. Objective-C
D. React Native
4. Loại kiểm thử nào tập trung vào việc tìm ra các vấn đề bảo mật trong ứng dụng di động?
A. Functional testing
B. Security testing
C. Usability testing
D. Performance testing
5. Vấn đề bảo mật 'Man-in-the-Middle′ (MITM) trong ứng dụng di động xảy ra khi nào?
A. Khi người dùng mất thiết bị
B. Khi dữ liệu ứng dụng bị mã hóa sai cách
C. Khi kẻ tấn công chặn và can thiệp vào giao tiếp giữa ứng dụng và máy chủ
D. Khi ứng dụng bị tấn công DDoS
6. Trong phát triển ứng dụng di động, 'Push Notification′ thường được sử dụng cho mục đích gì?
A. Theo dõi vị trí người dùng
B. Gửi thông báo và cập nhật thông tin đến người dùng
C. Thu thập dữ liệu hành vi người dùng
D. Kiểm tra kết nối mạng
7. Lợi ích chính của việc sử dụng cơ sở dữ liệu ngoại tuyến (offline database) trong ứng dụng di động là gì?
A. Tăng cường bảo mật dữ liệu
B. Cho phép ứng dụng hoạt động ngay cả khi không có kết nối mạng
C. Giảm chi phí lưu trữ dữ liệu
D. Tăng tốc độ truy cập dữ liệu trực tuyến
8. Thử thách lớn nhất trong phát triển ứng dụng di động cho nhiều nền tảng khác nhau là gì?
A. Chi phí phát triển thấp
B. Đảm bảo trải nghiệm người dùng nhất quán trên các nền tảng
C. Dễ dàng truy cập API phần cứng
D. Thời gian phát triển nhanh chóng
9. Công nghệ nào giúp theo dõi và phân tích hành vi người dùng trong ứng dụng di động để cải thiện ứng dụng?
A. Firebase Analytics
B. Git
C. REST API
D. SQL
10. Loại kiến trúc ứng dụng di động nào mà giao diện người dùng (UI) và logic nghiệp vụ (business logic) được kết hợp chặt chẽ?
A. MVC
B. MVP
C. MVVM
D. Monolithic
11. Loại ứng dụng di động nào chạy trực tiếp trên trình duyệt web mà không cần cài đặt?
A. Ứng dụng gốc (Native apps)
B. Ứng dụng web (Web apps)
C. Ứng dụng lai (Hybrid apps)
D. Ứng dụng PWA (Progressive Web Apps)
12. Phương pháp thiết kế 'Mobile-First′ trong phát triển web và ứng dụng di động ưu tiên điều gì?
A. Thiết kế cho màn hình lớn trước, sau đó thu nhỏ cho di động
B. Thiết kế cho di động trước, sau đó mở rộng cho màn hình lớn hơn
C. Thiết kế đồng thời cho cả di động và máy tính
D. Bỏ qua thiết kế cho di động
13. Phương pháp nào giúp xác định và sửa lỗi (bugs) trong mã nguồn ứng dụng di động?
A. Refactoring
B. Debugging
C. Code review
D. Code formatting
14. Quy trình 'App Store Optimization′ (ASO) nhằm mục đích gì?
A. Tăng cường bảo mật cho ứng dụng trên App Store
B. Tối ưu hóa ứng dụng để đạt thứ hạng cao hơn trong kết quả tìm kiếm trên App Store và Google Play
C. Giảm kích thước ứng dụng khi tải xuống
D. Tự động hóa quy trình phát hành ứng dụng lên App Store
15. Kiến trúc phần mềm nào thường được khuyến nghị để phát triển ứng dụng di động có khả năng bảo trì và mở rộng cao?
A. Monolithic
B. Microservices
C. MVC (Model-View-Controller)
D. Serverless
16. Công nghệ nào cho phép ứng dụng di động truy cập các tính năng phần cứng của thiết bị như camera, GPS, và cảm biến?
A. HTML5
B. JavaScript
C. API nền tảng (Platform APIs)
D. CSS
17. Phương pháp nào sau đây giúp cải thiện hiệu suất khởi động ứng dụng di động?
A. Tải tất cả dữ liệu khi khởi động
B. Thực hiện nhiều tác vụ nặng trên luồng chính (main thread)
C. Tối ưu hóa mã nguồn và tải dữ liệu cần thiết một cách trì hoãn (lazy loading)
D. Giảm bộ nhớ cache
18. Khái niệm 'Deep Linking′ trong ứng dụng di động dùng để làm gì?
A. Tăng cường bảo mật dữ liệu
B. Liên kết trực tiếp người dùng đến một trang cụ thể trong ứng dụng
C. Tối ưu hóa hiệu suất ứng dụng
D. Cải thiện giao diện người dùng
19. Công cụ nào thường được sử dụng để thiết kế giao diện người dùng (UI) và tạo prototype cho ứng dụng di động?
A. Android Studio
B. Xcode
C. Figma
D. Visual Studio Code
20. Phương pháp phát triển ứng dụng di động 'Agile′ chú trọng điều gì nhất?
A. Tuân thủ nghiêm ngặt kế hoạch ban đầu
B. Làm việc theo quy trình tuyến tính, tuần tự
C. Linh hoạt, thích ứng với thay đổi và phản hồi nhanh
D. Tập trung vào tài liệu chi tiết và đầy đủ
21. Yếu tố nào sau đây là quan trọng nhất khi lựa chọn nền tảng phát triển ứng dụng di động (native, hybrid, cross-platform)?
A. Sở thích cá nhân của nhà phát triển
B. Ngân sách và thời gian phát triển, yêu cầu hiệu suất và tính năng
C. Số lượng lập trình viên có kinh nghiệm với nền tảng
D. Xu hướng công nghệ mới nhất
22. Phương pháp kiểm thử nào tập trung vào việc đảm bảo ứng dụng hoạt động đúng trên các thiết bị và hệ điều hành khác nhau?
A. Unit testing
B. Integration testing
C. Compatibility testing
D. Performance testing
23. Công nghệ nào thường được sử dụng để xây dựng giao diện người dùng (UI) cho ứng dụng React Native?
A. Swift
B. XML
C. JSX (JavaScript XML)
D. Compose
24. Quy trình 'CI∕CD′ trong phát triển ứng dụng di động nhằm mục đích gì?
A. Tăng cường bảo mật ứng dụng
B. Tự động hóa quy trình tích hợp và triển khai ứng dụng
C. Cải thiện trải nghiệm người dùng
D. Giảm chi phí phát triển
25. Trong quá trình phát triển ứng dụng di động, 'Technical Debt′ (Nợ kỹ thuật) đề cập đến điều gì?
A. Chi phí thuê máy chủ
B. Các quyết định thiết kế hoặc mã hóa không tối ưu được thực hiện để phát hành nhanh, nhưng cần được sửa chữa sau này
C. Số tiền nợ nhà cung cấp dịch vụ bên thứ ba
D. Chi phí kiểm thử ứng dụng
26. SDK (Software Development Kit) thường KHÔNG bao gồm thành phần nào sau đây?
A. Thư viện code
B. Trình biên dịch
C. Môi trường phát triển tích hợp (IDE)
D. Tài liệu hướng dẫn
27. Phương pháp nào giúp giảm thiểu độ trễ (latency) khi ứng dụng di động giao tiếp với máy chủ?
A. Tăng kích thước gói tin dữ liệu
B. Sử dụng kết nối mạng chậm hơn
C. Tối ưu hóa API và giảm số lượng yêu cầu
D. Tăng tần suất đồng bộ dữ liệu
28. Hình thức kiếm tiền nào phổ biến nhất cho các ứng dụng di động miễn phí?
A. Bán ứng dụng trả phí (Paid app)
B. Mua trong ứng dụng (In-app purchases)
C. Thuê bao (Subscription)
D. Bán dữ liệu người dùng
29. Yếu tố nào KHÔNG thuộc về UX (User Experience) trong thiết kế ứng dụng di động?
A. Tính hữu ích (Usefulness)
B. Tính thẩm mỹ (Aesthetics)
C. Hiệu suất (Performance)
D. Khả năng sử dụng (Usability)
30. Nguyên tắc 'KISS′ (Keep It Simple, Stupid) có ý nghĩa gì trong phát triển ứng dụng di động?
A. Tạo ứng dụng phức tạp và nhiều tính năng
B. Giữ thiết kế và chức năng ứng dụng đơn giản, dễ hiểu và dễ sử dụng
C. Phát triển ứng dụng nhanh chóng mà không cần kiểm thử kỹ lưỡng
D. Sử dụng công nghệ mới nhất và phức tạp nhất