Đề ôn · PRN232

PRN232 Xây dựng ứng dụng back-end đa nền tảng với .NET – Bộ ôn tập số 1 (49 câu)

49 câu

49câu trong đề
PRN232môn

Câu hỏi của đề

15/49 câuCòn 34
ACsvFormatter
BTextOutputFormatter
CTextInputFormatter
DOutputFormatter
Lời giải
Để tạo một trình định dạng đầu vào tùy chỉnh cho loại phương tiện text/csv, bạn cần kế thừa từ lớp cơ sở nào?
Mở trang câu hỏi này →
AGET /Products?$filter=endswith(Name, 'Edition')
BGET /Products?$filter=Name.endsWith('Edition')
CGET /Products?$filter=last(Name) eq 'Edition'
DGET /Products?$filter=Name like '%Edition'
Lời giải
Để tìm kiếm tất cả các sản phẩm có tên kết thúc bằng chuỗi 'Edition', chúng ta cần sử dụng hàm 'endswith' trong truy vấn OData. Hàm này giúp chúng ta kiểm tra xem chuỗi nào kết thúc bằng chuỗi khác. Trong trường hợp này, chúng ta muốn tìm kiếm các sản phẩm có tên kết thúc bằng 'Edition'.
Mở trang câu hỏi này →
3What is the primary purpose of Swagger (OpenAPI) in an ASP.NET Core Web API?4 lựa chọnDễ100% trả lời đúng
ATo provide a database management interface.
BTo describe the capabilities of your API and provide interactive documentation.
CTo automatically handle user authentication and authorization.
DTo monitor the performance of the API in real-time.
Lời giải
Swagger (OpenAPI) là một công cụ quan trọng trong việc xây dựng và quản lý API. Mục đích chính của Swagger là mô tả khả năng của API và cung cấp tài liệu interact được. Điều này giúp cho các nhà phát triển và người dùng dễ dàng hiểu được cách sử dụng API, bao gồm các phương thức HTTP, tham số, phản hồi và các thông tin khác. Swagger cũng cho phép tạo ra tài liệu API tự động, giúp giảm thiểu thời gian và công sức trong việc tạo và duy trì tài liệu. Ngoài ra, Swagger còn hỗ trợ các tính năng như tạo mẫu mã, thử nghiệm API và phân tích hiệu suất, giúp cho việc phát triển và quản lý API trở nên dễ dàng hơn.
Mở trang câu hỏi này →
A[Email]
B[IsEmail]
C[EmailAddress]
D[RegularExpression(@"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$")]
Lời giải
Để xác định một thuộc tính là một địa chỉ email hợp lệ, bạn cần sử dụng thuộc tính [EmailAddress]. Đây là thuộc tính được sử dụng để xác minh rằng giá trị nhập vào có đúng định dạng email. Ví dụ, khi bạn nhập vào địa chỉ email như '[email protected]', thuộc tính [EmailAddress] sẽ xác nhận rằng nó có đúng định dạng và không có lỗi. Ngoài ra, bạn cũng có thể sử dụng thuộc tính [IsEmail] để thực hiện chức năng tương tự, nhưng [EmailAddress] là lựa chọn phổ biến hơn và được sử dụng rộng rãi trong các ứng dụng.
Mở trang câu hỏi này →
A$("a[target='_blank']")
B$("a.target._blank")
C$("a where target is _blank")
D$("a{target:'_blank'}")
Lời giải

Để chọn tất cả các thẻ <a> có thuộc tính target bằng '_blank', bạn cần sử dụng selector đúng. Selector là một phần của CSS hoặc jQuery dùng để chọn phần tử HTML. Trong trường hợp này, bạn cần sử dụng selector có dạng 'a[target='_blank']'. Điều này sẽ chọn tất cả các thẻ <a> có thuộc tính target bằng '_blank'.

Mở trang câu hỏi này →
6Which of the following questions does "Authentication" answer?4 lựa chọnDễ100% trả lời đúng
A"What can you do?"
B"Who are you?"
C"How long can you stay?"
D"Where are you from?"
Lời giải
Authentication là quá trình xác thực danh tính của một người dùng. Nó giúp xác định xem người dùng đó có phải là người thực sự hay không. Trong các câu hỏi được liệt kê, câu hỏi "Who are you?" (Ai bạn là?) là một câu hỏi phù hợp để xác thực danh tính của người dùng. Câu hỏi này giúp xác định xem người dùng có phải là người thực sự hay không, và có thể được sử dụng để xác thực thông tin đăng nhập của người dùng.
Mở trang câu hỏi này →
AIt can only accept JSON.
BIt prefers XML (q=1.0) over JSON (q=0.9).
CIt can only accept XML.
DIt wants the response to be split between JSON and XML.
Lời giải
Khi một khách hàng gửi một tiêu đề Accept với giá trị application/json; q=0.9, application/xml; q=1.0, điều đó có nghĩa là khách hàng muốn nhận được phản hồi trong hai định dạng: JSON và XML. Giá trị q được sử dụng để chỉ định mức độ ưu tiên của mỗi định dạng. Trong trường hợp này, giá trị q=1.0 cho XML cao hơn giá trị q=0.9 cho JSON, điều đó có nghĩa là khách hàng muốn nhận được phản hồi trong định dạng XML nếu có thể, nhưng nếu không thể, họ cũng chấp nhận nhận được phản hồi trong định dạng JSON. Điều này cho thấy khách hàng có thể chấp nhận cả hai định dạng, nhưng có ưu tiên cho XML.
Mở trang câu hỏi này →
AYes, because the user has one of the required roles.
BNo, because the user must have both the "Editor" and "Admin" roles.
CYes, because the comma indicates an OR relationship.
DIt depends on which role was assigned first.
Lời giải
Khi một người dùng có nhiều vai trò, chẳng hạn như "Biên tập viên" và "Tác giả", và một hành động được trang trí với [Authorize(Roles = "Biên tập viên,Admin")]. Người dùng có được truy cập không?
Mở trang câu hỏi này →
Đề bài
public class ApplicationDbContext : DbContext {
  public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options) {
  }
  public DbSet<Product> Products { get; set; }
  public DbSet<Category> Categories { get; set; }
}
AIt scans the entire assembly for public classes.
BThrough the DbSet<T> properties defined in the DbContext.
CIt relies on XML configuration files.
DYou must manually register each class using builder.Services.AddTransient<Product>().
Lời giải

EF Core biết được các lớp nào cần bao gồm trong mô hình cơ sở dữ liệu dựa trên các thuộc tính DbSet<T> được định nghĩa trong lớp DbContext. Khi bạn tạo một thuộc tính DbSet<T>, EF Core sẽ tự động phát hiện lớp tương ứng và bao gồm nó trong mô hình cơ sở dữ liệu. Điều này giúp bạn dễ dàng quản lý các lớp và mối quan hệ giữa chúng trong ứng dụng .NET 9 sử dụng EF Core.

Mở trang câu hỏi này →
ATo automatically generate API documentation.
BTo abstract the data access logic, making the application more modular and testable.
CTo handle user authentication and authorization.
DTo define the routing rules for API endpoints.
Lời giải
Repository Pattern là một mô hình thiết kế được sử dụng rộng rãi trong ASP.NET Core để truy cập dữ liệu. Nó giúp abstract hóa logic truy cập dữ liệu, làm cho ứng dụng trở nên linh hoạt và dễ dàng kiểm tra hơn. Repository Pattern giúp tách biệt logic truy cập dữ liệu khỏi logic kinh doanh, giảm thiểu sự phụ thuộc và tăng cường khả năng mở rộng. Nó cũng giúp dễ dàng thay đổi cơ sở dữ liệu mà không ảnh hưởng đến logic kinh doanh. Ngoài ra, Repository Pattern giúp dễ dàng thực hiện các tính năng như caching, logging và phân trang dữ liệu.
Mở trang câu hỏi này →
AString, Number, Boolean, Array, Object, null
BString, Integer, Float, Date, Array, Hashtable
CText, Decimal, Bit, List, Dictionary, null
DVarchar, Number, Boolean, Collection, Object, undefined
Lời giải
JSON hỗ trợ nhiều loại dữ liệu khác nhau. Trong đó có String, Number, Boolean, Array và Object. String được sử dụng để lưu trữ chuỗi ký tự, Number để lưu trữ số nguyên và số thực, Boolean để lưu trữ giá trị logic True hoặc False, Array để lưu trữ danh sách các giá trị và Object để lưu trữ các thuộc tính và giá trị. null được sử dụng để biểu thị giá trị không có. JSON không hỗ trợ các loại dữ liệu như Integer, Float, Date, Text, Decimal, Bit, List, Dictionary, Varchar, Number, Boolean, Collection, Object, undefined vì chúng không phải là các loại dữ liệu cơ bản trong JSON.
Mở trang câu hỏi này →
13To delete a product with an ID of 123, which OData request is correct?4 lựa chọnTrung bình67% trả lời đúng
APOST /Products?$filter=Id eq 123
BDELETE /Products(123)
CGET /Products(123)?action=delete
DREMOVE /Products/123
Lời giải
Để xóa một sản phẩm có ID là 123, chúng ta cần sử dụng phương thức HTTP phù hợp. Trong OData, phương thức HTTP để xóa một tài nguyên là DELETE. Khi sử dụng DELETE, chúng ta cần cung cấp đường dẫn đến tài nguyên cần xóa. Trong trường hợp này, đường dẫn đến sản phẩm có ID là 123 là /Products(123). Vì vậy, câu trả lời đúng là DELETE /Products(123).
Mở trang câu hỏi này →
14What is a "channel" in gRPC?4 lựa chọn
AThe service implementation on the server.
BThe generated client-side code.
CA long-lived connection to a gRPC service, which can be reused for multiple calls.
DA specific type of streaming method.
Lời giải
Trong gRPC, một "kênh" (channel) được định nghĩa là một kết nối lâu dài đến một dịch vụ gRPC, có thể được tái sử dụng cho nhiều cuộc gọi. Điều này cho phép các ứng dụng gRPC thực hiện nhiều cuộc gọi đến một dịch vụ mà không cần phải thiết lập lại kết nối mới. Mỗi kênh được tạo ra bằng cách gọi phương thức `CreateChannel` và nó được sử dụng để thực hiện các cuộc gọi đến dịch vụ gRPC. Kênh có thể được sử dụng để thực hiện các cuộc gọi một chiều, hai chiều hoặc streaming. Việc sử dụng kênh giúp cải thiện hiệu suất và giảm thiểu thời gian thiết lập kết nối.
Mở trang câu hỏi này →
15What is the fundamental role of a Model Binder in ASP.NET Core?4 lựa chọnDễ100% trả lời đúng
ATo convert C# model objects into JSON or XML for the response.
BTo create instances of C# objects by extracting data from an incoming HTTP request (e.g., from the route, query string, or body).
CTo bind a database model to a DbContext.
DTo validate the properties of a model.
Lời giải
Trong ASP.NET Core, Model Binder đóng vai trò quan trọng trong việc tạo ra các đối tượng C# từ dữ liệu được gửi qua HTTP request. Nó có thể lấy dữ liệu từ các nguồn khác nhau như đường dẫn, chuỗi truy vấn hoặc cơ thể yêu cầu. Model Binder sẽ tạo ra các đối tượng C# dựa trên dữ liệu được gửi và giúp chúng ta dễ dàng truy cập và sử dụng dữ liệu đó trong ứng dụng. Ví dụ, khi gửi một form qua HTTP POST, Model Binder sẽ tạo ra một đối tượng C# dựa trên dữ liệu được gửi và giúp chúng ta dễ dàng truy cập các thuộc tính của đối tượng đó. Điều này giúp giảm thiểu mã code và tăng hiệu suất của ứng dụng.
Mở trang câu hỏi này →