Chuyển đến nội dung

Trắc nghiệm Phát triển ứng dụng di động online có đáp án

Trắc Nghiệm Kỹ Thuật & Công Nghệ

Trắc nghiệm Phát triển ứng dụng di động online có đáp án

Ngày cập nhật: Tháng 2 8, 2026

Lưu ý và Miễn trừ trách nhiệm:Toàn bộ nội dung câu hỏi, đáp án và thông tin được cung cấp trên website này được xây dựng nhằm mục đích tham khảo, hỗ trợ ôn tập và củng cố kiến thức. Chúng tôi không cam kết về tính chính xác tuyệt đối, tính cập nhật hay độ tin cậy hoàn toàn của các dữ liệu này. Nội dung tại đây KHÔNG PHẢI LÀ ĐỀ THI CHÍNH THỨC của bất kỳ tổ chức giáo dục, trường đại học hay cơ quan cấp chứng chỉ nào. Người sử dụng tự chịu trách nhiệm khi sử dụng các thông tin này vào mục đích học tập, nghiên cứu hoặc áp dụng vào thực tiễn. Chúng tôi không chịu trách nhiệm pháp lý đối với bất kỳ sai sót, thiệt hại hoặc hậu quả nào phát sinh từ việc sử dụng thông tin trên website này.

Cùng bắt đầu ngay với bộ Trắc nghiệm Phát triển ứng dụng di động online có đáp án. Đây là lựa chọn phù hợp để bạn vừa luyện tập vừa đánh giá năng lực bản thân. Lựa chọn bộ câu hỏi phù hợp bên dưới để khởi động. Chúc bạn đạt kết quả tốt và ngày càng tiến bộ

★★★★★
★★★★★
4.8/5 (245 đánh giá)

1. Đâu là ưu điểm chính của việc phát triển ứng dụng di động native so với ứng dụng lai (hybrid)?

A. Ứng dụng native thường có chi phí phát triển ban đầu thấp hơn đáng kể.
B. Ứng dụng native cho phép tái sử dụng mã nguồn giữa các nền tảng Android và iOS một cách dễ dàng.
C. Ứng dụng native cung cấp hiệu suất cao hơn, truy cập đầy đủ các tính năng của thiết bị và trải nghiệm người dùng tốt nhất.
D. Việc cập nhật và triển khai ứng dụng native lên các cửa hàng ứng dụng thường đơn giản hơn.

2. Trong phát triển ứng dụng Android, ngôn ngữ lập trình nào đã được Google công bố là ngôn ngữ ưu tiên (preferred language) kể từ năm 2019?

A. Java
B. Kotlin
C. C#
D. Dart

3. Framework nào dưới đây được sử dụng để phát triển ứng dụng đa nền tảng (cross-platform) sử dụng ngôn ngữ Dart?

A. React Native
B. Xamarin
C. Flutter
D. Ionic

4. Kiến trúc nào trong phát triển ứng dụng di động tập trung vào việc tách biệt logic nghiệp vụ khỏi giao diện người dùng, sử dụng một ‘Presenter’ làm cầu nối giữa ‘Model’ và ‘View’?

A. MVC (Model-View-Controller)
B. MVVM (Model-View-ViewModel)
C. MVP (Model-View-Presenter)
D. MVI (Model-View-Intent)

5. Thành phần nào của Android Studio được sử dụng để giả lập thiết bị Android trên máy tính để kiểm thử ứng dụng?

A. Android SDK Manager
B. Gradle
C. AVD Manager (Android Virtual Device Manager)
D. Logcat

6. Để lưu trữ dữ liệu cục bộ trên thiết bị iOS một cách đơn giản và có cấu trúc, ngoài Core Data, công nghệ nào của Apple được sử dụng rộng rãi cho các ứng dụng nhỏ?

A. SQLite
B. Realm
C. UserDefaults
D. Firebase Firestore

7. REST API (Representational State Transfer API) thường sử dụng phương thức HTTP nào để gửi dữ liệu mới lên máy chủ?

A. GET
B. PUT
C. POST
D. DELETE

8. Tại sao việc sử dụng HTTPS thay vì HTTP là cần thiết cho các ứng dụng di động kết nối với máy chủ?

A. HTTPS nhanh hơn HTTP.
B. HTTPS cung cấp mã hóa dữ liệu và xác thực máy chủ, bảo vệ thông tin người dùng khỏi các cuộc tấn công nghe lén và giả mạo.
C. HTTPS cho phép gửi các yêu cầu lớn hơn HTTP.
D. HTTPS giúp tối ưu hóa hiệu suất ứng dụng di động.

9. Loại kiểm thử nào trong phát triển ứng dụng di động tập trung vào việc kiểm tra các đơn vị mã nhỏ nhất (như một hàm hoặc một lớp) một cách độc lập?

A. Kiểm thử tích hợp (Integration Test)
B. Kiểm thử hệ thống (System Test)
C. Kiểm thử đơn vị (Unit Test)
D. Kiểm thử chấp nhận người dùng (UAT – User Acceptance Test)

10. Dịch vụ nào của Google cung cấp một bộ công cụ phát triển di động toàn diện bao gồm cơ sở dữ liệu thời gian thực, xác thực, lưu trữ file và hosting, thường được sử dụng như một backend-as-a-service (BaaS)?

A. Google Cloud Platform
B. Google AdMob
C. Firebase
D. Google Analytics

11. Khi thiết kế giao diện người dùng cho ứng dụng di động, nguyên tắc ‘Material Design’ chủ yếu được áp dụng cho nền tảng nào?

A. iOS
B. Android
C. Windows Phone
D. Web (cross-platform)

12. Trong vòng đời phát triển ứng dụng di động, giai đoạn nào bao gồm việc thu thập yêu cầu, phân tích tính khả thi và lập kế hoạch tổng thể cho dự án?

A. Phân tích và Thiết kế
B. Lập trình và Triển khai
C. Bảo trì và Hỗ trợ
D. Kiểm thử và Đảm bảo chất lượng

13. Để tối ưu hóa hiệu suất của một ứng dụng di động, điều gì sau đây KHÔNG phải là một phương pháp hiệu quả?

A. Giảm thiểu số lượng yêu cầu mạng và tối ưu hóa kích thước dữ liệu.
B. Sử dụng tài nguyên phần cứng liên tục ở mức tối đa.
C. Tối ưu hóa hình ảnh và tài nguyên đa phương tiện.
D. Sử dụng cơ chế bộ nhớ đệm (caching) để lưu trữ dữ liệu thường xuyên truy cập.

14. Ngôn ngữ lập trình nào được sử dụng phổ biến nhất để phát triển ứng dụng native trên iOS?

A. Java
B. Python
C. Swift
D. Kotlin

15. Khi tích hợp quảng cáo vào ứng dụng di động để kiếm tiền, nền tảng nào của Google được sử dụng rộng rãi để quản lý và hiển thị quảng cáo?

A. Google Ads
B. Google AdSense
C. Google AdMob
D. Google Marketing Platform

16. Phương pháp Continuous Integration/Continuous Delivery (CI/CD) trong phát triển ứng dụng di động mang lại lợi ích chính nào?

A. Giảm chi phí phát triển bằng cách loại bỏ hoàn toàn các quy trình kiểm thử.
B. Tự động hóa quá trình xây dựng, kiểm thử và triển khai, giúp phát hành ứng dụng nhanh hơn và giảm lỗi.
C. Chỉ áp dụng cho các ứng dụng nhỏ và không phức tạp.
D. Giới hạn số lượng nhà phát triển có thể làm việc trên cùng một dự án.

17. Đâu là một thách thức lớn khi phát triển ứng dụng đa nền tảng bằng các framework như React Native hoặc Flutter so với phát triển native?

A. Khả năng tái sử dụng mã nguồn thấp giữa các nền tảng.
B. Khó khăn trong việc truy cập các tính năng phần cứng cụ thể hoặc API độc quyền của từng nền tảng.
C. Chi phí duy trì và cập nhật cao hơn.
D. Thời gian phát triển ban đầu lâu hơn.

18. Trong phát triển ứng dụng Android, ‘Gradle’ đóng vai trò quan trọng gì?

A. Là một công cụ để thiết kế giao diện người dùng trực quan.
B. Là một hệ quản trị cơ sở dữ liệu cục bộ.
C. Là một hệ thống tự động hóa xây dựng (build automation system) được sử dụng để biên dịch, đóng gói và quản lý các dependency của dự án.
D. Là một công cụ kiểm thử hiệu năng ứng dụng.

19. Để đảm bảo ứng dụng di động có thể hoạt động tốt trên nhiều kích thước màn hình và độ phân giải khác nhau, nhà phát triển cần áp dụng nguyên tắc thiết kế nào?

A. Thiết kế tĩnh (Static design)
B. Thiết kế phản hồi (Responsive design)
C. Thiết kế cố định (Fixed layout design)
D. Thiết kế dựa trên pixel tuyệt đối (Absolute pixel-based design)

20. Tấn công ‘Man-in-the-middle’ (MitM) thường nhắm vào khía cạnh nào trong ứng dụng di động?

A. Hiệu suất xử lý của thiết bị.
B. Khả năng tương thích với các phiên bản hệ điều hành cũ.
C. Giao tiếp mạng giữa ứng dụng và máy chủ, nhằm chặn và sửa đổi dữ liệu.
D. Dung lượng lưu trữ của ứng dụng.

21. Điều gì là mục đích chính của việc ‘minifying’ (thu nhỏ) mã nguồn (như JavaScript, CSS) trong quá trình phát triển ứng dụng web hoặc ứng dụng di động lai?

A. Tăng cường bảo mật mã nguồn.
B. Làm cho mã nguồn dễ đọc và dễ bảo trì hơn.
C. Giảm kích thước file, từ đó tăng tốc độ tải ứng dụng và giảm băng thông tiêu thụ.
D. Tự động sửa lỗi cú pháp trong mã nguồn.

22. Công cụ nào của Apple được sử dụng chủ yếu để phát triển ứng dụng cho iOS, macOS, watchOS, và tvOS?

A. Android Studio
B. Visual Studio Code
C. Xcode
D. Eclipse

23. Để tối ưu hóa ứng dụng di động về mặt sử dụng bộ nhớ, điều nào sau đây là quan trọng nhất?

A. Tăng kích thước bộ đệm (cache) không giới hạn.
B. Giảm thiểu rò rỉ bộ nhớ (memory leaks) và sử dụng tài nguyên một cách hiệu quả.
C. Tải tất cả dữ liệu cần thiết ngay lập tức khi ứng dụng khởi động.
D. Sử dụng nhiều thư viện bên thứ ba nhất có thể.

24. Khi nói về việc phát triển ứng dụng di động, ‘SDK’ là viết tắt của gì và có ý nghĩa gì?

A. Software Development Kit – một bộ công cụ phần mềm cho phép nhà phát triển tạo ứng dụng cho một nền tảng cụ thể.
B. System Design Kernel – hạt nhân thiết kế hệ thống.
C. Source Data Kit – một bộ dữ liệu nguồn.
D. Standard Deployment Key – khóa triển khai tiêu chuẩn.

25. Sự khác biệt chính giữa ứng dụng web di động (mobile web app) và ứng dụng lai (hybrid app) là gì?

A. Ứng dụng web di động yêu cầu cài đặt từ cửa hàng ứng dụng, trong khi ứng dụng lai thì không.
B. Ứng dụng web di động chạy trong trình duyệt và không cần cài đặt, còn ứng dụng lai là một ứng dụng web được đóng gói trong một container native để cài đặt trên thiết bị.
C. Ứng dụng web di động có thể truy cập tất cả các tính năng phần cứng của thiết bị, còn ứng dụng lai thì không.
D. Ứng dụng web di động chỉ có thể truy cập khi có kết nối internet, còn ứng dụng lai thì không cần.

26. Trong phát triển ứng dụng di động, ‘APIs’ (Application Programming Interfaces) đóng vai trò gì?

A. Là công cụ để thiết kế giao diện người dùng đồ họa.
B. Là bộ quy tắc và định nghĩa cho phép các ứng dụng phần mềm giao tiếp với nhau hoặc với hệ điều hành/thư viện.
C. Là ngôn ngữ lập trình được sử dụng để viết mã nguồn.
D. Là phương pháp kiểm thử hiệu suất ứng dụng.

27. Loại cơ sở dữ liệu nào của Firebase hỗ trợ đồng bộ hóa dữ liệu thời gian thực và hoạt động ngoại tuyến, rất phù hợp cho các ứng dụng yêu cầu cập nhật tức thì?

A. Firebase Realtime Database
B. Cloud Firestore
C. Cloud Storage for Firebase
D. Firebase Remote Config

28. Khi phát triển ứng dụng di động, tại sao trải nghiệm người dùng (UX – User Experience) và giao diện người dùng (UI – User Interface) lại quan trọng?

A. Chỉ để làm cho ứng dụng trông đẹp mắt.
B. Góp phần trực tiếp vào sự hài lòng của người dùng, khả năng sử dụng và mức độ chấp nhận ứng dụng.
C. Chỉ ảnh hưởng đến tốc độ tải ứng dụng.
D. Chỉ là yếu tố phụ, không ảnh hưởng đến chức năng cốt lõi.

29. Phương pháp nào sau đây giúp cải thiện hiệu suất của ứng dụng di động bằng cách giảm tải cho CPU và GPU của thiết bị?

A. Tăng số lượng hoạt ảnh (animations) phức tạp.
B. Thực hiện các tác vụ nặng trên luồng chính (main thread).
C. Sử dụng các tiến trình nền (background threads) cho các tác vụ không liên quan đến UI và tối ưu hóa bản vẽ giao diện.
D. Tải tất cả hình ảnh với độ phân giải cao nhất có thể.

30. Để xác thực người dùng trong ứng dụng di động, Firebase cung cấp dịch vụ nào hỗ trợ nhiều phương thức đăng nhập khác nhau (ví dụ: email/mật khẩu, Google, Facebook)?

A. Firebase Hosting
B. Firebase Authentication
C. Firebase Cloud Messaging
D. Firebase Storage

31. Trong phát triển ứng dụng di động đa nền tảng, yếu tố nào sau đây là ưu điểm chính của việc sử dụng Flutter so với các framework khác như React Native về mặt hiệu suất đồ họa và giao diện người dùng?

A. Flutter sử dụng cơ chế cầu nối JavaScript để tương tác với các thành phần native, giúp tối ưu hóa hiệu suất.
B. Flutter sử dụng engine đồ họa Skia riêng, cho phép vẽ UI trực tiếp mà không cần cầu nối native, mang lại hiệu suất cao.
C. Flutter tập trung vào việc tái sử dụng tối đa các component native có sẵn, làm giảm đáng kể thời gian render.
D. Flutter hỗ trợ tự động chuyển đổi mã nguồn Dart sang Kotlin/Swift, đảm bảo hiệu suất tương đương native.

32. Khi phát triển ứng dụng di động native cho Android, công nghệ nào dưới đây là ngôn ngữ lập trình chính thức được Google khuyến nghị và hỗ trợ tốt nhất hiện nay?

A. Java.
B. Kotlin.
C. C#.
D. Dart.

33. Ứng dụng web tiến bộ (PWA) khác biệt cơ bản so với ứng dụng di động native ở khía cạnh nào về mặt phân phối và cài đặt?

A. PWA yêu cầu cửa hàng ứng dụng để cài đặt, trong khi native app không cần.
B. PWA có thể được cài đặt trực tiếp từ trình duyệt web mà không cần thông qua cửa hàng ứng dụng.
C. PWA chỉ có thể chạy offline, còn native app yêu cầu kết nối internet.
D. PWA luôn có hiệu suất cao hơn native app do tối ưu hóa tài nguyên.

34. Để đảm bảo ứng dụng di động của bạn có thể hoạt động hiệu quả ngay cả khi không có kết nối internet, khái niệm ‘offline-first’ thường đề cập đến việc ưu tiên điều gì?

A. Ưu tiên phát triển các tính năng yêu cầu kết nối mạng ổn định.
B. Ưu tiên thiết kế giao diện người dùng đơn giản để giảm tải dữ liệu.
C. Ưu tiên lưu trữ và đồng bộ hóa dữ liệu cục bộ để người dùng có thể truy cập mà không cần mạng.
D. Ưu tiên thông báo lỗi khi không có kết nối internet thay vì hiển thị dữ liệu cũ.

35. Khi tích hợp dịch vụ backend vào ứng dụng di động, tại sao việc sử dụng RESTful API lại là một phương pháp phổ biến và được ưa chuộng?

A. RESTful API chỉ hỗ trợ định dạng dữ liệu XML, giúp giảm dung lượng truyền tải.
B. RESTful API sử dụng các phương thức HTTP tiêu chuẩn (GET, POST, PUT, DELETE) và không trạng thái, giúp nó linh hoạt và dễ mở rộng.
C. RESTful API là công nghệ độc quyền của Google, đảm bảo hiệu suất tốt nhất cho Android.
D. RESTful API tự động tạo giao diện người dùng cho ứng dụng di động.

36. Để quản lý trạng thái phức tạp trong một ứng dụng React Native, thư viện nào dưới đây thường được sử dụng rộng rãi để tạo một ‘single source of truth’ cho dữ liệu ứng dụng?

A. Axios.
B. React Navigation.
C. Redux.
D. Expo.

37. Đâu là một lợi ích chính của phương pháp phát triển ứng dụng di động ‘Hybrid App’ so với ‘Native App’?

A. Hiệu suất hoạt động vượt trội, đặc biệt là các tác vụ nặng về đồ họa.
B. Khả năng truy cập đầy đủ và trực tiếp vào tất cả các tính năng phần cứng của thiết bị.
C. Tối ưu hóa mã nguồn cho từng nền tảng cụ thể, dẫn đến kích thước ứng dụng nhỏ hơn.
D. Phát triển một lần với một codebase duy nhất cho nhiều nền tảng (iOS, Android), giúp tiết kiệm thời gian và chi phí.

38. Trong quá trình kiểm thử ứng dụng di động, ‘kiểm thử hồi quy’ (Regression Testing) có mục đích chính là gì?

A. Kiểm tra các tính năng mới được thêm vào ứng dụng.
B. Đảm bảo rằng các thay đổi hoặc sửa lỗi gần đây không gây ra lỗi mới hoặc phá vỡ các tính năng hiện có.
C. Đánh giá khả năng chịu tải và hiệu suất của ứng dụng dưới áp lực cao.
D. Kiểm tra tính bảo mật của ứng dụng trước các cuộc tấn công tiềm năng.

39. Khi phát triển ứng dụng di động sử dụng Firebase, dịch vụ ‘Cloud Firestore’ hoặc ‘Realtime Database’ của Firebase cung cấp chức năng chính nào?

A. Xác thực người dùng và quản lý phiên.
B. Hỗ trợ lưu trữ file và media cho ứng dụng.
C. Cung cấp cơ sở dữ liệu NoSQL thời gian thực, đồng bộ dữ liệu giữa các client và backend.
D. Quản lý các thông báo đẩy (push notifications) cho ứng dụng.

40. Yếu tố nào sau đây là quan trọng nhất để đạt được trải nghiệm người dùng (UX) tốt trong ứng dụng di động?

A. Sử dụng nhiều màu sắc và hiệu ứng động để thu hút sự chú ý.
B. Đảm bảo ứng dụng có hiệu suất nhanh, giao diện trực quan và dễ sử dụng, đáp ứng nhu cầu người dùng.
C. Tích hợp càng nhiều tính năng phức tạp càng tốt để người dùng có nhiều lựa chọn.
D. Thiết kế giao diện phù hợp với xu hướng mới nhất mà không cần quan tâm đến mục tiêu của ứng dụng.

41. Tại sao việc tối ưu hóa hình ảnh và tài nguyên khác là rất quan trọng trong phát triển ứng dụng di động?

A. Chỉ để làm cho ứng dụng trông đẹp hơn trên các thiết bị cao cấp.
B. Để giảm dung lượng ứng dụng, tăng tốc độ tải, và tiết kiệm dữ liệu di động cho người dùng.
C. Vì Google và Apple yêu cầu tất cả các ứng dụng phải có dung lượng dưới 10MB.
D. Nó giúp ứng dụng tự động cập nhật lên phiên bản mới nhất.

42. Trong phát triển iOS, framework nào dưới đây được sử dụng để xây dựng giao diện người dùng một cách lập trình (declarative UI), thay thế cho UIKit truyền thống?

A. Core Data.
B. SwiftUI.
C. ARKit.
D. MapKit.

43. Khi triển khai một ứng dụng di động lên Google Play Store, điều gì là bắt buộc phải có để ứng dụng của bạn được phép phân phối?

A. Một tài khoản nhà phát triển Apple.
B. Chứng chỉ SSL cho mọi kết nối API.
C. Một tài khoản nhà phát triển Google Play và ứng dụng đã được ký bằng khóa ký ứng dụng (app signing key).
D. Mã nguồn ứng dụng phải được viết bằng Kotlin.

44. Để thực hiện các tác vụ dài hạn hoặc cần chạy ngầm trong ứng dụng Android mà không bị hệ thống dừng lại khi người dùng thoát ứng dụng, khái niệm nào dưới đây thường được sử dụng?

A. Activity.
B. Fragment.
C. Service.
D. BroadcastReceiver.

45. Thách thức lớn nhất khi phát triển ứng dụng đa nền tảng (ví dụ: React Native, Flutter) so với phát triển native thuần túy là gì?

A. Chi phí phát triển cao hơn và thời gian lâu hơn.
B. Khó khăn trong việc tìm kiếm nhà phát triển có kinh nghiệm.
C. Hạn chế trong việc truy cập các tính năng native chuyên biệt hoặc hiệu suất kém hơn cho các tác vụ phức tạp.
D. Không thể triển khai ứng dụng lên cả App Store và Google Play.

46. Khi thiết kế giao diện người dùng (UI) cho ứng dụng di động, nguyên tắc ‘khoảng trắng’ (whitespace) đóng vai trò gì?

A. Để tiết kiệm không gian màn hình bằng cách loại bỏ các yếu tố không cần thiết.
B. Để tạo ra cảm giác thoáng đãng, dễ đọc, và giúp người dùng tập trung vào các yếu tố quan trọng.
C. Nó chỉ được sử dụng trong các ứng dụng có ít nội dung để tránh màn hình trống rỗng.
D. Là không gian dành riêng cho quảng cáo trong ứng dụng.

47. Dịch vụ ‘Push Notifications’ (Thông báo đẩy) trong ứng dụng di động mang lại lợi ích chính nào cho doanh nghiệp hoặc nhà phát triển?

A. Giảm dung lượng ứng dụng khi tải về.
B. Tăng cường khả năng tương tác và giữ chân người dùng bằng cách cung cấp thông tin kịp thời.
C. Tự động sao lưu dữ liệu người dùng lên đám mây.
D. Cải thiện hiệu suất xử lý của ứng dụng trên thiết bị.

48. Công cụ nào sau đây thường được sử dụng trong quy trình phát triển liên tục/tích hợp liên tục (CI/CD) cho ứng dụng di động để tự động hóa việc xây dựng, kiểm thử và triển khai?

A. Photoshop.
B. Git.
C. Jenkins hoặc GitLab CI/CD.
D. Microsoft Word.

49. Để đảm bảo bảo mật dữ liệu nhạy cảm trong ứng dụng di động, phương pháp nào dưới đây là cần thiết nhất khi truyền dữ liệu qua mạng?

A. Chỉ sử dụng các giao thức HTTP thông thường.
B. Mã hóa dữ liệu trước khi truyền và sử dụng HTTPS.
C. Lưu trữ dữ liệu nhạy cảm trực tiếp trong mã nguồn ứng dụng.
D. Chỉ truyền dữ liệu qua mạng Wi-Fi công cộng.

50. Khái niệm ‘Lifecycle’ (Vòng đời) của một Activity trong Android có ý nghĩa gì đối với việc quản lý tài nguyên và trạng thái ứng dụng?

A. Nó định nghĩa các giai đoạn từ khi Activity được tạo cho đến khi bị hủy, giúp quản lý tài nguyên và dữ liệu hiệu quả.
B. Nó chỉ liên quan đến việc khởi động và dừng ứng dụng.
C. Nó cho biết thời gian ứng dụng được phát triển từ đầu đến cuối.
D. Nó là chu kỳ cập nhật tự động của ứng dụng.

51. Trong phát triển ứng dụng di động, A/B Testing (Kiểm thử A/B) được sử dụng chủ yếu để làm gì?

A. Kiểm tra tính 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 yếu tố (ví dụ: giao diện, tính năng) để xác định phiên bản nào hoạt động tốt hơn.
C. Đo lường thời gian tải ứng dụng trên các thiết bị khác nhau.
D. Kiểm tra khả năng tương thích của ứng dụng với các hệ điều hành cũ.

52. Để quản lý các phiên bản mã nguồn và cộng tác hiệu quả trong phát triển ứng dụng di động, hệ thống kiểm soát phiên bản (Version Control System – VCS) nào là phổ biến nhất?

A. Microsoft Word.
B. Dropbox.
C. Git.
D. Google Drive.

53. Yếu tố nào sau đây là cân nhắc quan trọng nhất khi lựa chọn giữa phát triển ứng dụng Native và Hybrid/Cross-platform?

A. Sở thích cá nhân của nhà phát triển.
B. Mục tiêu hiệu suất, chi phí, thời gian phát triển, và khả năng tiếp cận tính năng native.
C. Số lượng ngôn ngữ lập trình mà đội ngũ phát triển biết.
D. Màu sắc chủ đạo của logo ứng dụng.

54. Sự khác biệt chính giữa ‘compile-time error’ và ‘runtime error’ trong lập trình ứng dụng di động là gì?

A. Compile-time error xảy ra khi ứng dụng đang chạy, còn runtime error xảy ra khi biên dịch mã.
B. Compile-time error được phát hiện bởi trình biên dịch trước khi ứng dụng chạy, còn runtime error xảy ra trong quá trình thực thi ứng dụng.
C. Compile-time error chỉ xuất hiện trong mã nguồn Java, còn runtime error chỉ xuất hiện trong mã nguồn Kotlin.
D. Runtime error luôn dễ sửa hơn compile-time error.

55. Để tích hợp các chức năng nâng cao như bản đồ, định vị GPS vào ứng dụng di động, nhà phát triển thường sử dụng API nào từ các nhà cung cấp dịch vụ lớn?

A. API của mạng xã hội như Facebook Graph API.
B. Google Maps SDK/API hoặc Apple MapKit.
C. Stripe API cho thanh toán.
D. Firebase Authentication API.

56. Thành phần nào của ứng dụng di động React Native chịu trách nhiệm cho việc ‘cầu nối’ (bridge) giữa mã JavaScript và các module native của thiết bị?

A. React Native CLI.
B. Metro Bundler.
C. The Bridge.
D. Yoga layout engine.

57. Mô hình kiến trúc MVVM (Model-View-ViewModel) trong phát triển ứng dụng di động có ưu điểm chính là gì?

A. Giúp kết nối trực tiếp View với Model mà không cần trung gian.
B. Tăng cường khả năng kiểm thử, tách biệt trách nhiệm và dễ dàng mở rộng.
C. Loại bỏ hoàn toàn nhu cầu về logic nghiệp vụ (business logic).
D. Chỉ áp dụng cho các ứng dụng có giao diện rất đơn giản.

58. Trong ngữ cảnh phát triển di động, ‘Dark Mode’ (Chế độ tối) mang lại lợi ích gì ngoài yếu tố thẩm mỹ?

A. Giúp ứng dụng tải nhanh hơn.
B. Tăng cường bảo mật dữ liệu người dùng.
C. Giảm mỏi mắt cho người dùng trong điều kiện ánh sáng yếu và tiết kiệm pin trên màn hình OLED.
D. Chỉ dành cho các ứng dụng chuyên nghiệp.

59. Thẻ ‘Service Worker’ đóng vai trò quan trọng như thế nào trong việc xây dựng Progressive Web Apps (PWA)?

A. Dùng để định nghĩa cấu trúc HTML của PWA.
B. Là một script chạy ngầm trong trình duyệt, cho phép PWA hoạt động offline và gửi thông báo đẩy.
C. Chỉ để nén hình ảnh và video trong PWA.
D. Quản lý việc xác thực người dùng cho PWA.

60. Để đánh giá chất lượng và mức độ tương thích của ứng dụng di động trên nhiều thiết bị và phiên bản hệ điều hành khác nhau, kỹ thuật ‘Device Farm Testing’ (Kiểm thử trên nông trại thiết bị) được sử dụng để làm gì?

A. Để kiểm tra ứng dụng trên một thiết bị duy nhất.
B. Để thực hiện kiểm thử tự động trên một bộ sưu tập lớn các thiết bị vật lý và ảo trên đám mây.
C. Để so sánh hiệu suất của ứng dụng trên Android và iOS thủ công.
D. Để phát hiện lỗi chính tả trong giao diện ứng dụng.

61. Trong phát triển ứng dụng di động, đâu là ngôn ngữ lập trình chính thức được Google khuyến nghị cho phát triển ứng dụng Android gốc (Native Android) hiện nay?

A. Java
B. Kotlin
C. Swift
D. Dart

62. Framework nào dưới đây sử dụng ngôn ngữ Dart và nổi bật với khả năng phát triển giao diện người dùng (UI) đẹp mắt, hiệu suất cao cho cả iOS và Android từ một codebase duy nhất?

A. Xamarin
B. React Native
C. Flutter
D. Ionic

63. Khi phát triển ứng dụng di động, ưu điểm chính của việc sử dụng phương pháp phát triển ứng dụng gốc (Native App Development) là gì?

A. Tốc độ phát triển nhanh chóng và chi phí thấp hơn.
B. Dễ dàng triển khai trên nhiều nền tảng với một codebase duy nhất.
C. Truy cập đầy đủ vào các tính năng phần cứng thiết bị và hiệu suất tối ưu.
D. Khả năng cập nhật tự động thông qua trình duyệt web.

64. Mô hình kiến trúc nào thường được sử dụng trong phát triển ứng dụng Android để tách biệt logic nghiệp vụ khỏi giao diện người dùng, giúp dễ dàng kiểm thử và bảo trì?

A. MVC (Model-View-Controller)
B. MVVM (Model-View-ViewModel)
C. MVP (Model-View-Presenter)
D. Tất cả các mô hình trên đều có thể được sử dụng.

65. Để đảm bảo ứng dụng di động hoạt động tốt trên các kích thước màn hình và mật độ điểm ảnh khác nhau của Android, nhà phát triển cần đặc biệt chú ý đến điều gì?

A. Chỉ sử dụng đơn vị ‘pixel’ (px) cho tất cả các kích thước.
B. Thiết kế giao diện phản hồi (responsive design) bằng cách sử dụng đơn vị ‘dp’ (density-independent pixels) và ‘sp’ (scale-independent pixels).
C. Chỉ hỗ trợ một kích thước màn hình duy nhất để đơn giản hóa quá trình phát triển.
D. Sử dụng hình ảnh có độ phân giải cố định, không thay đổi.

66. Trong môi trường phát triển ứng dụng iOS, đâu là IDE (Môi trường Phát triển Tích hợp) chính thức được Apple cung cấp?

A. Android Studio
B. Visual Studio Code
C. Xcode
D. IntelliJ IDEA

67. Khi triển khai một ứng dụng di động lên Google Play Store, yêu cầu nào sau đây là bắt buộc để ứng dụng được chấp thuận?

A. Ứng dụng phải có tính năng thanh toán trong ứng dụng.
B. Ứng dụng phải được ký bằng khóa phát hành và tuân thủ chính sách của Google Play.
C. Ứng dụng phải hỗ trợ tất cả các phiên bản Android hiện có.
D. Ứng dụng phải được phát triển bằng Kotlin.

68. Đâu là một trong những thách thức lớn nhất khi phát triển ứng dụng di động đa nền tảng (cross-platform) so với ứng dụng gốc?

A. Khả năng tái sử dụng mã nguồn thấp.
B. Khó khăn trong việc duy trì một UI/UX nhất quán trên các nền tảng.
C. Hạn chế trong việc truy cập các tính năng phần cứng nâng cao và hiệu suất có thể không tối ưu bằng ứng dụng gốc.
D. Chi phí phát triển cao hơn đáng kể.

69. Trong quá trình tối ưu hóa hiệu suất cho ứng dụng di động, điều gì sau đây được coi là quan trọng nhất để tránh giật lag và phản hồi chậm?

A. Thực hiện tất cả các tác vụ nặng trên luồng chính (main thread).
B. Sử dụng hình ảnh có độ phân giải rất cao mà không cần tối ưu.
C. Thực hiện các tác vụ tốn thời gian như truy vấn cơ sở dữ liệu hoặc yêu cầu mạng trên các luồng nền (background threads).
D. Hạn chế số lượng hoạt ảnh (animations) trong ứng dụng.

70. Firebase, một nền tảng của Google, cung cấp những dịch vụ backend nào phổ biến cho phát triển ứng dụng di động?

A. Chỉ lưu trữ dữ liệu đám mây.
B. Chỉ xác thực người dùng và phân tích.
C. Cơ sở dữ liệu thời gian thực, xác thực người dùng, lưu trữ tệp, chức năng máy chủ không máy chủ (serverless functions) và phân tích.
D. Chỉ dịch vụ máy chủ ảo (virtual machine hosting).

71. Khái niệm ‘Deep Linking’ trong phát triển ứng dụng di động đề cập đến điều gì?

A. Liên kết đến một trang web bên ngoài ứng dụng.
B. Khả năng ứng dụng có thể mở một URL cụ thể và điều hướng trực tiếp đến một nội dung hoặc màn hình cụ thể bên trong ứng dụng đó.
C. Liên kết giữa các ứng dụng khác nhau trên cùng một thiết bị.
D. Một kỹ thuật để tối ưu hóa hiệu suất liên kết mạng.

72. Tại sao việc yêu cầu quyền truy cập (permissions) từ người dùng một cách rõ ràng và đúng lúc lại quan trọng trong phát triển ứng dụng di động?

A. Để đảm bảo ứng dụng có thể hoạt động mà không cần kết nối internet.
B. Để tuân thủ các quy định về quyền riêng tư và xây dựng lòng tin với người dùng, đồng thời đảm bảo ứng dụng có thể sử dụng các tính năng thiết bị cần thiết.
C. Chỉ để tăng tốc độ khởi chạy ứng dụng.
D. Để tránh các lỗi hệ thống trong quá trình sử dụng.

73. Trong phát triển ứng dụng di động, ‘Progressive Web App’ (PWA) là gì?

A. Một loại ứng dụng gốc được phát triển bằng ngôn ngữ web.
B. Một ứng dụng di động chỉ có thể chạy trên trình duyệt.
C. Một ứng dụng web sử dụng các công nghệ web hiện đại để mang lại trải nghiệm giống ứng dụng gốc, có thể cài đặt được trên màn hình chính và hoạt động ngoại tuyến.
D. Một framework phát triển ứng dụng đa nền tảng.

74. Để lưu trữ dữ liệu cấu hình nhỏ hoặc thông tin người dùng cục bộ trên Android một cách đơn giản, phương pháp nào thường được sử dụng?

A. SQLite database.
B. Shared Preferences.
C. Lưu trữ tệp vào bộ nhớ ngoài.
D. Sử dụng Content Providers.

75. Yếu tố nào đóng vai trò quan trọng nhất trong việc cải thiện tỷ lệ giữ chân người dùng (user retention) cho một ứng dụng di động?

A. Số lượng tính năng của ứng dụng.
B. Chi phí marketing và quảng cáo.
C. Trải nghiệm người dùng (UX) tuyệt vời, hiệu suất mượt mà và giá trị liên tục mà ứng dụng mang lại.
D. Kích thước tệp tin của ứng dụng.

76. Trong quy trình kiểm thử ứng dụng di động, ‘Unit Test’ tập trung vào việc kiểm tra điều gì?

A. Toàn bộ luồng người dùng của ứng dụng.
B. Sự tương tác giữa các thành phần khác nhau của ứng dụng.
C. Tính đúng đắn của từng đơn vị mã nguồn riêng lẻ (hàm, phương thức, lớp).
D. Khả năng tương thích của ứng dụng trên các thiết bị khác nhau.

77. Đâu là ưu điểm chính của việc sử dụng React Native để phát triển ứng dụng di động so với phát triển ứng dụng gốc?

A. Cung cấp hiệu suất đồ họa 3D vượt trội.
B. Sử dụng JavaScript/TypeScript và một codebase để triển khai trên cả iOS và Android, giúp tiết kiệm thời gian và chi phí.
C. Hỗ trợ tích hợp sâu hơn với các API phần cứng độc quyền của từng nền tảng.
D. Đảm bảo ứng dụng có kích thước tệp tin nhỏ nhất có thể.

78. Khi tích hợp API bên ngoài vào ứng dụng di động, phương thức HTTP nào thường được dùng để gửi dữ liệu mới lên máy chủ?

A. GET
B. PUT
C. DELETE
D. POST

79. Để quản lý các thư viện và module bên thứ ba trong dự án iOS, công cụ nào thường được sử dụng?

A. Gradle
B. npm
C. CocoaPods hoặc Swift Package Manager.
D. Maven

80. Mục đích chính của ‘Continuous Integration/Continuous Delivery’ (CI/CD) trong phát triển ứng dụng di động là gì?

A. Chỉ để tự động hóa việc xuất bản ứng dụng lên các kho ứng dụng.
B. Để tự động hóa quá trình xây dựng, kiểm thử và triển khai ứng dụng, giúp phát hiện lỗi sớm và đẩy các bản cập nhật nhanh chóng, đáng tin cậy hơn.
C. Chỉ để quản lý mã nguồn trong kho lưu trữ Git.
D. Để giảm thiểu chi phí phát triển ban đầu.

81. Lý do chính khiến việc kiểm thử trên nhiều thiết bị thực khác nhau trở nên cần thiết đối với ứng dụng di động là gì?

A. Để đảm bảo ứng dụng chỉ hoạt động trên một phiên bản hệ điều hành cụ thể.
B. Để phát hiện các vấn đề về tương thích, hiệu suất, giao diện người dùng và chức năng có thể xuất hiện do sự đa dạng về phần cứng, kích thước màn hình và phiên bản hệ điều hành.
C. Để thu thập phản hồi từ người dùng cuối.
D. Để kiểm tra khả năng tích hợp với các ứng dụng khác.

82. Phương pháp nào hiệu quả nhất để xử lý các tác vụ không đồng bộ (asynchronous tasks) trong Kotlin trên Android mà không chặn luồng UI?

A. Sử dụng AsyncTask (đã không còn được khuyến nghị).
B. Sử dụng Thread.sleep() để chờ đợi.
C. Sử dụng Coroutines hoặc RxJava/Flow.
D. Thực hiện trực tiếp trên luồng chính (main thread).

83. Mục tiêu chính của ‘User Experience’ (UX) trong thiết kế ứng dụng di động là gì?

A. Tạo ra một giao diện đẹp mắt với nhiều màu sắc.
B. Đảm bảo ứng dụng dễ sử dụng, hiệu quả và mang lại trải nghiệm thú vị, hài lòng cho người dùng.
C. Chỉ tập trung vào việc thêm nhiều tính năng mới vào ứng dụng.
D. Giảm thiểu chi phí phát triển giao diện người dùng.

84. Khi nào việc chọn phát triển ứng dụng di động gốc (Native App) là lựa chọn tối ưu hơn so với ứng dụng đa nền tảng (Cross-platform)?

A. Khi cần triển khai nhanh chóng trên cả hai nền tảng với ngân sách hạn chế.
B. Khi yêu cầu hiệu suất cực cao, tích hợp sâu vào phần cứng thiết bị và trải nghiệm người dùng tùy chỉnh hoàn toàn theo từng nền tảng.
C. Khi đội ngũ phát triển chỉ có kinh nghiệm với JavaScript.
D. Khi ứng dụng chủ yếu hiển thị nội dung web.

85. Công cụ nào sau đây thường được sử dụng để quản lý các gói phụ thuộc (dependencies) trong dự án Android?

A. npm
B. CocoaPods
C. Gradle
D. Composer

86. Đâu là cách tiếp cận tốt nhất để xử lý các thay đổi cấu hình (như xoay màn hình) trong ứng dụng Android mà không làm mất trạng thái dữ liệu của giao diện người dùng?

A. Tắt tính năng xoay màn hình cho Activity.
B. Lưu trữ dữ liệu trong biến tĩnh (static variable).
C. Sử dụng ViewModel của Android Architecture Components hoặc lưu trạng thái vào ‘Bundle’ trong ‘onSaveInstanceState()’.
D. Cho phép Activity tự động tạo lại mà không cần xử lý thêm.

87. Một ứng dụng di động cần cung cấp tính năng bản đồ và định vị. API hoặc dịch vụ nào sau đây là phù hợp nhất để tích hợp trên cả hai nền tảng iOS và Android?

A. Apple Maps và Google Maps API.
B. Chỉ sử dụng API định vị có sẵn trong React Native.
C. OpenStreetMap API.
D. Chỉ sử dụng các thư viện bản đồ cục bộ.

88. Khi thiết kế ứng dụng di động, việc đảm bảo khả năng tiếp cận (Accessibility) có ý nghĩa gì?

A. Chỉ dành cho người dùng có thị lực kém.
B. Đảm bảo ứng dụng có thể được sử dụng bởi mọi người, bao gồm cả những người khuyết tật, thông qua các tính năng như đọc màn hình, điều khiển bằng giọng nói hoặc cỡ chữ lớn.
C. Ứng dụng phải có khả năng truy cập internet ổn định.
D. Ứng dụng phải có tính năng ‘Guest Mode’ (chế độ khách).

89. Mô hình kiếm tiền nào sau đây phổ biến nhất cho các ứng dụng di động miễn phí nhưng cung cấp nội dung hoặc tính năng bổ sung trả phí?

A. Ứng dụng trả phí (Paid apps).
B. Quảng cáo trong ứng dụng (In-app advertising).
C. Mua hàng trong ứng dụng (In-app purchases) và đăng ký dịch vụ (Subscriptions).
D. Mô hình tài trợ (Sponsorship).

90. Đâu là lợi ích chính của việc sử dụng một hệ thống kiểm soát phiên bản như Git trong phát triển ứng dụng di động?

A. Tự động hóa hoàn toàn việc triển khai ứng dụng.
B. Quản lý mã nguồn, theo dõi các thay đổi, cho phép cộng tác nhóm hiệu quả và dễ dàng quay lại các phiên bản trước.
C. Chỉ dùng để sao lưu mã nguồn mà không cần theo dõi lịch sử.
D. Giảm dung lượng ứng dụng khi phát hành.

91. Which architecture pattern, often favored in modern mobile development (like Flutter or modern Android/iOS), separates the UI from the business logic and state management to improve testability and maintainability?

A. Model-View-Controller (MVC)
B. Model-View-ViewModel (MVVM)
C. Three-Tier Architecture (3TA)
D. Client-Server Model (CSM)

92. In the context of cross-platform mobile development using React Native, what mechanism is primarily responsible for bridging JavaScript code execution to native UI components?

A. The JSI (JavaScript Interface)
B. The Bridge
C. The Compiler Target
D. The Native Module Loader

93. What is the primary security concern addressed by implementing Certificate Pinning in a mobile application that communicates with a backend API over HTTPS?

A. Preventing unauthorized access to the mobile device’s local storage.
B. Ensuring the application only communicates with known, pre-approved server certificates, mitigating Man-in-the-Middle (MITM) attacks via compromised CAs.
C. Encrypting data stored locally on the device using symmetric keys.
D. Obfuscating the source code to prevent reverse engineering.

94. When developing a complex mobile application, which component of the Android lifecycle is guaranteed to be called when the user navigates away from the app but the system *might* destroy the Activity later to reclaim memory?

A. onResume()
B. onPause()
C. onStop()
D. onDestroy()

95. In iOS development using Swift, what property wrapper is commonly used to create state variables whose changes automatically trigger a UI refresh in SwiftUI views?

A. @ObservedObject
B. @State
C. @Binding
D. @Environment

96. Which concept best describes the practice of packaging an application so that it includes not only the code but also the runtime environment, libraries, and configuration files needed for deployment across various environments?

A. Virtualization
B. Containerization
C. Microservices architecture
D. Dependency Injection

97. What is the primary advantage of using Reactive Programming (like RxSwift or Combine) in mobile development compared to traditional imperative state management?

A. It simplifies the management of asynchronous operations and data streams by handling them declaratively.
B. It always results in smaller application bundle sizes due to reduced boilerplate.
C. It completely eliminates the need for threading models by running everything on the main thread.
D. It inherently guarantees thread safety for all data access without explicit locks.

98. When performing A/B testing on a mobile app feature, which deployment strategy ensures that only a small, specific segment of users receives the new feature version initially?

A. Canary Release
B. Blue/Green Deployment
C. Phased Rollout
D. Feature Flagging

99. Which of the following best describes the purpose of the ‘AndroidManifest.xml’ file in an Android application?

A. It handles all the compiled application logic and machine code execution.
B. It defines the application structure, metadata, required permissions, and declares components like Activities and Services.
C. It is solely responsible for defining the graphical layout and user interface elements of the application.
D. It manages the application’s database schema and local storage access.

100. In the context of mobile performance optimization, what technique is used to minimize the overhead of creating new objects repeatedly during scrolling through a long list (e.g., ListView or RecyclerView)?

A. Data Binding
B. Object Pooling
C. Code Obfuscation
D. Ahead-of-Time (AOT) Compilation

101. Which security vulnerability arises when an application trusts user-provided input used directly in a database query without proper sanitization or parameterization?

A. Cross-Site Scripting (XSS)
B. Insecure Direct Object Reference (IDOR)
C. SQL Injection (SQLi)
D. Buffer Overflow

102. What is the primary role of a State Management library (like Redux, Bloc, or MobX) in large-scale mobile application development?

A. To handle low-level networking requests and retry logic.
B. To provide a predictable, centralized, and traceable mechanism for managing application data state across disparate components.
C. To automatically generate UI elements based on a declarative schema.
D. To manage hardware interactions, such as camera and GPS access.

103. When deploying an update to the Apple App Store, what is the primary purpose of utilizing the TestFlight platform prior to the public release?

A. To receive final approval from Apple review guidelines.
B. To distribute the app internally and externally to gather real-world feedback and test stability before mass distribution.
C. To perform mandatory security audits required by Apple.
D. To monitor the application’s live crash rates in the production environment.

104. Which term refers to the practice of converting a native mobile application’s core business logic into a format that can be executed by another platform’s runtime, often used in technologies like React Native or Flutter?

A. Native Compilation
B. Code Interpretation
C. Bytecode Transpilation
D. Just-In-Time (JIT) Compilation

105. In Flutter development, if a widget needs to rebuild *only* when specific external data sources change, which widget base class should ideally be used instead of StatelessWidget?

A. InheritedWidget
B. FutureBuilder
C. StatefulWidget
D. WidgetBuilder

106. What is a critical advantage of using Progressive Web Applications (PWAs) over fully native applications for certain business use cases, particularly regarding user acquisition?

A. PWAs have mandatory access to all native device APIs, like NFC and advanced camera controls.
B. PWAs can be installed instantly without going through the app store review process or large downloads.
C. PWAs guarantee superior offline performance compared to native apps.
D. PWAs offer better long-term revenue generation through in-app subscriptions managed by the platform.

107. Which principle of SOLID dictates that a subclass should be substitutable for its parent class without altering the correctness of the program?

A. Single Responsibility Principle (SRP)
B. Interface Segregation Principle (ISP)
C. Liskov Substitution Principle (LSP)
D. Dependency Inversion Principle (DIP)

108. In the development lifecycle, what process typically follows the final QA testing phase and precedes the widespread public launch in official app stores?

A. Alpha Testing
B. User Acceptance Testing (UAT) or Soft Launch
C. Unit Testing implementation
D. Code Refactoring for performance

109. When designing APIs for a mobile application, why is implementing rate limiting on the server side generally considered a critical security and stability measure?

A. To ensure all client requests are processed in the order they are received.
B. To prevent Denial of Service (DoS) attacks and ensure fair resource allocation among all users.
C. To automatically encrypt sensitive parameters before transmission.
D. To enforce compliance with GDPR regulations regarding data access.

110. What is the fundamental difference between ‘Push Notifications’ and ‘Silent Push Notifications’ regarding user interaction in mobile apps?

A. Push Notifications are only for iOS, while Silent Push Notifications are only for Android.
B. Silent pushes are delivered without displaying an alert, badge, or sound, primarily for triggering background data synchronization.
C. Push Notifications require an active internet connection, whereas Silent Push Notifications do not.
D. Silent Push Notifications are always prioritized higher by the operating system than standard Push Notifications.

111. In performance monitoring of a deployed mobile application, what metric is primarily used to measure the time elapsed from the user tapping an icon to the first meaningful frame of the UI appearing on screen?

A. Frame Rate (FPS)
B. Time to Interactive (TTI)
C. Startup Time (Cold Start)
D. Jank Rate

112. Which type of testing is most effective for ensuring that complex, multi-step user flows (like registration, checkout, or onboarding) function correctly across different device configurations?

A. Unit Testing
B. Performance Testing
C. End-to-End (E2E) Testing
D. Accessibility Testing

113. When developing an application using the MVVM pattern, where should the logic for fetching data from a remote REST API and transforming it into domain objects typically reside?

A. In the View (Activity/Fragment/Widget)
B. In the ViewModel
C. In the Model (or a dedicated Repository/Service layer, often called by the ViewModel)
D. In the Manifest file

114. What is the main drawback of tightly coupling the View layer directly to the Data Source layer in a mobile application architecture?

A. It increases the application’s memory footprint significantly.
B. It makes unit testing the View logic extremely difficult as it requires mocking external services.
C. It forces the application to use only local storage solutions.
D. It guarantees a faster UI rendering time.

115. In the context of modern CI/CD pipelines for mobile apps, what is the function of the ‘Fastlane’ toolset?

A. It is a framework for building complex UI animations quickly.
B. It automates tedious deployment and release tasks such as code signing, build generation, and submission to app stores.
C. It analyzes runtime performance metrics in real-time during user sessions.
D. It solely handles backend microservice orchestration.

116. When utilizing native platform features (e.g., device camera access) in a cross-platform framework like React Native or Flutter, what mechanism is necessary to execute platform-specific code from the shared framework code?

A. Code Obfuscation
B. Platform Channels (or Native Modules)
C. Dependency Injection
D. Asset Bundling

117. Which technique is most effective for reducing the initial load time of an application that has a large number of screens or features that are not immediately needed upon launch?

A. Using AOT Compilation exclusively.
B. Implementing dynamic code loading or feature module splitting.
C. Disabling all background services permanently.
D. Increasing the minimum required SDK version.

118. What is the critical difference between ‘Hot Reload’ and ‘Hot Restart’ functionality in frameworks like Flutter?

A. Hot Reload updates the state but retains the application’s current state, while Hot Restart reloads the entire application state.
B. Hot Reload injects updated source code files without losing the application state, while Hot Restart preserves the state but re-executes initialization methods.
C. Hot Reload injects updated source code files without losing the application state, while Hot Restart terminates and restarts the application, losing the current state.
D. Hot Reload is only available on iOS, while Hot Restart is available on Android.

119. When building an API endpoint for a mobile app, if the backend implements robust caching using HTTP ETag headers, what action does the mobile client typically take when the ETag matches a previously cached response?

A. The client sends a full GET request to re-download the data.
B. The client sends a conditional GET request with the ETag in the ‘If-None-Match’ header and expects a 304 Not Modified status.
C. The client immediately discards the cache and assumes the data is stale.
D. The client ignores the ETag and always forces a new download to ensure freshness.

120. What is the primary architectural benefit of using Dependency Injection (DI) when building maintainable mobile applications?

A. It mandates that all data must be synchronized via the main thread.
B. It inverts control over dependency creation, leading to looser coupling and improved testability by allowing easy swapping of implementations.
C. It guarantees thread safety for all shared mutable state.
D. It automatically handles all network timeouts and retries.

121. Nền tảng phát triển ứng dụng di động nào cho phép viết một codebase duy nhất rồi triển khai trên cả Android và iOS, nhưng vẫn có khả năng truy cập các tính năng gốc của thiết bị?

A. Nền tảng ảo hóa (Virtualization Platform)
B. Ứng dụng web di động (Mobile Web App)
C. Nền tảng đa nền tảng (Cross-platform)
D. Nền tảng gốc (Native)

122. Điểm khác biệt chính giữa React Native và Flutter là gì về cách chúng render giao diện người dùng trên thiết bị di động?

A. React Native chỉ hỗ trợ iOS, Flutter chỉ hỗ trợ Android.
B. React Native dùng cầu nối JavaScript để render các thành phần UI gốc, còn Flutter tự vẽ UI bằng engine đồ họa Skia.
C. Flutter cho phép truy cập API gốc trực tiếp hơn React Native.
D. React Native yêu cầu viết code Swift/Kotlin, Flutter chỉ dùng Dart.

123. Một ứng dụng di động cần được thiết kế để người dùng có thể dễ dàng hoàn thành các tác vụ chính chỉ bằng một tay, đặc biệt là khi cầm điện thoại ở chế độ dọc. Nguyên tắc thiết kế UI/UX nào sau đây được ưu tiên áp dụng nhất trong trường hợp này?

A. Tối ưu hóa hiệu năng (Performance Optimization)
B. Đồng nhất thương hiệu (Brand Consistency)
C. Thiết kế thích ứng (Responsive Design)
D. Khả năng tiếp cận bằng một tay (One-hand accessibility)

124. Khi phát triển ứng dụng di động, đâu là lợi thế chính của việc sử dụng SQLite so với lưu trữ dữ liệu trong tệp tin phẳng (flat file) thông thường?

A. Không yêu cầu cấp quyền truy cập bộ nhớ thiết bị.
B. Hỗ trợ truy vấn SQL phức tạp và quản lý dữ liệu có cấu trúc hiệu quả hơn.
C. Dễ dàng đồng bộ hóa với cơ sở dữ liệu đám mây hơn.
D. Dung lượng lưu trữ nhỏ hơn đáng kể.

125. Mô hình kiến trúc MVVM (Model-View-ViewModel) mang lại lợi ích chính nào trong phát triển ứng dụng di động?

A. Giảm đáng kể kích thước tệp APK/IPA.
B. Tách biệt logic nghiệp vụ khỏi giao diện người dùng, tăng cường khả năng kiểm thử và bảo trì.
C. Tự động quản lý vòng đời ứng dụng.
D. Cung cấp khả năng mã hóa dữ liệu mặc định.

126. Khi một ứng dụng di động cần gửi dữ liệu nhạy cảm (ví dụ: thông tin đăng nhập) đến một API backend, phương thức HTTP nào sau đây là an toàn và phù hợp nhất để sử dụng?

A. GET
B. DELETE
C. POST
D. PUT

127. Đâu là mục tiêu chính của kiểm thử đơn vị (Unit Testing) trong quá trình phát triển ứng dụng di động?

A. Kiểm tra khả năng phản hồi của ứng dụng dưới tải nặng.
B. Thu thập phản hồi từ người dùng cuối trước khi phát hành rộng rãi.
C. Đảm bảo toàn bộ ứng dụng hoạt động ổn định trên nhiều thiết bị khác nhau.
D. Xác minh tính đúng đắn của các đơn vị mã nhỏ nhất một cách độc lập.

128. Trước khi gửi một ứng dụng Android lên Google Play Store, nhà phát triển cần thực hiện bước quan trọng nào để đảm bảo tính bảo mật và định danh của ứng dụng?

A. Tạo bản sao lưu mã nguồn trên GitHub.
B. Xây dựng ứng dụng ở chế độ Debug.
C. Tối ưu hóa SEO cho tên ứng dụng.
D. Ký ứng dụng bằng một keystore (application signing).

129. Tại sao việc mã hóa dữ liệu nhạy cảm được lưu trữ cục bộ trên thiết bị là một thực tiễn bảo mật quan trọng trong phát triển ứng dụng di động?

A. Giảm dung lượng lưu trữ cần thiết.
B. Ngăn chặn ứng dụng gửi dữ liệu ra ngoài internet.
C. Bảo vệ dữ liệu khỏi truy cập trái phép khi thiết bị bị mất hoặc bị xâm phạm.
D. Tăng tốc độ đọc/ghi dữ liệu.

130. Yếu tố nào sau đây có tác động lớn nhất đến việc tiêu hao pin của ứng dụng di động?

A. Số lượng màn hình trong ứng dụng.
B. Sử dụng hình ảnh có độ phân giải thấp.
C. Kích thước tệp cài đặt (APK/IPA) lớn.
D. Hoạt động mạng liên tục và không hiệu quả.

131. Công nghệ nào cho phép ứng dụng di động phủ các đối tượng ảo lên thế giới thực thông qua camera của thiết bị?

A. Thực tế ảo (Virtual Reality – VR).
B. Học máy (Machine Learning – ML).
C. Trí tuệ nhân tạo (Artificial Intelligence – AI).
D. Thực tế tăng cường (Augmented Reality – AR).

132. Ưu điểm chính của việc phát triển ứng dụng Android bằng Kotlin so với Java là gì, theo quan điểm của Google và cộng đồng hiện nay?

A. Chỉ Kotlin mới có thể truy cập các API của Android SDK.
B. Hiệu suất chạy nhanh hơn đáng kể so với Java trên thiết bị.
C. Mã nguồn ngắn gọn hơn, an toàn với ‘null safety’ và tương thích hoàn toàn với Java.
D. Không cần Android Studio để phát triển.

133. Trong vòng đời của một ứng dụng Android, phương thức ‘onPause()’ được gọi khi nào?

A. Khi activity vừa được tạo lần đầu.
B. Khi activity sắp bị hủy hoàn toàn khỏi bộ nhớ.
C. Khi activity bị che khuất một phần bởi một activity khác nhưng vẫn hiển thị.
D. Khi người dùng rời khỏi activity hoàn toàn và nó không còn hiển thị.

134. Tại sao việc thực hiện các tác vụ nặng (ví dụ: tải hình ảnh lớn từ internet) trên luồng UI chính (main thread) của ứng dụng di động lại bị cấm và gây ra lỗi ‘Application Not Responding’ (ANR)?

A. Dẫn đến việc ứng dụng tự động đóng mà không có cảnh báo.
B. Không cho phép ứng dụng truy cập internet.
C. Gây ra lỗi tràn bộ nhớ (OutOfMemoryError) ngay lập tức.
D. Luồng UI chính sẽ bị chặn, khiến ứng dụng không phản hồi các thao tác của người dùng.

135. Thành phần giao diện người dùng nào thường được sử dụng để hiển thị một danh sách các mục có thể cuộn, mỗi mục có thể được tương tác riêng biệt?

A. EditText.
B. AlertDialog.
C. RecyclerView (Android) hoặc UITableView (iOS).
D. ProgressBar.

136. Ngôn ngữ lập trình chính thức và được khuyến nghị bởi Apple để phát triển ứng dụng iOS là gì?

A. Java.
B. Python.
C. Swift.
D. Objective-C.

137. Khi tương tác với một API RESTful, đâu là lý do chính để sử dụng định dạng JSON thay vì XML để trao đổi dữ liệu?

A. JSON hỗ trợ các loại dữ liệu nhị phân tốt hơn XML.
B. XML không tương thích với các ứng dụng di động hiện đại.
C. JSON có cú pháp gọn nhẹ hơn, dễ đọc và dễ phân tích hơn so với XML.
D. XML không thể biểu diễn dữ liệu có cấu trúc.

138. Một ứng dụng cần truy cập vị trí của người dùng trong nền (background) để cung cấp cảnh báo địa lý. Điều gì là cần thiết và quan trọng nhất mà ứng dụng phải làm theo các quy định hiện hành của Android/iOS?

A. Bắt buộc người dùng phải luôn bật GPS để sử dụng ứng dụng.
B. Giải thích rõ ràng cho người dùng lý do cần quyền truy cập vị trí trong nền và chỉ xin phép khi cần thiết.
C. Tự động cấp quyền truy cập vị trí mà không cần người dùng cho phép.
D. Chỉ cần thêm quyền vào tệp kê khai (manifest) mà không thông báo cho người dùng.

139. Dịch vụ ‘Backend as a Service’ (BaaS) nào của Google cung cấp cơ sở dữ liệu NoSQL thời gian thực, xác thực người dùng, lưu trữ tệp và hosting cho ứng dụng di động?

A. AWS Amplify.
B. Google Cloud Platform (GCP).
C. Firebase.
D. Azure Mobile Apps.

140. Trong quá trình gỡ lỗi (debugging) một ứng dụng di động, đâu là lợi ích chính của việc sử dụng các công cụ profiling (ví dụ: Android Studio Profiler, Xcode Instruments)?

A. Tự động sửa lỗi cú pháp trong mã nguồn.
B. Đảm bảo khả năng tương thích với các phiên bản hệ điều hành cũ.
C. Giúp phân tích hiệu suất ứng dụng về CPU, bộ nhớ, mạng và pin để xác định điểm nghẽn.
D. Chỉ được dùng để kiểm tra logic nghiệp vụ.

141. Mặc dù cả Flutter và Ionic đều là framework đa nền tảng, điểm khác biệt cơ bản về cách chúng xây dựng giao diện người dùng là gì?

A. Flutter chỉ hỗ trợ Android, Ionic chỉ hỗ trợ iOS.
B. Ionic yêu cầu Dart, Flutter yêu cầu JavaScript.
C. Flutter sử dụng widget tự vẽ với engine Skia, còn Ionic sử dụng công nghệ web hiển thị trong WebView.
D. Ionic không thể truy cập các tính năng gốc của thiết bị, Flutter thì có thể.

142. Một ứng dụng cần gửi thông báo đẩy (push notification) cho người dùng để nhắc nhở họ về một sự kiện sắp diễn ra. Dịch vụ nào phổ biến nhất được sử dụng để quản lý và gửi các thông báo đẩy này trên cả Android và iOS?

A. Local Notification API.
B. SMS Gateway.
C. Email Service.
D. Firebase Cloud Messaging (FCM).

143. Khi thiết kế giao diện người dùng cho ứng dụng di động, ‘Adaptive UI’ (giao diện thích ứng) khác ‘Responsive UI’ (giao diện phản hồi) như thế nào?

A. Responsive UI chỉ dành cho Android, Adaptive UI chỉ dành cho iOS.
B. Responsive UI thay đổi hoàn toàn giao diện, Adaptive UI chỉ thay đổi màu sắc.
C. Responsive UI điều chỉnh linh hoạt theo kích thước màn hình, Adaptive UI chọn layout phù hợp từ các layout định sẵn.
D. Adaptive UI sử dụng công nghệ web, Responsive UI sử dụng native components.

144. IDE (Môi trường phát triển tích hợp) chính thức và được khuyến nghị để phát triển ứng dụng iOS trên macOS là gì?

A. IntelliJ IDEA.
B. Android Studio.
C. Xcode.
D. Visual Studio Code.

145. Một ứng dụng tin tức di động cần cho phép người dùng đọc các bài viết đã tải về ngay cả khi không có kết nối internet. Phương pháp nào sau đây là phù hợp nhất để triển khai tính năng này?

A. Giảm kích thước hình ảnh trong ứng dụng.
B. Sử dụng thông báo đẩy để nhắc nhở người dùng kết nối mạng.
C. Mã hóa tất cả dữ liệu người dùng.
D. Lưu trữ các bài viết đã tải vào cơ sở dữ liệu cục bộ hoặc bộ nhớ cache.

146. Trong lập trình iOS/macOS, mô hình ‘Delegation’ (Ủy quyền) được sử dụng rộng rãi để làm gì?

A. Giúp đồng bộ hóa dữ liệu giữa các thiết bị.
B. Tự động quản lý bộ nhớ của đối tượng.
C. Cho phép một đối tượng ủy quyền xử lý các sự kiện hoặc hành vi cho một đối tượng khác.
D. Đảm bảo các tác vụ nền luôn được chạy liên tục.

147. Trong Swift/Objective-C của iOS, cơ chế nào được sử dụng để tự động quản lý việc giải phóng bộ nhớ của các đối tượng?

A. Garbage Collection.
B. Automatic Reference Counting (ARC).
C. Manual Reference Counting (MRC).
D. Memory Leak Detection.

148. Để một ứng dụng di động có thể phát các tệp video từ một URL streaming một cách hiệu quả và có thể điều khiển (tạm dừng, tua đi/lại), thư viện hoặc API nào thường được sử dụng?

A. ImageView/UIImageView.
B. MapView.
C. WebView.
D. ExoPlayer (Android) hoặc AVPlayer (iOS).

149. Sự khác biệt cơ bản giữa tài nguyên ‘Drawable’ và ‘Layout’ trong phát triển ứng dụng Android là gì?

A. Drawable chỉ có thể dùng cho iOS, Layout chỉ dùng cho Android.
B. Drawable chỉ có thể là tệp PNG, Layout chỉ có thể là tệp XML.
C. Drawable định nghĩa các đối tượng đồ họa có thể vẽ, còn Layout định nghĩa cấu trúc giao diện người dùng.
D. Layout được sử dụng cho logic nghiệp vụ, Drawable được sử dụng cho hoạt ảnh.

150. Khái niệm ‘SDK’ (Software Development Kit) trong phát triển ứng dụng di động đề cập đến điều gì?

A. Một thiết bị vật lý dùng để kiểm thử ứng dụng.
B. Chỉ là một tệp thư viện mà ứng dụng sử dụng.
C. Chỉ là tài liệu hướng dẫn sử dụng API.
D. Một bộ công cụ phát triển phần mềm đầy đủ, bao gồm thư viện, tài liệu, ví dụ và công cụ.

Số câu đã làm: 0/0
Thời gian còn lại: 00:00:00
  • Đã làm
  • Chưa làm
  • Cần kiểm tra lại
© 2026 Trending New 24h • Tạo ra với GeneratePress

Bạn ơi!!! Để xem được kết quả, bạn vui lòng làm nhiệm vụ nhỏ xíu này nha

HƯỚNG DẪN TÌM MẬT KHẨU

Đang tải nhiệm vụ...

Bước 1: Mở tab mới và truy cập Google.com. Sau đó tìm kiếm chính xác từ khóa sau:

Bước 2: Tìm và click vào kết quả có trang web giống như hình ảnh dưới đây:

Hướng dẫn tìm kiếm

Bước 3: Kéo xuống cuối trang đó để tìm mật khẩu như hình ảnh hướng dẫn:

Hướng dẫn lấy mật khẩu

Nếu tìm không thấy mã bạn có thể Đổi nhiệm vụ để lấy mã khác nhé.