Đề ôn · SBA301

SBA301 Tích hợp ứng dụng trang đơn với Spring Boot – Bộ ôn tập cuối kỳ số 2 (84 câu)

84 câu · Cuối kỳ

84câu trong đề
SBA301môn

Câu hỏi của đề

15/84 câuCòn 69
1Which package is commonly used for routing in React applications?4 lựa chọnDễ75% trả lời đúng
Areact-navigation
Breact-router-dom
Creact-router-native
Dreact-router-core
Lời giải
Trong React, việc định tuyến (routing) là một phần quan trọng của ứng dụng. Để quản lý các đường dẫn trong ứng dụng, chúng ta cần sử dụng các gói (package) chuyên dụng. Một trong những gói phổ biến nhất được sử dụng cho định tuyến trong ứng dụng React là react-router-dom. Gói này cho phép chúng ta tạo ra các đường dẫn và chuyển đổi giữa các trang trong ứng dụng một cách dễ dàng. Nó cũng cung cấp các tính năng như quản lý lịch sử trang, tạo ra các đường dẫn động và nhiều hơn nữa. Ngoài ra, gói này cũng được sử dụng để tạo ra các ứng dụng đa màn hình (multi-screen) và ứng dụng di động.
Mở trang câu hỏi này →
Afetch(url).then(response => response.json()).then(data => console.log(data));
Bfetch(url).then(data => data.json()).then(console.log(data));
Cfetch(url).data().then(console.log);
Dfetch(url).json().then(data => console.log(data));
Lời giải

Để xử lý một yêu cầu fetch thành công, chúng ta cần sử dụng hàm then để thực hiện các hành động tiếp theo sau khi dữ liệu được tải về. Trong ví dụ này, chúng ta cần chuyển đổi dữ liệu từ dạng JSON sang dạng dễ đọc hơn bằng cách sử dụng hàm response.json(). Sau đó, chúng ta có thể sử dụng hàm console.log() để in ra dữ liệu đã được chuyển đổi. Vì vậy, câu trả lời đúng là fetch(url).then(response =>

Lời giải
response.json()).then(data => console.log(data));

. Câu trả lời này cho phép chúng ta xử lý dữ liệu một cách linh hoạt và dễ dàng.

Mở trang câu hỏi này →
3What is the purpose of the @RequestParam annotation?4 lựa chọnDễ92% trả lời đúng
AMaps headers to method parameters
BBinds form data to method parameters
CMaps path variables to fields
DMaps query parameters to method parameters
Lời giải

Annotation @RequestParam được sử dụng trong Spring MVC để ánh xạ các tham số truy vấn (query parameters) trong URL đến các tham số phương thức (method parameters) của một phương thức controller. Điều này cho phép bạn dễ dàng lấy giá trị của các tham số truy vấn và sử dụng chúng trong logic của phương thức. Ví dụ, nếu bạn có một phương thức controller như sau: @GetMapping("/users")

Lời giải
public String getUsers(@RequestParam("name") String name, @RequestParam("age") int age) {
  ...
}

thì @RequestParam("name") và @RequestParam("age") sẽ ánh xạ các tham số truy vấn "name" và "age" trong URL đến các tham số phương thức "name" và "age".

Mở trang câu hỏi này →
4Which Spring annotation is used to map HTTP GET requests to a method?4 lựa chọnDễ85% trả lời đúng
A@RequestGet
B@Get
C@HttpGet
D@GetMapping
Lời giải

Để ánh xạ các yêu cầu HTTP GET đến một phương thức, chúng ta sử dụng annotation @GetMapping trong Spring. Annotation này cho phép chúng ta định nghĩa một phương thức có thể được gọi khi nhận được yêu cầu GET từ client. Ví dụ, nếu chúng ta có một phương thức như sau: @GetMapping("/users")

Lời giải
public List<User> getUsers() {
  // logic

để lấy danh sách người dùng } Thì khi client gửi yêu cầu GET đến đường dẫn /users, phương thức getUsers() sẽ được gọi và trả về danh sách người dùng. Annotation @GetMapping là một trong những annotation quan trọng trong Spring, giúp chúng ta xây dựng các ứng dụng web hiệu quả và dễ dàng quản lý.

Mở trang câu hỏi này →
5Which HTTP methods are supported by Axios?4 lựa chọnDễ100% trả lời đúng
AOnly GET and POST in the browser
BGET, POST, PUT, DELETE, PATCH, OPTIONS, HEAD
CGET, POST only
DGET, POST, DELETE only
Lời giải
Axios hỗ trợ các phương thức HTTP sau: GET, POST, PUT, DELETE, PATCH, OPTIONS, HEAD. Điều này có nghĩa là bạn có thể sử dụng bất kỳ phương thức nào trong số này khi sử dụng Axios để gửi yêu cầu HTTP. Ví dụ, bạn có thể sử dụng phương thức PUT để cập nhật dữ liệu, phương thức DELETE để xóa dữ liệu, phương thức PATCH để cập nhật một phần dữ liệu, v.v. Ngoài ra, bạn cũng có thể sử dụng phương thức OPTIONS để kiểm tra các phương thức HTTP được hỗ trợ bởi server, và phương thức HEAD để kiểm tra thông tin về tài nguyên mà không tải về dữ liệu.
Mở trang câu hỏi này →
6How can you specify the response status code in a REST controller?4 lựa chọnDễ100% trả lời đúng
ABy using HttpServletResponse
BYou cannot control the status code
CBy using @ResponseStatus annotation
DBy returning an int
Lời giải
Để chỉ định mã trạng thái phản hồi trong một controller REST, bạn có thể sử dụng một trong các phương pháp sau. Phương pháp đầu tiên là sử dụng HttpServletResponse. Tuy nhiên, phương pháp này không được khuyến khích vì nó yêu cầu bạn phải sử dụng phương thức sendError() để chỉ định mã trạng thái. Phương pháp thứ hai là bạn không thể kiểm soát mã trạng thái. Phương pháp thứ ba là sử dụng @ResponseStatus annotation. Đây là phương pháp được khuyến khích nhất vì nó cho phép bạn dễ dàng chỉ định mã trạng thái cho phương thức controller của mình. Phương pháp thứ tư là bằng cách trả về một giá trị int. Tuy nhiên, phương pháp này cũng không được khuyến khích vì nó có thể gây nhầm lẫn và khó bảo trì.
Mở trang câu hỏi này →
7What is the primary purpose of a RESTful web service in Spring Boot?4 lựa chọnDễ100% trả lời đúng
ATo render HTML content
BTo provide data through JSON or XML over HTTP
CTo connect to a database
DTo secure the application with OAuth2
Lời giải
Mục đích chính của một dịch vụ web RESTful trong Spring Boot là cung cấp dữ liệu thông qua JSON hoặc XML qua HTTP. Dịch vụ web RESTful sử dụng các phương thức HTTP như GET, POST, PUT, DELETE để tương tác với các nguồn dữ liệu. Khi một yêu cầu HTTP được gửi đến dịch vụ web RESTful, nó sẽ xử lý yêu cầu và trả về dữ liệu phù hợp theo định dạng JSON hoặc XML. Điều này cho phép các ứng dụng khác nhau có thể giao tiếp với dịch vụ web RESTful và sử dụng dữ liệu được cung cấp. Ví dụ, một ứng dụng web có thể sử dụng dịch vụ web RESTful để tải xuống dữ liệu từ một cơ sở dữ liệu và hiển thị dữ liệu đó trên trang web.
Mở trang câu hỏi này →
A@RestStatus
B@StatusCode
C@ResponseStatus
D@HttpStatus
Lời giải
Để trả về một trạng thái HTTP cụ thể từ một phương thức, bạn cần sử dụng một trong các chú thích sau. Trong đó, chú thích @ResponseStatus là lựa chọn chính xác.
Mở trang câu hỏi này →
A@PostMapping and @RequestBody
B@GetMapping and @PathVariable
C@PostMapping and @RequestParam
D@PostMapping and @ResponseBody
Lời giải

Để xác định một phương thức xử lý yêu cầu POST và chấp nhận cơ thể yêu cầu, bạn cần sử dụng hai annotation đặc biệt trong Spring MVC. Đầu tiên, bạn cần sử dụng @PostMapping để chỉ định phương thức xử lý yêu cầu POST. Thứ hai, bạn cần sử dụng @RequestBody để chỉ định rằng phương thức này sẽ chấp nhận cơ thể yêu cầu được gửi đi. Điều này cho phép bạn truy cập vào dữ liệu được gửi đi trong cơ thể yêu cầu. Ví dụ, nếu bạn muốn tạo một phương thức xử lý yêu cầu POST để tạo một tài khoản mới, bạn có thể sử dụng @PostMapping và @RequestBody như sau: @PostMapping("/taikhoan")

Lời giải
public ResponseEntity<TaiKhoan> taoTaiKhoan(@RequestBody TaiKhoan taiKhoan) {
  //

Xử lý tạo tài khoản } Trong ví dụ trên, @PostMapping chỉ định phương thức xử lý yêu cầu POST, và @RequestBody chỉ định rằng phương thức này sẽ chấp nhận cơ thể yêu cầu được gửi đi.

Mở trang câu hỏi này →
10How do SPAs affect analytics and tracking tools like Google Analytics?4 lựa chọnTrung bình46% trả lời đúng
AAnalytics tools natively support SPAs without setup
BThey simplify tracking because everything is on one page
CSPAs automatically log page views
DThey require manual tracking for route changes
Lời giải
Các ứng dụng một trang (SPAs) có thể ảnh hưởng đến công cụ phân tích và theo dõi như Google Analytics. Khi sử dụng SPAs, người dùng không phải chuyển trang mà thay vào đó, nội dung sẽ được tải về và hiển thị trên cùng một trang. Điều này có thể gây khó khăn cho công cụ phân tích vì chúng không thể tự động theo dõi các trang khác nhau mà người dùng đã truy cập. Thay vào đó, người dùng phải thực hiện theo dõi thủ công cho các thay đổi đường dẫn. Điều này có nghĩa là người dùng phải tự động hóa việc theo dõi và phân tích dữ liệu để có được thông tin chính xác về hành vi người dùng.
Mở trang câu hỏi này →
11Which of the following is TRUE about React Router v6?4 lựa chọnDễ100% trả lời đúng
ARoute components are automatically lazy-loaded
BReact Router only supports hash-based routing
C<Switch> is still used to group routes
DRoutes must be wrapped in <Router> or <BrowserRouter>
Lời giải

React Router v6 là một công cụ giúp quản lý đường dẫn trong ứng dụng React. Nó cho phép bạn tạo ra các đường dẫn động và quản lý trạng thái ứng dụng. Để sử dụng React Router v6, bạn cần phải.wrap các tuyến đường trong <Router> hoặc <BrowserRouter>. Điều này giúp React Router biết được đường dẫn hiện tại và có thể điều hướng ứng dụng đến đúng tuyến đường. Ngoài ra, <Switch> vẫn được sử dụng để nhóm các tuyến đường, giúp ứng dụng có thể xử lý các tuyến đường trùng nhau một cách hiệu quả. Tuy nhiên, React Router v6 không hỗ trợ routing dựa trên hash, vì vậy bạn không thể sử dụng nó để tạo ra các đường dẫn dựa trên hash. Tóm lại, để sử dụng React Router v6, bạn cần phải.wrap các tuyến đường trong <Router> hoặc <BrowserRouter> và sử dụng <Switch> để nhóm các tuyến đường.

Mở trang câu hỏi này →
12How do you send POST data using Axios?4 lựa chọnDễ92% trả lời đúng
Aaxios.write('url', data)
Baxios.sendPost('url', data)
Caxios.post('url', data)
Daxios.get('url', data)
Lời giải
Để gửi dữ liệu POST bằng Axios, bạn cần sử dụng phương thức post(). Phương thức này yêu cầu hai tham số: URL và dữ liệu cần gửi. Dữ liệu có thể là một đối tượng JSON hoặc một chuỗi. Ví dụ, bạn có thể sử dụng phương thức post() như sau: axios.post('url', dữ liệu). Phương thức này sẽ gửi một yêu cầu POST đến URL chỉ định với dữ liệu được gửi kèm theo. Ngoài ra, bạn cũng có thể sử dụng phương thức post() để gửi dữ liệu POST với các tùy chọn khác nhau, chẳng hạn như headers, params, hoặc data.
Mở trang câu hỏi này →
13What is the purpose of the @RequestBody annotation?4 lựa chọnDễ92% trả lời đúng
AMaps the request body to a Java object
BBinds a query parameter to a method
CInjects beans into controller
DValidates request parameters
Lời giải
Annotation @RequestBody được sử dụng để ánh xạ cơ thể yêu cầu (request body) sang một đối tượng Java. Điều này cho phép bạn nhận dữ liệu từ cơ thể yêu cầu và ánh xạ nó sang một đối tượng Java, sau đó sử dụng đối tượng này trong phương thức của controller. Ví dụ, nếu bạn có một phương thức controller với một đối tượng Java như là tham số, annotation @RequestBody sẽ ánh xạ dữ liệu từ cơ thể yêu cầu sang đối tượng đó. Điều này giúp bạn dễ dàng xử lý dữ liệu từ cơ thể yêu cầu và sử dụng nó trong ứng dụng của mình.
Mở trang câu hỏi này →
14What is returned by an Axios request?4 lựa chọnDễ93% trả lời đúng
AString
BObject
CArray
DPromise
Lời giải
Khi thực hiện một yêu cầu bằng Axios, kết quả trả về sẽ là một đối tượng Promise. Đối tượng Promise là một loại đối tượng trong JavaScript được sử dụng để xử lý các tác vụ bất đồng bộ. Nó cho phép bạn thực hiện các tác vụ như gửi yêu cầu HTTP, đọc dữ liệu từ cơ sở dữ liệu, v.v. mà không phải chờ đợi kết quả. Khi tác vụ được thực hiện xong, đối tượng Promise sẽ được giải phóng và trả về kết quả. Trong trường hợp của Axios, đối tượng Promise sẽ được trả về sau khi gửi yêu cầu HTTP thành công. Bạn có thể sử dụng phương thức then() hoặc async/await để lấy kết quả từ đối tượng Promise này.
Mở trang câu hỏi này →
15Which HTTP method is used by default when making a fetch request?4 lựa chọnDễ92% trả lời đúng
APOST
BGET
CDELETE
DPUT
Lời giải
Khi thực hiện yêu cầu fetch, phương thức HTTP mặc định được sử dụng là GET. Phương thức GET được sử dụng để yêu cầu dữ liệu từ một nguồn, thường được sử dụng để tải xuống dữ liệu từ một URL. Trong trường hợp fetch, phương thức GET được sử dụng mặc định vì nó phù hợp với mục đích của yêu cầu fetch, đó là tải xuống dữ liệu từ một nguồn. Tuy nhiên, người dùng có thể thay đổi phương thức HTTP được sử dụng bằng cách chỉ định phương thức cụ thể trong phương thức fetch.
Mở trang câu hỏi này →