Đề 4 – Đề thi, câu hỏi trắc nghiệm online Phát triển ứng dụng di động

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Phát triển ứng dụng di động

Đề 4 - Đề thi, câu hỏi trắc nghiệm online Phát triển ứng dụng di động

1. Trong phát triển ứng dụng iOS, `Core Data` được sử dụng để làm gì?

A. Xử lý các tác vụ liên quan đến mạng.
B. Quản lý bộ nhớ của ứng dụng.
C. Lưu trữ và quản lý dữ liệu bền vững.
D. Tạo giao diện người dùng động.

2. Phương pháp nào sau đây giúp giảm thiểu tình trạng `callback hell` trong lập trình bất đồng bộ (asynchronous programming) trên ứng dụng di động?

A. Sử dụng vòng lặp for.
B. Sử dụng câu lệnh if-else.
C. Sử dụng Promises hoặc async/await.
D. Sử dụng biến toàn cục.

3. Kỹ thuật `shimmering` trong thiết kế giao diện người dùng (UI) của ứng dụng di động thường được sử dụng để làm gì?

A. Tạo hiệu ứng chuyển động mượt mà giữa các màn hình.
B. Hiển thị một placeholder animation trong khi dữ liệu đang được tải.
C. Tối ưu hóa hiệu suất hiển thị hình ảnh.
D. Giảm độ sáng màn hình để tiết kiệm pin.

4. Kiến trúc ứng dụng di động nào tập trung vào việc xử lý dữ liệu theo thời gian thực và phản ứng nhanh chóng với các sự kiện?

A. Client-Server
B. Message-Driven Architecture
C. Monolithic Architecture
D. Layered Architecture

5. Trong ngữ cảnh phát triển ứng dụng di động, thuật ngữ `UI/UX debt` dùng để chỉ điều gì?

A. Số tiền mà nhà phát triển nợ các nhà thiết kế UI/UX.
B. Các quyết định thiết kế và trải nghiệm người dùng không tối ưu được thực hiện trong quá khứ, gây khó khăn cho việc bảo trì và phát triển ứng dụng trong tương lai.
C. Số lượng người dùng không hài lòng với giao diện và trải nghiệm của ứng dụng.
D. Chi phí phát triển giao diện người dùng và trải nghiệm người dùng.

6. 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) của ứng dụng Android?

A. JUnit
B. Mockito
C. Espresso
D. Robolectric

7. Trong ngữ cảnh phát triển ứng dụng di động, `deep linking` được sử 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 một trang web cụ thể hoặc một vị trí cụ thể trong ứng dụng khác.
C. Tối ưu hóa hiệu suất của ứng dụng.
D. Giảm kích thước của ứng dụng.

8. Phương pháp nào sau đây giúp bảo vệ ứng dụng di động khỏi các cuộc tấn công `man-in-the-middle`?

A. Sử dụng Bluetooth.
B. Sử dụng xác thực đa yếu tố (multi-factor authentication) và mã hóa dữ liệu (data encryption).
C. Sử dụng GPS.
D. Sử dụng NFC.

9. Loại kiểm thử nào tập trung vào việc đảm bảo ứng dụng di động hoạt động tốt 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. Security testing

10. Nguyên tắc SOLID nào khuyến khích việc chia nhỏ các interface lớn thành các interface nhỏ hơn, cụ thể hơn để client chỉ cần implement các method mà nó cần?

A. Liskov Substitution Principle
B. Open/Closed Principle
C. Interface Segregation Principle
D. Dependency Inversion Principle

11. Trong ngữ cảnh phát triển ứng dụng di động, `A/B testing` được sử dụng để làm gì?

A. Kiểm tra hiệu năng của ứng dụng trên các thiết bị khác nhau.
B. So sánh hai phiên bản khác nhau của một tính năng để xem phiên bản nào hoạt động tốt hơn.
C. Kiểm tra bảo mật của ứng dụng trước các cuộc tấn công.
D. Tối ưu hóa code để giảm kích thước ứng dụng.

12. Trong phát triển ứng dụng di động, `Continuous Integration/Continuous Delivery` (CI/CD) là gì?

A. Một phương pháp phát triển ứng dụng mà không cần kiểm thử.
B. Một quy trình tự động hóa việc xây dựng, kiểm thử và triển khai ứng dụng.
C. Một kỹ thuật để giảm kích thước ứng dụng.
D. Một phương pháp để tăng tốc độ khởi động ứng dụng.

13. Trong phát triển ứng dụng di động, `code obfuscation` được sử dụng để làm gì?

A. Tăng tốc độ biên dịch code.
B. Làm cho code khó đọc và khó hiểu hơn để ngăn chặn kỹ sư đảo ngược (reverse engineering).
C. Tự động tạo tài liệu code.
D. Kiểm tra lỗi code.

14. Công nghệ nào sau đây cho phép ứng dụng di động hoạt động ngoại tuyến bằng cách lưu trữ dữ liệu cục bộ?

A. Bluetooth
B. NFC (Near Field Communication)
C. Service Workers
D. GPS

15. Trong phát triển ứng dụng di động, thuật ngữ `API throttling` dùng để chỉ điều gì?

A. Quy trình mã hóa dữ liệu API.
B. Quy trình giới hạn số lượng yêu cầu API trong một khoảng thời gian nhất định.
C. Quy trình tối ưu hóa hiệu suất API.
D. Quy trình tạo tài liệu API.

16. Khái niệm `progressive web app` (PWA) đề cập đến loại ứng dụng nào?

A. Ứng dụng di động được phát triển bằng ngôn ngữ lập trình bậc thấp.
B. Ứng dụng web có thể cài đặt trên thiết bị di động và hoạt động như một ứng dụng native.
C. Ứng dụng di động chỉ hoạt động trên một nền tảng duy nhất.
D. Ứng dụng di động được thiết kế để chạy trên các thiết bị có cấu hình thấp.

17. Trong phát triển ứng dụng di động, `push notifications` được sử dụng để làm gì?

A. Tự động sao lưu dữ liệu của ứng dụng.
B. Gửi thông báo đến người dùng ngay cả khi ứng dụng không mở.
C. Tối ưu hóa hiệu suất của ứng dụng.
D. Giảm kích thước của ứng dụng.

18. Khi phát triển ứng dụng di động, phương pháp nào sau đây giúp đảm bảo tính bảo mật của dữ liệu người dùng được lưu trữ trên thiết bị?

A. Sử dụng dữ liệu không được mã hóa.
B. Lưu trữ dữ liệu trên bộ nhớ ngoài (SD card).
C. Sử dụng mã hóa dữ liệu và kiểm soát quyền truy cập.
D. Không sử dụng bất kỳ biện pháp bảo mật nào.

19. Trong phát triển ứng dụng di động, `dependency injection` (DI) là gì?

A. Một kỹ thuật để giảm kích thước của ứng dụng.
B. Một pattern thiết kế để giảm sự phụ thuộc giữa các thành phần của ứng dụng.
C. Một phương pháp để tăng tốc độ khởi động của ứng dụng.
D. Một công cụ để tự động tạo tài liệu cho ứng dụng.

20. Công cụ nào sau đây thường được sử dụng để xây dựng giao diện người dùng (UI) cho ứng dụng Android bằng cách sử dụng phương pháp kéo và thả (drag-and-drop)?

A. Android Studio Layout Editor
B. Gradle
C. ADB (Android Debug Bridge)
D. NDK (Native Development Kit)

21. Loại kiến trúc nào thường được sử dụng trong phát triển ứng dụng di động để tách biệt lớp giao diện người dùng (UI), 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 (Model-View-Controller) hoặc MVVM (Model-View-ViewModel)
D. Kiến trúc Serverless

22. Khi phát triển ứng dụng di động, chiến lược nào sau đây giúp quản lý nhiều phiên bản khác nhau của ứng dụng (ví dụ: phiên bản thử nghiệm, phiên bản chính thức)?

A. Sử dụng một branch duy nhất.
B. Sử dụng hệ thống kiểm soát phiên bản (version control system) như Git và branching strategy.
C. Không sử dụng bất kỳ hệ thống quản lý phiên bản nào.
D. Tạo bản sao của toàn bộ dự án cho mỗi phiên bản.

23. Trong phát triển ứng dụng di động, thuật ngữ `code signing` dùng để chỉ điều gì?

A. Quy trình mã hóa dữ liệu trong ứng dụng.
B. Quy trình xác thực danh tính của nhà phát triển ứng dụng và đảm bảo tính toàn vẹn của ứng dụng.
C. Quy trình tối ưu hóa code để tăng hiệu suất ứng dụng.
D. Quy trình tạo tài liệu hướng dẫn sử dụng ứng dụng.

24. Công cụ nào sau đây thường được sử dụng để quản lý và theo dõi các lỗi (bugs) trong quá trình phát triển ứng dụng di động?

A. Slack
B. Jira
C. Zoom
D. Trello

25. Trong phát triển ứng dụng di động, kỹ thuật nào được sử dụng để giảm thiểu mức tiêu thụ pin của ứng dụng?

A. Tăng tần suất cập nhật giao diện người dùng.
B. Sử dụng GPS liên tục.
C. Tối ưu hóa việc sử dụng mạng và giảm thiểu các tác vụ chạy ngầm.
D. Tăng độ sáng màn hình.

26. Trong phát triển ứng dụng di động, chiến lược kiểm thử `monkey testing` thường được sử dụng để làm gì?

A. Kiểm tra hiệu năng của ứng dụng dưới tải cao.
B. Kiểm tra các chức năng cốt lõi của ứng dụng một cách có hệ thống.
C. Kiểm tra ứng dụng bằng cách cung cấp dữ liệu ngẫu nhiên và không có kế hoạch trước.
D. Kiểm tra bảo mật của ứng dụng trước các cuộc tấn công phổ biến.

27. Công cụ nào sau đây thường được sử dụng để phân tích hiệu suất (performance) của ứng dụng di động và xác định các điểm nghẽn (bottlenecks)?

A. Git
B. Firebase Performance Monitoring
C. Docker
D. Jenkins

28. 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 bằng cách giảm thiểu thời gian phản hồi?

A. Tăng kích thước hình ảnh.
B. Sử dụng nhiều hiệu ứng động phức tạp.
C. Tối ưu hóa code, sử dụng caching và lazy loading.
D. Giảm độ tương phản màu sắc.

29. Framework nào sau đây thường được sử dụng để phát triển ứng dụng di động đa nền tảng (cross-platform) bằng JavaScript?

A. SwiftUI
B. Kotlin
C. React Native
D. Java

30. Trong phát triển ứng dụng di động, thuật ngữ `hot reloading` dùng để chỉ điều gì?

A. Quy trình tải lại toàn bộ ứng dụng mỗi khi có thay đổi code.
B. Quy trình tự động cập nhật ứng dụng trên thiết bị của người dùng.
C. Quy trình thay đổi code và thấy kết quả ngay lập tức mà không cần khởi động lại ứng dụng.
D. Quy trình tối ưu hóa hình ảnh để giảm kích thước ứng dụng.

1 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

1. Trong phát triển ứng dụng iOS, 'Core Data' được sử dụng để làm gì?

2 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

2. Phương pháp nào sau đây giúp giảm thiểu tình trạng 'callback hell' trong lập trình bất đồng bộ (asynchronous programming) trên ứng dụng di động?

3 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

3. Kỹ thuật 'shimmering' trong thiết kế giao diện người dùng (UI) của ứng dụng di động thường được sử dụng để làm gì?

4 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

4. Kiến trúc ứng dụng di động nào tập trung vào việc xử lý dữ liệu theo thời gian thực và phản ứng nhanh chóng với các sự kiện?

5 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

5. Trong ngữ cảnh phát triển ứng dụng di động, thuật ngữ 'UI/UX debt' dùng để chỉ điều gì?

6 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

6. 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) của ứng dụng Android?

7 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

7. Trong ngữ cảnh phát triển ứng dụng di động, 'deep linking' được sử dụng để làm gì?

8 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

8. Phương pháp nào sau đây giúp bảo vệ ứng dụng di động khỏi các cuộc tấn công 'man-in-the-middle'?

9 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

9. Loại kiểm thử nào tập trung vào việc đảm bảo ứng dụng di động hoạt động tốt trên các thiết bị và hệ điều hành khác nhau?

10 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

10. Nguyên tắc SOLID nào khuyến khích việc chia nhỏ các interface lớn thành các interface nhỏ hơn, cụ thể hơn để client chỉ cần implement các method mà nó cần?

11 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

11. Trong ngữ cảnh phát triển ứng dụng di động, 'A/B testing' được sử dụng để làm gì?

12 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

12. Trong phát triển ứng dụng di động, 'Continuous Integration/Continuous Delivery' (CI/CD) là gì?

13 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

13. Trong phát triển ứng dụng di động, 'code obfuscation' được sử dụng để làm gì?

14 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

14. Công nghệ nào sau đây cho phép ứng dụng di động hoạt động ngoại tuyến bằng cách lưu trữ dữ liệu cục bộ?

15 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

15. Trong phát triển ứng dụng di động, thuật ngữ 'API throttling' dùng để chỉ điều gì?

16 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

16. Khái niệm 'progressive web app' (PWA) đề cập đến loại ứng dụng nào?

17 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

17. Trong phát triển ứng dụng di động, 'push notifications' được sử dụng để làm gì?

18 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

18. Khi phát triển ứng dụng di động, phương pháp nào sau đây giúp đảm bảo tính bảo mật của dữ liệu người dùng được lưu trữ trên thiết bị?

19 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

19. Trong phát triển ứng dụng di động, 'dependency injection' (DI) là gì?

20 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

20. Công cụ nào sau đây thường được sử dụng để xây dựng giao diện người dùng (UI) cho ứng dụng Android bằng cách sử dụng phương pháp kéo và thả (drag-and-drop)?

21 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

21. Loại kiến trúc nào thường được sử dụng trong phát triển ứng dụng di động để tách biệt lớp giao diện người dùng (UI), logic nghiệp vụ và lớp dữ liệu?

22 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

22. Khi phát triển ứng dụng di động, chiến lược nào sau đây giúp quản lý nhiều phiên bản khác nhau của ứng dụng (ví dụ: phiên bản thử nghiệm, phiên bản chính thức)?

23 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

23. Trong phát triển ứng dụng di động, thuật ngữ 'code signing' dùng để chỉ điều gì?

24 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

24. Công cụ nào sau đây thường được sử dụng để quản lý và theo dõi các lỗi (bugs) trong quá trình phát triển ứng dụng di động?

25 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

25. Trong phát triển ứng dụng di động, kỹ thuật nào được sử dụng để giảm thiểu mức tiêu thụ pin của ứng dụng?

26 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

26. Trong phát triển ứng dụng di động, chiến lược kiểm thử 'monkey testing' thường được sử dụng để làm gì?

27 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

27. Công cụ nào sau đây thường được sử dụng để phân tích hiệu suất (performance) của ứng dụng di động và xác định các điểm nghẽn (bottlenecks)?

28 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

28. 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 bằng cách giảm thiểu thời gian phản hồi?

29 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

29. Framework nào sau đây thường được sử dụng để phát triển ứng dụng di động đa nền tảng (cross-platform) bằng JavaScript?

30 / 30

Category: Phát triển ứng dụng di động

Tags: Bộ đề 4

30. Trong phát triển ứng dụng di động, thuật ngữ 'hot reloading' dùng để chỉ điều gì?