1. Mục đích chính của việc sử dụng 'Dependency Injection′ trong phát triển ứng dụng là gì?
A. Tăng tốc độ phát triển giao diện người dùng
B. Giảm sự phụ thuộc giữa các thành phần, tăng tính module hóa và dễ bảo trì
C. Tối ưu hóa hiệu suất cơ sở dữ liệu
D. Tăng cường bảo mật cho ứng dụng
2. Kiến trúc 'Microservices′ có ưu điểm chính nào so với kiến trúc 'Monolithic′ trong phát triển backend cho ứng dụng di động?
A. Đơn giản hóa việc triển khai và quản lý
B. Dễ dàng mở rộng và bảo trì, khả năng chịu lỗi tốt hơn
C. Hiệu suất cao hơn và tốc độ phát triển nhanh hơn
D. Bảo mật cao hơn và chi phí phát triển thấp hơn
3. Khái niệm 'Continuous Integration∕Continuous Delivery (CI∕CD)′ trong DevOps giúp ích gì cho phát triển ứng dụng di động?
A. Tăng cường bảo mật cho code
B. Tự động hóa quy trình build, kiểm thử và triển khai ứng dụng, giúp phát hành nhanh hơn và giảm lỗi
C. Tối ưu hóa hiệu suất cơ sở dữ liệu
D. Thiết kế giao diện người dùng tự động
4. Công nghệ 'Push Notification′ được sử dụng để làm gì trong ứng dụng di động?
A. Thu thập dữ liệu người dùng
B. Gửi thông báo chủ động đến người dùng ngay cả khi ứng dụng không mở
C. Tăng tốc độ tải ứng dụng
D. Kiểm tra kết nối mạng của người dùng
5. Phương pháp 'A∕B Testing′ thường được sử dụng để làm gì trong quá trình phát triển ứng dụng di động?
A. Kiểm tra bảo mật của ứng dụng
B. So sánh hiệu quả của hai phiên bản khác nhau của một tính năng hoặc giao diện
C. Tối ưu hóa hiệu suất cơ sở dữ liệu
D. Phát hiện lỗi logic trong code
6. Phương pháp 'Monetization′ (Kiếm tiền) nào thường dựa trên việc hiển thị quảng cáo trong ứng dụng di động?
A. In-app purchases (Mua hàng trong ứng dụng)
B. Subscription (Thuê bao)
C. Advertising (Quảng cáo)
D. Freemium (Miễn phí cơ bản, trả phí nâng cao)
7. 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 cho ứng dụng
B. Kết nối ứng dụng với cơ sở dữ liệu sâu hơn
C. Dẫn người dùng trực tiếp đến một trang cụ thể bên trong ứng dụng từ bên ngoài
D. Tối ưu hóa kích thước bộ cài đặt của ứng dụng
8. Khái niệm 'Progressive Web App (PWA)′ có đặc điểm nổi bật nào?
A. Chỉ hoạt động trên một nền tảng di động duy nhất
B. Cần cài đặt từ cửa hàng ứng dụng để sử dụng
C. Kết hợp ưu điểm của website và ứng dụng di động, có thể cài đặt và chạy offline
D. Hiệu suất kém hơn ứng dụng web thông thường
9. Công cụ 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 (cross-platform)?
A. React Native
B. Flutter
C. SwiftUI
D. Xamarin
10. Phương pháp phát triển ứng dụng 'Hybrid′ (lai) có ưu điểm chính nào so với ứng dụng gốc (Native)?
A. Hiệu suất cao hơn và truy cập phần cứng tốt hơn
B. Khả năng tương thích và trải nghiệm người dùng tốt hơn trên một nền tảng cụ thể
C. Tiết kiệm chi phí và thời gian phát triển, khả năng tái sử dụng code
D. Bảo mật cao hơn và khả năng tùy biến sâu hơn
11. Framework nào sau đây phổ biến cho việc phát triển giao diện người dùng (UI) trong React Native?
A. SwiftUI
B. Jetpack Compose
C. React Native Paper∕Material UI
D. UIKit
12. 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. Giao diện người dùng và trải nghiệm người dùng
C. Bảo mật và an toàn dữ liệu
D. Chi phí phát triển và thời gian hoàn thành
13. Loại hình cơ sở dữ liệu nào thường được sử dụng cho ứng dụng di động khi cần lưu trữ dữ liệu phi cấu trúc hoặc bán cấu trúc (ví dụ: JSON, NoSQL)?
A. Cơ sở dữ liệu quan hệ (Relational Database)
B. Cơ sở dữ liệu NoSQL
C. Cơ sở dữ liệu đồ thị (Graph Database)
D. Cơ sở dữ liệu hướng đối tượng (Object-Oriented Database)
14. Phương pháp 'Lazy Loading′ (Tải chậm) có lợi ích gì trong ứng dụng di động?
A. Tăng cường bảo mật
B. Tải tài nguyên (hình ảnh, dữ liệu) chỉ khi cần thiết, giảm thời gian tải ban đầu và sử dụng băng thông
C. Tối ưu hóa hiệu suất cơ sở dữ liệu
D. Đơn giản hóa code
15. Phương pháp 'Server-Side Rendering (SSR)′ có lợi ích gì cho ứng dụng web di động so với 'Client-Side Rendering (CSR)′?
A. Tăng tính tương tác và động cho giao diện người dùng
B. Cải thiện SEO (tối ưu hóa công cụ tìm kiếm) và thời gian tải trang ban đầu
C. Giảm tải cho máy chủ
D. Đơn giản hóa quá trình phát triển frontend
16. Trong phát triển ứng dụng di động, 'Technical Debt′ (Nợ kỹ thuật) có nghĩa là gì?
A. Chi phí duy trì máy chủ
B. Hậu quả của việc đưa ra các quyết định thiết kế hoặc code không tối ưu trong ngắn hạn, dẫn đến khó khăn và chi phí cao hơn trong tương lai
C. Chi phí kiểm thử ứng dụng
D. Chi phí marketing ứng dụng
17. Phương pháp 'Geolocation′ (Định vị địa lý) trong ứng dụng di động sử dụng công nghệ nào để xác định vị trí người dùng?
A. Bluetooth
B. GPS, Wi-Fi, mạng di động
C. NFC (Near Field Communication)
D. Accelerometer
18. Công cụ nào sau đây 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. Firebase
B. Git
C. Jira
D. Trello
19. API (Application Programming Interface) đóng vai trò gì trong phát triển ứng dụng di động?
A. Thiết kế giao diện người dùng
B. Quản lý cơ sở dữ liệu
C. Cho phép ứng dụng giao tiếp và trao đổi dữ liệu với các hệ thống hoặc dịch vụ khác
D. Tối ưu hóa hiệu suất ứng dụng
20. Loại hình tấn công bảo mật nào lợi dụng việc chèn mã độc vào ứng dụng hoặc dữ liệu?
A. DDoS (Distributed Denial of Service)
B. SQL Injection
C. Phishing
D. Man-in-the-Middle Attack
21. Trong phát triển ứng dụng di động, 'State Management′ (Quản lý trạng thái) đề cập đến việc quản lý điều gì?
A. Kết nối mạng của ứng dụng
B. Dữ liệu và trạng thái giao diện người dùng của ứng dụng
C. Quyền truy cập của người dùng
D. Bộ nhớ và tài nguyên hệ thống
22. Trong quá trình phát triển ứng dụng, 'Refactoring′ (Tái cấu trúc mã) là gì?
A. Thêm tính năng mới vào ứng dụng
B. Sửa lỗi và vá lỗ hổng bảo mật
C. Cải thiện cấu trúc code mà không thay đổi chức năng bên ngoài
D. Tối ưu hóa hiệu suất giao diện người dùng
23. Loại kiểm thử nào sau đây tập trung vào việc đảm bảo ứng dụng hoạt động đúng chức nă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)
24. Ngôn ngữ lập trình nào thường được sử dụng chính để phát triển ứng dụng Android gốc?
A. Swift
B. Java∕Kotlin
C. Objective-C
D. C#
25. Kiến trúc 'Client-Server′ trong ứng dụng di động mô tả mối quan hệ giữa thành phần nào?
A. Giữa giao diện người dùng và cơ sở dữ liệu
B. Giữa ứng dụng trên thiết bị người dùng (Client) và máy chủ (Server) xử lý dữ liệu
C. Giữa các framework phát triển ứng dụng khác nhau
D. Giữa các nhà phát triển và người dùng cuối
26. Mục tiêu chính của việc 'Tối ưu hóa hiệu suất′ (Performance Optimization) cho ứng dụng di động là gì?
A. Tăng độ phức tạp của giao diện người dùng
B. Giảm mức tiêu thụ pin và dữ liệu, tăng tốc độ phản hồi của ứng dụng
C. Tăng kích thước bộ cài đặt của ứng dụng
D. Giảm tính bảo mật của ứng dụng để tăng tốc độ
27. Quy trình 'Kiểm thử Beta′ (Beta Testing) trong phát triển ứng dụng di động thường diễn ra ở giai đoạn nào?
A. Giai đoạn lên kế hoạch và thiết kế ban đầu
B. Giai đoạn phát triển và lập trình chính
C. Giai đoạn trước khi phát hành chính thức ứng dụng ra thị trường
D. Giai đoạn sau khi ứng dụng đã được phát hành và sử dụng rộng rãi
28. Yếu tố nào sau đây KHÔNG thuộc về 'Backend′ của ứng dụng di động?
A. Cơ sở dữ liệu (Database)
B. Logic nghiệp vụ (Business Logic)
C. Giao diện người dùng (User Interface)
D. Máy chủ ứng dụng (Application Server)
29. Phương pháp 'Agile′ trong quản lý dự án phát triển ứng dụng di động nhấn mạnh vào điều gì?
A. Tuân thủ nghiêm ngặt kế hoạch ban đầu và tài liệu chi tiết
B. Linh hoạt, thích ứng với thay đổi, và làm việc theo vòng lặp ngắn
C. Tập trung vào việc giảm thiểu chi phí bằng mọi giá
D. Ưu tiên phát hành ứng dụng càng nhanh càng tốt, bất chấp chất lượng
30. Trong ngữ cảnh phát triển ứng dụng di động, 'Code Signing′ (Ký mã) nhằm mục đích gì?
A. Tối ưu hóa hiệu suất code
B. Xác thực nguồn gốc và đảm bảo tính toàn vẹn của ứng dụng, chống giả mạo
C. Mã hóa code để bảo vệ bản quyền
D. Giảm kích thước code