Câu hỏi: PRM393 - Giới thiệu Flutter và kiến trúc
57 câu trắc nghiệm kèm lời giải của môn Lập trình di động (Flutter) - Mobile Programming, xếp theo thứ tự nhập vào ngân hàng.
Danh sách câu hỏi
20/57 câuCòn 37
AIt manages database servers
BIt provides UI components and rendering logic
CIt replaces the operating system
DIt runs backend business logic
Lời giải
Mở trang câu hỏi này →Câu hỏi này hỏi về vai trò của framework Flutter trong quá trình phát triển ứng dụng. Flutter là một framework mã nguồn mở được sử dụng để xây dựng các ứng dụng di động và web. Nó cung cấp một bộ công cụ mạnh mẽ để tạo ra các giao diện người dùng (UI) và logic rendering. Flutter sử dụng ngôn ngữ lập trình Dart để xây dựng các ứng dụng. Nó cho phép các nhà phát triển tạo ra các ứng dụng di động và web với giao diện người dùng đẹp mắt và hiệu suất cao. Flutter cũng cung cấp một số tính năng khác như hỗ trợ đa nền tảng, khả năng tùy chỉnh cao và hệ sinh thái lớn của các thư viện và công cụ.
2How is the Flutter UI constructed internally?4 lựa chọnTrung bình67% trả lời đúng
AUsing XML layout files
BUsing HTML and CSS
CUsing a hierarchical widget tree
DUsing native UI components only
Lời giải
Mở trang câu hỏi này →Flutter UI được xây dựng nội bộ bằng cách sử dụng một cây widget cấp bậc. Mỗi ứng dụng Flutter đều có một cây widget cấp bậc duy nhất, bắt đầu từ một widget gốc (root widget). Cây widget này được xây dựng bằng cách sử dụng các widget con, mỗi widget con được tạo ra từ một lớp widget cụ thể. Các widget con này được kết nối với nhau bằng cách sử dụng các thuộc tính như padding, margin, và vị trí. Điều này cho phép các nhà phát triển tạo ra các giao diện người dùng phức tạp và linh hoạt. Ngoài ra, cây widget cấp bậc cũng cho phép Flutter thực hiện hiệu suất cao và tối ưu hóa tài nguyên.
3Why is version control critical?4 lựa chọn
AUI changes
BTrack and manage code changes
CImprove animations
DStore data
Lời giải
Mở trang câu hỏi này →Sử dụng phiên bản kiểm soát là một phần quan trọng trong quy trình phát triển phần mềm. Nó cho phép các nhà phát triển theo dõi và quản lý các thay đổi trong mã nguồn. Điều này giúp họ dễ dàng nhận biết và sửa lỗi, đồng thời cũng giúp họ có thể dễ dàng hợp tác với nhau. Khi sử dụng phiên bản kiểm soát, các nhà phát triển có thể dễ dàng xem lại lịch sử thay đổi, quay lại các phiên bản trước đó, và thậm chí là hợp nhất các thay đổi từ các phiên bản khác nhau. Điều này giúp tăng cường độ tin cậy và hiệu suất của dự án.
4What represents the output of a BLoC?4 lựa chọnTrung bình67% trả lời đúng
A
EventsB
WidgetsC
StatesD
ControllersLời giải
Mở trang câu hỏi này →BLoC (Business Logic Component) là một mô hình thiết kế được sử dụng trong lập trình di động. Nó giúp tách biệt logic kinh doanh khỏi giao diện người dùng. Output của BLoC thường được biểu diễn dưới dạng trạng thái (States). Trạng thái này có thể được sử dụng để cập nhật giao diện người dùng hoặc thực hiện các hành động khác. Các trạng thái có thể bao gồm thông tin về dữ liệu, trạng thái của ứng dụng, v.v. Trong khi các sự kiện (Events), widget và controller đều đóng vai trò quan trọng trong ứng dụng di động, nhưng chúng không phải là output của BLoC.
ADeploying to app stores
BRunning the default app on a device
CConfiguring authentication
DOptimizing database queries
Lời giải
Mở trang câu hỏi này →Sau khi tạo một dự án Flutter mới, hoạt động thường được thực hiện tiếp theo là chạy ứng dụng mặc định trên thiết bị. Điều này cho phép bạn kiểm tra xem ứng dụng có hoạt động đúng như mong đợi hay không. Khi chạy ứng dụng, bạn có thể xem xét giao diện người dùng, chức năng và các tính năng khác của ứng dụng. Ngoài ra, chạy ứng dụng trên thiết bị cũng giúp bạn phát hiện và sửa lỗi sớm hơn. Vì vậy, chạy ứng dụng mặc định trên thiết bị là một bước quan trọng trong quá trình phát triển ứng dụng Flutter.
6Why should architecture be decided early?4 lựa chọnDễ
AAvoid UI work
BReduce refactoring cost
CImprove animations
DChange theme
Lời giải
Mở trang câu hỏi này →Khi xây dựng một ứng dụng, việc quyết định kiến trúc sớm có ý nghĩa quan trọng. Điều này giúp tránh những vấn đề phức tạp và tốn thời gian trong tương lai. Nếu kiến trúc được quyết định sớm, các nhà phát triển có thể tránh phải thực hiện nhiều công việc sửa đổi (refactoring) sau này. Việc sửa đổi kiến trúc có thể tốn nhiều thời gian và công sức, đặc biệt là khi ứng dụng đã được triển khai. Ngoài ra, việc quyết định kiến trúc sớm cũng giúp cải thiện hiệu suất và độ tin cậy của ứng dụng. Vì vậy, việc quyết định kiến trúc sớm là một phần quan trọng trong quy trình phát triển phần mềm.
7'pubspec.yaml' is the file where external dependencies and image assets must be registered.2 lựa chọn
A
TrueB
FalseLời giải
Mở trang câu hỏi này →Tệp 'pubspec.yaml' là nơi đăng ký các phụ thuộc bên ngoài và tài nguyên hình ảnh. Trong tệp này, bạn có thể thêm các thư viện hoặc gói phụ thuộc mà bạn muốn sử dụng trong dự án của mình. Ngoài ra, tệp này cũng được sử dụng để đăng ký các tài nguyên hình ảnh, chẳng hạn như hình ảnh hoặc icon. Điều này giúp bạn có thể sử dụng các tài nguyên này trong ứng dụng của mình một cách dễ dàng. Khi bạn thêm một phụ thuộc mới hoặc một tài nguyên hình ảnh, bạn cần thêm nó vào tệp 'pubspec.yaml' để có thể sử dụng nó trong dự án của mình.
8Clean Architecture separates which parts?4 lựa chọn
AUI and logic
BColors
CAnimations
DWidgets only
Lời giải
Mở trang câu hỏi này →Clean Architecture là một phương pháp thiết kế phần mềm giúp tách biệt các phần logic và giao diện người dùng. Theo Clean Architecture, các phần logic và giao diện người dùng nên được tách biệt hoàn toàn để dễ dàng thay đổi và bảo trì. Điều này giúp giảm thiểu sự phụ thuộc giữa các phần và tăng cường khả năng mở rộng của hệ thống. Các phần logic và giao diện người dùng nên được thiết kế độc lập và chỉ giao tiếp với nhau thông qua các giao diện rõ ràng. Điều này giúp giảm thiểu sự phức tạp và tăng cường khả năng hiểu và bảo trì hệ thống.
9Everything in Flutter is a ____4 lựa chọn
A
ClassB
ObjectC
WidgetD
FunctionLời giải
Mở trang câu hỏi này →Trong Flutter, mọi thứ đều được biểu diễn dưới dạng một đối tượng Widget. Widget là một đơn vị cơ bản trong Flutter, có thể được sử dụng để xây dựng các giao diện người dùng phức tạp. Mỗi Widget có thể chứa các Widget khác, tạo nên một cấu trúc cây Widget. Điều này cho phép các nhà phát triển tạo ra các giao diện người dùng linh hoạt và dễ dàng tùy chỉnh. Ví dụ, một Button Widget có thể chứa một Text Widget để hiển thị nội dung của nút. Điều này giúp giảm thiểu mã code và tăng hiệu suất xây dựng ứng dụng. Ngoài ra, các Widget trong Flutter cũng có thể được tùy chỉnh để đáp ứng các yêu cầu cụ thể của ứng dụng.
AOne per platform codebase
BTwo
CThree
DOne for all platforms
Lời giải
Mở trang câu hỏi này →Flutter cho phép các nhà phát triển sử dụng một cơ sở mã nguồn duy nhất cho tất cả các nền tảng. Điều này có nghĩa là bạn có thể viết mã nguồn một lần và sử dụng nó trên cả Android và iOS mà không cần phải viết lại mã nguồn. Điều này giúp giảm thiểu thời gian và công sức cần thiết để phát triển ứng dụng di động. Flutter sử dụng một ngôn ngữ lập trình gọi là Dart, và nó cung cấp một bộ công cụ mạnh mẽ để giúp bạn xây dựng ứng dụng di động nhanh chóng và hiệu quả.
11Flutter app starts from which file?4 lựa chọn
A
app.dartB
home.dartC
main.dartD
index.dartLời giải
Mở trang câu hỏi này →Khi tạo một ứng dụng Flutter, bạn cần biết nơi mà ứng dụng bắt đầu chạy. Trong Flutter, ứng dụng bắt đầu chạy từ một file gọi là main. File main thường được đặt tên là main.dart và nằm ở thư mục gốc của ứng dụng. File này chứa hàm main, nơi mà ứng dụng sẽ được khởi tạo và bắt đầu chạy. Hàm main được gọi khi ứng dụng được chạy và nó sẽ khởi tạo các widget cần thiết để hiển thị trên màn hình. Vì vậy, khi chọn đáp án, bạn cần chọn file main.dart.
12Flutter apps are compiled to?4 lựa chọn
AJava bytecode
BJavaScript only
CNative machine code
DHTML
Lời giải
Mở trang câu hỏi này →Flutter là một framework để xây dựng ứng dụng di động và web. Khi chúng ta xây dựng ứng dụng Flutter, nó sẽ được biên dịch thành mã máy tính (Native machine code) mà không cần qua các bước biên dịch trung gian như Java bytecode. Điều này cho phép ứng dụng Flutter chạy nhanh và hiệu suất cao trên các thiết bị di động. Ngoài ra, Flutter cũng hỗ trợ biên dịch thành mã JavaScript, nhưng đó không phải là lựa chọn mặc định. Vì vậy, câu trả lời đúng cho câu hỏi này là "Native machine code".
13Flutter doctor is used to?4 lựa chọn
ABuild app
BDebug UI
CCheck environment setup
DInstall packages
Lời giải
Mở trang câu hỏi này →Flutter Doctor là một công cụ quan trọng trong môi trường phát triển Flutter. Nó được sử dụng để kiểm tra và xác minh rằng môi trường phát triển của bạn đã được cấu hình đúng cách. Điều này bao gồm việc kiểm tra phiên bản của các gói phụ thuộc, xác minh rằng các gói cần thiết đã được cài đặt và đảm bảo rằng các thiết bị và hệ điều hành được hỗ trợ đã được cấu hình đúng cách. Flutter Doctor giúp bạn xác định và giải quyết các vấn đề môi trường trước khi bắt đầu phát triển ứng dụng của mình.
14Flutter engine is mainly written in?4 lựa chọn
ADart
BJava
CKotlin
DC/C++
Lời giải
Mở trang câu hỏi này →Flutter Engine là một phần quan trọng của framework Flutter, chịu trách nhiệm thực hiện các tác vụ cơ bản như vẽ hình ảnh, xử lý sự kiện và quản lý bộ nhớ. Nó được viết bằng ngôn ngữ lập trình C/C++, giúp tăng tốc độ và hiệu suất của ứng dụng. Ngôn ngữ C/C++ được chọn vì nó cung cấp khả năng truy cập trực tiếp vào các tài nguyên hệ thống và cho phép tối ưu hóa mã nguồn để chạy trên nhiều nền tảng khác nhau. Điều này giúp Flutter Engine có thể chạy mượt mà trên nhiều loại thiết bị, từ điện thoại thông minh đến máy tính bảng và máy tính để bàn.
15Flutter follows which programming style?4 lựa chọn
ADeclarative
BProcedural
CLow-level
DScript-based
Lời giải
Mở trang câu hỏi này →Flutter sử dụng một phong cách lập trình được gọi là Declarative. Điều này có nghĩa là bạn sẽ chỉ định những gì bạn muốn ứng dụng của mình làm, chứ không phải là cách thức để đạt được nó. Điều này giúp giảm thiểu sự phức tạp và tăng cường hiệu suất khi xây dựng ứng dụng. Trong Flutter, bạn sẽ sử dụng các widget để xây dựng giao diện người dùng và các hàm để xử lý logic ứng dụng. Điều này cho phép bạn tập trung vào việc xây dựng ứng dụng mà không cần phải lo lắng về các chi tiết kỹ thuật.
16Flutter is best described as?4 lựa chọn
ABackend framework
BUI toolkit
CDatabase system
DOperating system
Lời giải
Mở trang câu hỏi này →Flutter là một công cụ lập trình ứng dụng di động đa nền tảng được phát triển bởi Google. Nó cho phép các nhà phát triển tạo ra các ứng dụng di động với giao diện người dùng (UI) đẹp mắt và tương tác. Flutter sử dụng ngôn ngữ lập trình Dart để xây dựng các ứng dụng, và nó cung cấp một bộ công cụ mạnh mẽ để tạo ra các ứng dụng di động với hiệu suất cao và độ tin cậy cao. Flutter không chỉ được sử dụng để tạo ra các ứng dụng di động, mà còn có thể được sử dụng để tạo ra các ứng dụng web và desktop. Vì vậy, Flutter được coi là một công cụ lập trình đa nền tảng, và nó được sử dụng rộng rãi trong ngành công nghiệp phát triển ứng dụng.
17Flutter renders UI using?4 lựa chọn
ANative UI components
BHTML tags
CIts own rendering engine
DXML
Lời giải
Mở trang câu hỏi này →Flutter sử dụng một công nghệ rendering riêng biệt để tạo ra giao diện người dùng. Điều này cho phép Flutter có thể chạy trên nhiều nền tảng khác nhau mà không cần phải thay đổi mã nguồn. Công nghệ rendering này cho phép Flutter có thể tạo ra giao diện người dùng mượt mà và nhanh chóng, ngay cả khi ứng dụng có nhiều tính năng phức tạp. Ngoài ra, công nghệ rendering riêng biệt của Flutter cũng cho phép các nhà phát triển có thể tùy chỉnh giao diện người dùng một cách dễ dàng và linh hoạt.
18Flutter supports which platforms?4 lựa chọn
AAndroid only
BiOS only
CMobile only
DMobile, Web, Desktop
Lời giải
Mở trang câu hỏi này →Flutter là một công cụ phát triển ứng dụng đa nền tảng, cho phép bạn xây dựng các ứng dụng di động, web và desktop một cách dễ dàng. Với Flutter, bạn có thể tạo ra các ứng dụng di động cho cả Android và iOS, cũng như các ứng dụng web và desktop. Điều này giúp bạn tiết kiệm thời gian và công sức, đồng thời cũng giúp bạn có thể phát triển các ứng dụng đa nền tảng một cách hiệu quả. Flutter hỗ trợ nhiều nền tảng khác nhau, bao gồm cả các nền tảng di động, web và desktop, giúp bạn có thể tiếp cận với nhiều người dùng hơn.
19Flutter UI is built using?4 lựa chọn
AScreens
BPages
CWidget tree
DLayout files
Lời giải
Mở trang câu hỏi này →Flutter UI được xây dựng dựa trên cấu trúc cây widget. Cây widget là một cấu trúc dữ liệu được sử dụng để mô tả giao diện người dùng trong Flutter. Nó bao gồm các widget con, được kết hợp lại với nhau để tạo thành giao diện người dùng cuối cùng. Mỗi widget trong cây widget có thể chứa các thuộc tính và hành vi riêng biệt, giúp tạo nên một giao diện người dùng phức tạp và linh hoạt. Cây widget cũng cho phép các nhà phát triển dễ dàng tái sử dụng và tùy chỉnh các phần của giao diện người dùng, giúp tăng tốc quá trình phát triển và giảm thiểu lỗi.
20Flutter uses which UI paradigm?4 lựa chọn
A
ImperativeB
DeclarativeC
ProceduraD
FunctionalLời giải
Mở trang câu hỏi này →Flutter sử dụng một mô hình UI đặc biệt gọi là mô hình Declarative. Mô hình này cho phép bạn mô tả trạng thái của ứng dụng mà không cần phải mô tả từng bước thực hiện để đạt được trạng thái đó. Điều này giúp giảm thiểu mã code và tăng cường hiệu suất. Trong mô hình Declarative, bạn chỉ cần xác định trạng thái mong muốn và Flutter sẽ tự động cập nhật giao diện dựa trên trạng thái đó. Điều này giúp bạn tập trung vào việc xây dựng ứng dụng mà không phải lo lắng về việc cập nhật giao diện.