Tất cả câu hỏi

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

Bấm vào từng câu để xem đáp án
#801
80%
ĐỘ CHÍNH XÁC
5
LƯỢT LÀM
4 LỰA CHỌN
Aupdate()
find()ĐÚNG
CinsertOne()
DdeleteMany()
Giải thích

Để 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.

#802
100%
ĐỘ CHÍNH XÁC
6
LƯỢT LÀM
4 LỰA CHỌN
AA local installation of MongoDB.
A cloud-hosted database service by MongoDB.ĐÚNG
CA Java driver for MongoDB.
DA tool for managing relational databases.
Giải thích

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.

#803
100%
ĐỘ CHÍNH XÁC
3
LƯỢT LÀM
4 LỰA CHỌN
ATo specify the local database path.
To authenticate the application with the MongoDB Atlas cluster.ĐÚNG
CTo configure the JDBC driver.
DTo define the data model.
Giải thích

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ệ.

#804
100%
ĐỘ CHÍNH XÁC
5
LƯỢT LÀM
4 LỰA CHỌN
AAutomatic generation of CRUD methods.
Flexibility for complex queries and operations.ĐÚNG
CSimplified data model definition.
DBuilt-in transaction management.
Giải thích

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.

#805
100%
ĐỘ CHÍNH XÁC
3
LƯỢT LÀM
4 LỰA CHỌN
AWhen you need the total number of elements and total pages.
When you want to avoid counting all elements and improve performance.ĐÚNG
CWhen you need to sort the results with detailed page information.
DWhen you only need the data and a "previous" indicator.
Giải thích

Khi sử dụng Slice interface trong Spring Data JPA, bạn nên lưu ý rằng nó không phải là một cách thay thế cho Page interface. Slice interface được thiết kế để trả về một phần của dữ liệu, không bao gồm thông tin tổng số phần tử và tổng số trang. Điều này giúp cải thiện hiệu suất khi bạn không cần phải đếm tất cả các phần tử. Slice interface phù hợp khi bạn cần trả về một phần dữ liệu và chỉ cần biết có phần tử trước đó hay không. Ví dụ, khi bạn muốn trả về 10 phần tử đầu tiên và chỉ cần biết có phần tử trước đó hay không, bạn có thể sử dụng Slice interface. Tuy nhiên, nếu bạn cần biết tổng số phần tử và tổng số trang, bạn nên sử dụng Page interface.

#806
100%
ĐỘ CHÍNH XÁC
3
LƯỢT LÀM
4 LỰA CHỌN
ABy requiring manual SQL queries for every operation.
By providing an object-relational mapping (ORM) layer.ĐÚNG
CBy hiding all data from the application.
DBy increasing the number of database connections.
Giải thích

JPA (Java Persistence API) giúp quản lý tương tác với cơ sở dữ liệu bằng cách cung cấp một lớp ánh xạ đối tượng-relational (ORM). Điều này cho phép các lập trình viên viết mã Java mà không cần phải viết mã SQL thủ công để tương tác với cơ sở dữ liệu. Thay vào đó, JPA sẽ tự động chuyển đổi các đối tượng Java thành các bản ghi trong cơ sở dữ liệu và ngược lại. Đ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 tương tác với cơ sở dữ liệu. Ngoài ra, JPA cũng cung cấp các tính năng như quản lý trạng thái, quản lý mối quan hệ và hỗ trợ các tính năng nâng cao khác.

#807
100%
ĐỘ CHÍNH XÁC
4
LƯỢT LÀM
4 LỰA CHỌN
ACaching.
hbm2ddl (DDL auto feature)ĐÚNG
CAutomatic dirty checking.
DTransaction management.
Giải thích

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.

#808
83%
ĐỘ CHÍNH XÁC
6
LƯỢT LÀM
4 LỰA CHỌN
It prevents concurrent data conflictsĐÚNG
BIt improves UI rendering
CIt replaces caching
DIt manages database indexes
Giải thích

Optimistic locking trong JPA là một kỹ thuật giúp ngăn chặn các xung đột dữ liệu đồng thời. Khi một ứng dụng cố gắng cập nhật dữ liệu trong cơ sở dữ liệu, JPA sẽ kiểm tra xem bản ghi dữ liệu đó đã được cập nhật bởi người dùng khác hay chưa. Nếu dữ liệu đã được cập nhật, ứng dụng sẽ ném ra ngoại lệ, giúp ngăn chặn các xung đột dữ liệu đồng thời. Điều này giúp đảm bảo tính toàn vẹn và chính xác của dữ liệu trong cơ sở dữ liệu. Ngoài ra, optimistic locking cũng giúp cải thiện hiệu suất của ứng dụng, vì nó không yêu cầu các khóa ngoại (foreign key) để ngăn chặn các xung đột dữ liệu.

#809
100%
ĐỘ CHÍNH XÁC
6
LƯỢT LÀM
4 LỰA CHỌN
ASession.
Transaction.ĐÚNG
CSessionFactory.
DConfiguration.
Giải thích

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.

#810
100%
ĐỘ CHÍNH XÁC
5
LƯỢT LÀM
4 LỰA CHỌN
ATo increase API complexity.
To simplify data persistence and retrieval.ĐÚNG
CTo hide database interactions.
DTo reduce API functionality.
Giải thích

Kết nối một dịch vụ web RESTful với JPA (Java Persistence API) là một phương pháp phổ biến trong lập trình web. Lý do chính để thực hiện điều này là để đơn giản hóa quá trình lưu trữ và truy xuất dữ liệu. JPA cung cấp một lớp trừu tượng giữa ứng dụng và cơ sở dữ liệu, giúp giảm thiểu sự phức tạp trong việc quản lý dữ liệu. Khi sử dụng JPA, bạn có thể tập trung vào việc phát triển logic kinh doanh của ứng dụng mà không cần lo lắng về việc tương tác với cơ sở dữ liệu. Điều này giúp tăng hiệu suất và giảm thiểu thời gian phát triển. Ngoài ra, JPA cũng hỗ trợ các tính năng như phân tích dữ liệu, tạo báo cáo và quản lý phiên bản dữ liệu, giúp bạn có thể dễ dàng quản lý và phân tích dữ liệu của ứng dụng.

#811
100%
ĐỘ CHÍNH XÁC
6
LƯỢT LÀM
4 LỰA CHỌN
AThe database connection URL.
BThe database dialect.
The location of a Hibernate mapping file that defines how a Java class is mapped to a database table.ĐÚNG
DThe location of the Hibernate configuration file.
Giải thích

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.

#812
100%
ĐỘ CHÍNH XÁC
4
LƯỢT LÀM
4 LỰA CHỌN
AContent-Language
BContent-Encoding
Content-Type: application/jsonĐÚNG
DContent-Length
Giải thích

Để xác định loại nội dung của một phản hồi JSON, bạn cần sử dụng tiêu đề HTTP nào?

#813
100%
ĐỘ CHÍNH XÁC
6
LƯỢT LÀM
4 LỰA CHỌN
A@RequestBody
B@RequestParam
@PathVariableĐÚNG
D@RequestHeader
Giải thích

Trong Spring Boot REST, annotation được sử dụng để trích xuất các biến đường dẫn từ URL là @PathVariable. Annotation này cho phép bạn truy cập vào các phần của URL và sử dụng chúng như là các biến trong phương thức của controller. Ví dụ, nếu bạn có một phương thức như sau: @GetMapping("/users/{id}") public String getUser(@PathVariable Long id) { // code here } Trong ví dụ trên, @PathVariable được sử dụng để trích xuất giá trị của id từ URL và sử dụng nó như là một biến trong phương thức getUser.

#814
100%
ĐỘ CHÍNH XÁC
3
LƯỢT LÀM
4 LỰA CHỌN
AWhen updating only part of a resource
When replacing the entire resourceĐÚNG
CWhen deleting a resource
DWhen creating new resource
Giải thích

Khi nào bạn nên sử dụng PUT thay vì PATCH? PUT và PATCH đều được sử dụng để cập nhật dữ liệu, nhưng chúng có cách sử dụng khác nhau. PUT thường được sử dụng khi bạn muốn thay thế toàn bộ tài nguyên, trong khi PATCH được sử dụng khi bạn muốn cập nhật một phần của tài nguyên. Ví dụ, nếu bạn muốn thay thế toàn bộ thông tin về một người dùng, bạn nên sử dụng PUT. Ngược lại, nếu bạn chỉ muốn cập nhật thông tin về địa chỉ email của người dùng, bạn nên sử dụng PATCH. Sử dụng PUT thay vì PATCH khi bạn muốn thay thế toàn bộ tài nguyên.

#815
100%
ĐỘ CHÍNH XÁC
4
LƯỢT LÀM
4 LỰA CHỌN
A@PathVariable
B@RequestParam
@RequestBodyĐÚNG
D@RequestHeader
Giải thích

Trong Spring Boot REST, để ánh xạ cơ thể yêu cầu HTTP đến tham số phương thức, chúng ta sử dụng annotation @RequestBody. Annotation này cho phép chúng ta ánh xạ dữ liệu từ cơ thể yêu cầu HTTP đến một đối tượng Java. Ví dụ, khi chúng ta tạo một phương thức REST để tạo mới một tài nguyên, chúng ta có thể sử dụng @RequestBody để ánh xạ dữ liệu từ cơ thể yêu cầu HTTP đến đối tượng Java mà chúng ta muốn tạo mới. Điều này giúp chúng ta có thể dễ dàng xử lý dữ liệu từ cơ thể yêu cầu HTTP và tạo mới tài nguyên một cách dễ dàng.

#816
100%
ĐỘ CHÍNH XÁC
5
LƯỢT LÀM
4 LỰA CHỌN
Aaxios.get()
Baxios.post()
axios.put() or axios.patch()ĐÚNG
Daxios.delete()
Giải thích

Trong RESTful API, phương thức Axios thường được sử dụng để cập nhật một tài nguyên hiện có là phương thức PUT hoặc PATCH. Phương thức PUT thường được sử dụng để cập nhật toàn bộ tài nguyên, trong khi phương thức PATCH được sử dụng để cập nhật một phần của tài nguyên. Ví dụ, nếu bạn muốn cập nhật thông tin cá nhân của một người dùng, bạn có thể sử dụng phương thức PUT để cập nhật toàn bộ thông tin, hoặc sử dụng phương thức PATCH để cập nhật chỉ một số thông tin cụ thể. Việc lựa chọn phương thức nào phụ thuộc vào yêu cầu cụ thể của ứng dụng và cấu trúc dữ liệu của tài nguyên.

#817
100%
ĐỘ CHÍNH XÁC
6
LƯỢT LÀM
4 LỰA CHỌN
new Promise(callback)ĐÚNG
BcreatePromise(callback)
CPromise.create(callback)
DPromise.new(callback)
Giải thích

Để tạo một đối tượng Promise mới trong JavaScript, bạn cần sử dụng từ khóa 'new' trước constructor của Promise. Syntax chính xác là 'new Promise(callback)', nơi callback là một hàm bao gồm hai tham số: resolve và reject. Hàm này sẽ được thực thi khi tạo đối tượng Promise. Trong callback, bạn có thể thực hiện các hành động cần thiết và sử dụng các tham số resolve và reject để quản lý trạng thái của Promise. Ví dụ: const promise = new Promise((resolve, reject) => { // code here resolve('Giải quyết được!'); }); Tóm lại, 'new Promise(callback)' là syntax chính xác để tạo một đối tượng Promise mới trong JavaScript.

#818
100%
ĐỘ CHÍNH XÁC
4
LƯỢT LÀM
4 LỰA CHỌN
AImproved SEO.
BFaster initial page load times.
Smoother user experience due to reduced server requests.ĐÚNG
DEnhanced server security.
Giải thích

Routing trên phía client là một kỹ thuật giúp cải thiện hiệu suất của ứng dụng web. Một trong những lợi ích chính của client-side routing là nó giúp giảm số lượng yêu cầu đến server. Khi sử dụng client-side routing, ứng dụng web sẽ không cần phải gửi yêu cầu đến server để tải lại trang mới mỗi khi người dùng chuyển đổi giữa các trang. Thay vào đó, ứng dụng sẽ xử lý chuyển đổi trang trên phía client, giảm thiểu số lượng yêu cầu đến server. Điều này giúp cải thiện tốc độ tải trang và mang lại trải nghiệm người dùng mượt mà hơn.

#819
100%
ĐỘ CHÍNH XÁC
5
LƯỢT LÀM
4 LỰA CHỌN
ABy using the <NotFound> component.
By adding a <Route path="*" element={<NotFound />} /> as the last route.ĐÚNG
CBy using the notFound prop on the <Routes> component.
DBy using the useNotFound() hook.
Giải thích

Để xử lý trang 404 Not Found trong React Router, bạn có thể sử dụng <Route path="*" element={<NotFound />} /> như một tuyến đường cuối cùng. Điều này cho phép bạn định nghĩa một thành phần <NotFound> để hiển thị khi người dùng truy cập vào một đường dẫn không tồn tại. Ví dụ, nếu bạn thêm <Route path="*" element={<NotFound />} /> như một tuyến đường cuối cùng trong danh sách các tuyến đường, thì khi người dùng truy cập vào một đường dẫn không tồn tại, React Router sẽ tự động hiển thị thành phần <NotFound>.

#820
100%
ĐỘ CHÍNH XÁC
5
LƯỢT LÀM
4 LỰA CHỌN
AUsing square brackets: [param]
BUsing curly braces: {param}
Using a colon: :paramĐÚNG
DUsing a question mark: ?param
Giải thích

Để định nghĩa một tham số đường dẫn trong một đường dẫn React Router, bạn cần sử dụng dấu hai chấm (:). Ví dụ, đường dẫn "/users/:id" sẽ nhận một tham số id từ URL. Khi sử dụng tham số đường dẫn, bạn có thể truy cập giá trị của nó trong component bằng cách sử dụng props.match.params. Ví dụ, trong component "/users/:id", bạn có thể sử dụng props.match.params.id để truy cập giá trị của tham số id. Ngoài ra, bạn cũng có thể sử dụng tham số đường dẫn để truyền dữ liệu từ server sang client. Điều này giúp bạn có thể xây dựng ứng dụng web động và linh hoạt hơn.