Tất cả câu hỏi

Ngân hàng câu hỏi trắc nghiệm có giải thích chi tiết.

8.860/17.722 câuCòn 8.862
8841Which concept does BLoC heavily rely on?4 lựa chọnTrung bình
AFuture
BStream
CAnimation
DTheme
Lời giải
BLoC (Business Logic Component) là một mô hình thiết kế ứng dụng được sử dụng rộng rãi trong lập trình di động. Nó được thiết kế để tách biệt logic kinh doanh khỏi giao diện người dùng, giúp ứng dụng trở nên dễ dàng bảo trì và mở rộng hơn. BLoC dựa trên khái niệm Stream, một loại dữ liệu có thể thay đổi theo thời gian. Stream cho phép ứng dụng cập nhật trạng thái một cách dễ dàng và đồng bộ, giúp đảm bảo ứng dụng luôn hiển thị trạng thái mới nhất. Ngoài ra, Stream cũng cho phép ứng dụng xử lý các sự kiện và dữ liệu một cách linh hoạt và hiệu quả.
Mở trang câu hỏi này →
AOn every frame
BWhen state changes
COnly when app restarts
DOnly during hot restart
Lời giải
Flutter sẽ rebuild cây widget khi nào? Cây widget trong Flutter là một cấu trúc dữ liệu được sử dụng để hiển thị giao diện người dùng. Khi một widget thay đổi trạng thái, Flutter sẽ rebuild cây widget để cập nhật giao diện người dùng. Điều này xảy ra vì Flutter sử dụng một phương pháp gọi là "build once, run many" để tối ưu hóa hiệu suất. Khi một widget thay đổi trạng thái, Flutter sẽ gọi lại phương thức build() của widget đó để tạo lại cây widget mới. Điều này giúp đảm bảo rằng giao diện người dùng luôn được cập nhật và chính xác.
Mở trang câu hỏi này →
AReduce code size
BImprove maintainability
CFaster execution
DBetter animations
Lời giải
Việc tách rời logic UI và logic trạng thái được khuyến nghị vì nó giúp cải thiện tính bảo trì của ứng dụng. Khi logic UI và trạng thái được tách rời, mỗi phần có thể được phát triển và bảo trì độc lập mà không ảnh hưởng đến phần còn lại của ứng dụng. Điều này giúp giảm thiểu sự phức tạp và tăng cường khả năng mở rộng của ứng dụng. Ngoài ra, việc tách rời logic UI và trạng thái cũng giúp giảm thiểu sự lặp lại mã và tăng cường khả năng tái sử dụng mã. Điều này giúp giảm thiểu thời gian và chi phí phát triển ứng dụng.
Mở trang câu hỏi này →
8844What does an integration test verify?4 lựa chọnTrung bình
ASingle function
BWidget rendering
CEnd-to-end app behavior
DTheme consistency
Lời giải
Một bài kiểm tra tích hợp (integration test) là một loại kiểm tra phần mềm được sử dụng để xác minh rằng các thành phần khác nhau của một ứng dụng hoạt động cùng nhau một cách chính xác. Bài kiểm tra này không chỉ kiểm tra một chức năng đơn lẻ mà còn kiểm tra cách các chức năng khác nhau tương tác với nhau. Ví dụ, một bài kiểm tra tích hợp có thể kiểm tra việc đăng nhập vào ứng dụng, sau đó thêm một sản phẩm vào giỏ hàng và cuối cùng thực hiện thanh toán. Điều này giúp đảm bảo rằng ứng dụng hoạt động một cách trơn tru và không có lỗi khi người dùng tương tác với nó.
Mở trang câu hỏi này →
ALarge widget trees
BSplitting widgets
CGlobal state
DFrequent rebuilds
Lời giải
Để cải thiện hiệu suất rendering, người dùng cần hiểu về các yếu tố ảnh hưởng đến hiệu suất này. Trong các lựa chọn trên, "Splitting widgets" là phương pháp hiệu quả nhất. Khi widget được chia nhỏ, mỗi phần sẽ được render độc lập, giảm thiểu thời gian cần thiết để render toàn bộ widget. Điều này đặc biệt hữu ích khi widget có nhiều thành phần hoặc cần render nhanh chóng. Ngoài ra, việc chia nhỏ widget cũng giúp giảm thiểu việc sử dụng tài nguyên hệ thống, cải thiện hiệu suất tổng thể của ứng dụng.
Mở trang câu hỏi này →
AListView
BSingleChildScrollView
CCustomScrollView
DColumn
Lời giải
Trong Flutter, CustomScrollView là một widget cho phép tạo ra các hiệu ứng cuộn tùy chỉnh. Nó cung cấp các phương thức để tạo ra các hiệu ứng cuộn phức tạp như cuộn theo chiều ngang, cuộn theo chiều dọc, hoặc thậm chí là cuộn theo cả hai chiều cùng lúc. CustomScrollView cũng cho phép bạn thêm các widget khác vào bên trong nó, tạo ra một cấu trúc dữ liệu phức tạp và linh hoạt. Điều này làm cho CustomScrollView trở thành một lựa chọn tuyệt vời cho các ứng dụng cần có hiệu ứng cuộn tùy chỉnh.
Mở trang câu hỏi này →
8847How 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
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.
Mở trang câu hỏi này →
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
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ụ.
Mở trang câu hỏi này →
8849What is the role of BuildContext in Flutter?4 lựa chọnDễ
AStore application data
BLocate widgets in the widget tree
CManage navigation history
DRender UI pixels
Lời giải
BuildContext trong Flutter đóng vai trò quan trọng trong việc xác định vị trí của các widget trong cây widget. Nó cung cấp thông tin về vị trí của widget hiện tại, bao gồm cả bố cục và các widget lân cận. BuildContext được sử dụng để truy cập các phương thức và thuộc tính của widget cha, chẳng hạn như tìm kiếm các widget con, cập nhật trạng thái, và quản lý sự kiện. Nó cũng giúp Flutter xác định xem widget nào cần được cập nhật khi có thay đổi trong cây widget. BuildContext được sử dụng rộng rãi trong các ứng dụng Flutter để xây dựng các ứng dụng phức tạp và linh hoạt.
Mở trang câu hỏi này →
8850Why are tests important for refactoring?4 lựa chọn
AReduce UI work
BEnsure changes don't break functionality
CImprove animations
DChange layout
Lời giải
Các bài kiểm tra đóng vai trò quan trọng trong quá trình refactor code. Điều này là vì chúng giúp đảm bảo rằng các thay đổi không làm hỏng tính năng hiện có. Khi bạn refactor code, bạn có thể dễ dàng làm hỏng các chức năng quan trọng nếu không kiểm tra kỹ lưỡng. Các bài kiểm tra giúp bạn xác minh rằng các thay đổi không ảnh hưởng đến các chức năng đã được kiểm tra trước đó. Điều này giúp bạn tiết kiệm thời gian và công sức trong quá trình phát triển phần mềm.
Mở trang câu hỏi này →
ANavigator
BGuard
CRoute protection
DMiddleware
Lời giải
Widget mẫu nào dưới đây bảo vệ các đường dẫn đã xác thực? Để bảo vệ các đường dẫn đã xác thực, chúng ta cần sử dụng một widget mẫu phù hợp. Trong các lựa chọn, Guard là widget mẫu được sử dụng để bảo vệ các đường dẫn đã xác thực. Nó giúp kiểm tra xem người dùng đã được xác thực hay chưa trước khi cho phép truy cập vào các đường dẫn đó. Điều này giúp ngăn chặn người dùng không được phép truy cập vào các đường dẫn nhạy cảm.
Mở trang câu hỏi này →
ATo specify the local database path.
BTo authenticate the application with the MongoDB Atlas cluster.
CTo configure the JDBC driver.
DTo define the data model.
Lời giải
Khi cấu hình chuỗi kết nối cho MongoDB Atlas trong Spring Boot, mục đích bao gồm tên đăng nhập và mật khẩu là để xác thực ứng dụng với cụm MongoDB Atlas. Điều này giúp đảm bảo rằng ứng dụng có quyền truy cập vào dữ liệu trong cụm MongoDB Atlas. Khi bạn bao gồm tên đăng nhập và mật khẩu trong chuỗi kết nối, ứng dụng sẽ sử dụng chúng để xác thực với MongoDB Atlas và truy cập vào dữ liệu. Điều này là rất quan trọng để bảo vệ dữ liệu của bạn khỏi truy cập không hợp lệ.
Mở trang câu hỏi này →
8853What is MongoDB Atlas?4 lựa chọnDễ100% trả lời đúng
AA local installation of MongoDB.
BA cloud-hosted database service by MongoDB.
CA Java driver for MongoDB.
DA tool for managing relational databases.
Lời giải
MongoDB Atlas là một dịch vụ cơ sở dữ liệu được lưu trữ trên đám mây do MongoDB cung cấp. Nó cho phép người dùng tạo và quản lý các cơ sở dữ liệu MongoDB trên các nền tảng đám mây như AWS, Google Cloud và Azure. Với MongoDB Atlas, người dùng có thể dễ dàng tạo và cấu hình các cơ sở dữ liệu, cũng như quản lý quyền truy cập và bảo mật. Ngoài ra, MongoDB Atlas cũng cung cấp các tính năng tự động hóa và giám sát để giúp người dùng tối ưu hóa hiệu suất và bảo mật của cơ sở dữ liệu. Điều này làm cho MongoDB Atlas trở thành một lựa chọn phổ biến cho các ứng dụng và dự án cần một cơ sở dữ liệu mạnh mẽ và linh hoạt.
Mở trang câu hỏi này →
8854What is a key advantage of using MongoTemplate?4 lựa chọnTrung bình57% trả lời đúng
AAutomatic generation of CRUD methods.
BFlexibility for complex queries and operations.
CSimplified data model definition.
DBuilt-in transaction management.
Lời giải
MongoTemplate là một công cụ mạnh mẽ trong Spring Data MongoDB, cung cấp nhiều lợi ích khi sử dụng. Một trong những lợi ích chính của MongoTemplate là tính linh hoạt trong việc thực hiện các truy vấn phức tạp và các hoạt động khác. Với MongoTemplate, bạn có thể dễ dàng tạo ra các truy vấn phức tạp bằng cách sử dụng các phương thức như find, update, remove và nhiều hơn nữa. Điều này giúp bạn có thể thực hiện các truy vấn và các hoạt động phức tạp mà không cần phải viết mã thủ công. Ngoài ra, MongoTemplate cũng cung cấp các tính năng như hỗ trợ các loại dữ liệu phức tạp, hỗ trợ các loại dữ liệu không xác định và hỗ trợ các tính năng khác của MongoDB. Tính linh hoạt của MongoTemplate giúp bạn có thể dễ dàng thích nghi với các yêu cầu phức tạp của dự án và tăng hiệu suất của ứng dụng.
Mở trang câu hỏi này →
AList<Book> findByPublishedDateAfterOrderByTitleAsc(LocalDate date);
BList<Book> findAllBooksAfterDateAndSortByTitle(LocalDate date);
CList<Book> findByPublishedDate(LocalDate date, Sort sort);
DList<Book> queryAfterPublishedDateSortedByTitle(LocalDate date);
Lời giải
Để tìm kiếm tất cả các sách được xuất bản sau một ngày nhất định và sắp xếp chúng theo tiêu đề, chúng ta cần sử dụng phương thức truy vấn có tên findByPublishedDateAfterOrderByTitleAsc. Phương thức này cho phép chúng ta tìm kiếm sách dựa trên ngày xuất bản và sắp xếp chúng theo tiêu đề theo thứ tự từ A đến Z. Phương thức này được sử dụng trong Spring Data JPA, một công cụ phổ biến để truy vấn cơ sở dữ liệu trong các ứng dụng Java. Để sử dụng phương thức này, chúng ta cần tạo một interface có tên là BookRepository và thêm phương thức truy vấn vào đó. Sau đó, chúng ta có thể sử dụng phương thức này trong ứng dụng của mình để tìm kiếm sách theo các điều kiện cụ thể.
Mở trang câu hỏi này →
AMongoRepository
BMongoClient
CMongoTemplate
DSimpleMongoRepository
Lời giải
Trong Spring Data MongoDB, có một số cách để tương tác với MongoDB. Tuy nhiên, nếu bạn muốn thực hiện các hoạt động cơ bản của MongoDB như insert, update, delete, thì bạn cần sử dụng một lớp mẫu (template) để thực hiện các hoạt động này. Lớp mẫu này được gọi là MongoTemplate. MongoTemplate cung cấp các phương thức để thực hiện các hoạt động cơ bản của MongoDB và cung cấp sự linh hoạt để tùy chỉnh các hoạt động này.
Mở trang câu hỏi này →
8857Which MongoDB command is used to retrieve documents from a collection?4 lựa chọnTrung bình67% trả lời đúng
Aupdate()
Bfind()
CinsertOne()
DdeleteMany()
Lời giải
Để lấy dữ liệu từ một collection trong MongoDB, bạn cần sử dụng lệnh find(). Lệnh này cho phép bạn tìm kiếm và trả về các tài liệu (documents) dựa trên các điều kiện cụ thể. Ví dụ, bạn có thể tìm kiếm các tài liệu có tên là 'John' hoặc các tài liệu có tuổi lớn hơn 18. Ngoài ra, lệnh find() còn cho phép bạn thực hiện các phép toán toán học, so sánh và các hàm khác để lọc dữ liệu.
Mở trang câu hỏi này →
8858What does the <mapping resource="User.hbm.xml"> tag in hibernate.cfg.xml specify?4 lựa chọnDễ100% trả lời đúng
AThe database connection URL.
BThe database dialect.
CThe location of a Hibernate mapping file that defines how a Java class is mapped to a database table.
DThe location of the Hibernate configuration file.
Lời giải

Dòng <mapping resource="User.hbm.xml"> trong file hibernate.cfg.xml chỉ định vị trí của một tệp định nghĩa ánh xạ Hibernate (Hibernate mapping file) mà định nghĩa cách ánh xạ một lớp Java sang một bảng trong cơ sở dữ liệu. Tệp này thường được gọi là tệp định nghĩa ánh xạ (mapping file) và thường có định dạng .hbm.xml. Mục đích chính của tệp này là định nghĩa cách ánh xạ các trường trong lớp Java sang các cột trong bảng cơ sở dữ liệu, cũng như các mối quan hệ giữa các bảng.

Mở trang câu hỏi này →
ASession.
BTransaction.
CSessionFactory.
DConfiguration.
Lời giải
Trong Hibernate, giao diện được sử dụng để quản lý các giao dịch cơ sở dữ liệu là Transaction. Giao diện Transaction cho phép bạn bắt đầu, hoàn thành và hủy bỏ các giao dịch cơ sở dữ liệu. Điều này giúp bạn có thể quản lý các giao dịch cơ sở dữ liệu một cách hiệu quả và an toàn. Khi sử dụng giao diện Transaction, bạn có thể đảm bảo rằng các giao dịch cơ sở dữ liệu được thực hiện một cách nguyên tử và không bị ảnh hưởng bởi các lỗi hoặc sự cố khác. Ngoài ra, giao diện Transaction cũng cho phép bạn sử dụng các tính năng như rollback và commit để quản lý các giao dịch cơ sở dữ liệu.
Mở trang câu hỏi này →
ACaching.
Bhbm2ddl (DDL auto feature)
CAutomatic dirty checking.
DTransaction management.
Lời giải
Tính năng chính của Hibernate cung cấp tự động tạo bảng và tạo schema là hbm2ddl (tính năng tự động DDL). Đây là tính năng cho phép Hibernate tự động tạo bảng và schema trong cơ sở dữ liệu khi bạn chạy ứng dụng. Khi bạn sử dụng hbm2ddl, Hibernate sẽ tự động tạo bảng và schema dựa trên các thông tin được định nghĩa trong các tệp mapping Hibernate (hbm.xml hoặc hibernate.cfg.xml). Điều này giúp bạn tiết kiệm thời gian và công sức khi tạo cơ sở dữ liệu cho ứng dụng của mình. Ngoài ra, tính năng này cũng giúp bạn dễ dàng quản lý và cập nhật cơ sở dữ liệu khi ứng dụng của bạn thay đổi.
Mở trang câu hỏi này →