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.940/16.752 câuCòn 7.812
8921What is the "Repository Pattern" commonly used for in ASP.NET Core data access?4 lựa chọnDễ100% trả lời đúng
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 →
Đề bài
var result = await _context.Products .Where(p => p.IsAvailable) .OrderBy(p => p.Name) .ToListAsync();
AIt fetches all products, then filters and sorts them in the application's memory.
BIt generates a SQL query to select and order available products, which is then executed on the database server.
CIt synchronously blocks the thread until the database returns all products.
DIt deletes all products that are not available.
Lời giải
Lệnh LINQ này được sử dụng trong một dịch vụ .NET 8 sử dụng EF Core. Nó thực hiện việc truy vấn dữ liệu từ cơ sở dữ liệu. Đầu tiên, nó lọc ra các sản phẩm có trạng thái 'IsAvailable' là true. Sau đó, nó sắp xếp các sản phẩm theo tên. Tất cả các bước này được thực hiện trên cơ sở dữ liệu, không phải trong bộ nhớ của ứng dụng. Điều này giúp giảm thiểu lượng dữ liệu cần truyền tải và xử lý.
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 →
8924Consider this EF Core entity:4 lựa chọncó codeTrung bình50% trả lời đúng
Đề bài
public class User {
  public int Id { get; set; }
  public string Username { get; set; }
  = String.Empty;
  public string HashedPassword { get; set; }
  = String.Empty;
  public bool IsAdmin { get; set; }
}

Which of the following would be an appropriate DTO to return to a client asking for user details?

Apublic class UserDto { public int Id { get; set; } public string Username { get; set; } }
Bpublic class UserDto { public string HashedPassword { get; set; } }
CThe User entity itself should always be returned directly.
Dpublic class UserDto { public int Id { get; set; } public string Username { get; set; } public string HashedPassword { get; set; } public bool IsAdmin { get; set; } }
Lời giải
Khi xây dựng một ứng dụng web, việc bảo vệ thông tin người dùng là rất quan trọng. Trong trường hợp này, chúng ta có một thực thể User trong EF Core với các thuộc tính Id, Username, HashedPassword và IsAdmin. Nếu một client yêu cầu thông tin chi tiết về một người dùng, chúng ta cần quyết định thông tin nào nên được trả về.
Mở trang câu hỏi này →
ACross-platform support
BOpen-source framework
CTight integration with IIS only
DBuilt-in dependency injection
Lời giải
ASP.NET Core là một framework web phát triển bởi Microsoft. Nó cung cấp nhiều tính năng quan trọng như hỗ trợ đa nền tảng, mã nguồn mở và tích hợp chặt chẽ với IIS. Tuy nhiên, một trong những tính năng không phải là đặc điểm chính của ASP.NET Core là tích hợp chặt chẽ với IIS chỉ. Điều này có nghĩa là ASP.NET Core không chỉ được tích hợp với IIS mà còn có thể chạy độc lập trên các nền tảng khác như Linux và macOS. Ngoài ra, ASP.NET Core cũng cung cấp tính năng dependency injection được tích hợp sẵn, giúp dễ dàng quản lý các phụ thuộc trong ứng dụng. Vì vậy, trong các lựa chọn trên, 'Tight integration with IIS only' là không phải là một đặc điểm chính của ASP.NET Core.
Mở trang câu hỏi này →
8926Which of the following is a key REST constraint?4 lựa chọnKhó33% trả lời đúng
AStateless communication
BServer-managed conversational state
CTight coupling between client and server
DProtocol-specific operations only
Lời giải
REST (Representational State of Resource) là một kiến trúc ứng dụng dựa trên các nguyên tắc và hạn chế cụ thể để đảm bảo tính linh hoạt,scalability và dễ dàng bảo trì. Một trong những hạn chế quan trọng của REST là giao tiếp không có trạng thái (Stateless communication). Điều này có nghĩa là mỗi yêu cầu từ client đến server phải chứa tất cả thông tin cần thiết để xử lý yêu cầu đó, mà không cần dựa vào trạng thái trước đó của giao tiếp. Điều này giúp tăng tính linh hoạt và dễ dàng mở rộng hệ thống. Ví dụ, khi client gửi yêu cầu để lấy thông tin về một tài khoản, server không cần lưu trữ trạng thái của giao tiếp trước đó, mà chỉ cần xử lý yêu cầu dựa trên thông tin được gửi kèm theo. Hạn chế này giúp đảm bảo tính nhất quán và dễ dàng bảo trì hệ thống.
Mở trang câu hỏi này →
AA web service that uses SOAP for communication.
BA web service that adheres to the architectural principles of REST.
CA web service that only returns XML data.
DA web service that requires a specific client-side framework.
Lời giải
Một dịch vụ web RESTful là một loại dịch vụ web được thiết kế theo nguyên tắc kiến trúc REST (Representational State of Resource). REST là một mô hình kiến trúc dựa trên tài nguyên, nơi mà mỗi tài nguyên được đại diện bởi một URI duy nhất và có thể được truy cập thông qua các phương thức HTTP khác nhau như GET, POST, PUT và DELETE. Dịch vụ web RESTful thường sử dụng các phương thức này để thực hiện các hành động như đọc, tạo, cập nhật và xóa dữ liệu. Điều này giúp tạo ra một dịch vụ web linh hoạt, dễ dàng sử dụng và có khả năng mở rộng cao.
Mở trang câu hỏi này →
ATo securely encrypt data transmissions.
BTo transfer hypertext documents across the internet.
CTo manage and query databases.
DTo define the structure of a web page.
Lời giải
HTTP (Hypertext Transfer Protocol) là một giao thức mạng được sử dụng để truyền tải dữ liệu trên internet. Mục đích chính của giao thức HTTP là chuyển đổi các tài liệu siêu văn bản (hypertext documents) giữa các máy tính. Điều này bao gồm việc truyền tải các trang web, hình ảnh, âm thanh và các loại dữ liệu khác. Khi bạn nhập địa chỉ URL của một trang web vào trình duyệt, trình duyệt sẽ gửi một yêu cầu HTTP đến máy chủ lưu trữ trang web đó. Máy chủ sẽ trả lời yêu cầu bằng cách gửi lại trang web yêu cầu, và trình duyệt sẽ hiển thị trang web đó cho bạn. Vì vậy, mục đích chính của giao thức HTTP là truyền tải các tài liệu siêu văn bản trên internet.
Mở trang câu hỏi này →
8929What 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 →
AHTML
BXML
CJSON
DYAML
Lời giải
Trong các lựa chọn trên, JSON (JavaScript Object Notation) là định dạng dữ liệu phổ biến nhất được sử dụng cho các gói tải phản hồi trong các API REST hiện đại. JSON cung cấp một cách đơn giản và dễ đọc để biểu diễn dữ liệu, giúp dễ dàng truyền tải và xử lý dữ liệu giữa các ứng dụng và hệ thống khác nhau. Nó cũng hỗ trợ các loại dữ liệu cơ bản như chuỗi, số, boolean, mảng và đối tượng, cũng như các thuộc tính và phương thức của đối tượng. Việc sử dụng JSON trong các API REST giúp giảm thiểu thời gian tải trang và tăng cường hiệu suất của ứng dụng. Ngoài ra, JSON cũng được hỗ trợ rộng rãi bởi các nền tảng và ngôn ngữ lập trình khác nhau, làm cho nó trở thành lựa chọn phổ biến cho các ứng dụng web và di động.
Mở trang câu hỏi này →
AThe request has been accepted for processing, but the processing has not been completed.
BThe server has successfully fulfilled the request.
CThe requested resource could not be found.
DThe server understands the request but refuses to authorize it.
Lời giải
Mã trạng thái HTTP 200 OK cho biết yêu cầu đã được xử lý thành công. Khi một máy chủ web nhận được một yêu cầu HTTP, nó sẽ trả về một mã trạng thái HTTP để xác định kết quả của yêu cầu. Mã trạng thái 200 OK là một trong những mã trạng thái phổ biến nhất và cho biết máy chủ đã xử lý yêu cầu thành công. Điều này có nghĩa là máy chủ đã hiểu và thực hiện được yêu cầu của người dùng, và đã trả về nội dung yêu cầu như mong đợi. Ví dụ, khi bạn truy cập một trang web, máy chủ web sẽ trả về mã trạng thái 200 OK để xác nhận rằng trang web đã được tải xuống thành công. Mã trạng thái này cũng được sử dụng khi bạn gửi một yêu cầu HTTP để tạo hoặc cập nhật một tài nguyên trên máy chủ web.
Mở trang câu hỏi này →
8932What does "Statelessness" in REST mean?4 lựa chọn
AThe server does not store any information about the client's state between requests.
BThe client does not need to maintain any state about the server.
CThe communication protocol does not support sessions.
DThe server encrypts all state information.
Lời giải
Statelessness trong REST là một trong những đặc điểm quan trọng của kiến trúc này. Nó cho biết server không lưu trữ bất kỳ thông tin nào về trạng thái của client giữa các yêu cầu. Điều này có nghĩa là mỗi yêu cầu gửi đến server phải tự chứa đủ thông tin để thực hiện hành động mong muốn mà không cần dựa vào bất kỳ trạng thái nào được lưu trữ trước đó. Điều này giúp tăng tínhscalability và độ tin cậy của hệ thống, vì server không cần phải quản lý trạng thái của từng client. Tuy nhiên, điều này cũng đòi hỏi client phải gửi đủ thông tin để server có thể xử lý yêu cầu một cách độc lập.
Mở trang câu hỏi này →
AStatus line
BRequest line
CStart-of-response line
DEntity line
Lời giải
Trong yêu cầu 'GET /images/logo.gif HTTP/1.1', dòng này được gọi là dòng yêu cầu (Request line). Dòng yêu cầu là một phần quan trọng của giao thức HTTP, nó chứa thông tin về phương thức yêu cầu (GET, POST, PUT, DELETE, ...), đường dẫn URL, và phiên bản HTTP được sử dụng. Trong ví dụ này, dòng yêu cầu là 'GET /images/logo.gif HTTP/1.1', cho biết phương thức yêu cầu là GET, đường dẫn URL là /images/logo.gif, và phiên bản HTTP được sử dụng là 1.1. Dòng yêu cầu được gửi từ client (người dùng) đến server (máy chủ) để yêu cầu thực hiện một hành động cụ thể.
Mở trang câu hỏi này →
Đề bài
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
var app = builder.Build();
if (app.Environment.IsDevelopment()) {
  // What two lines of code are typically added here?
}
Aapp.UseExceptionHandler("/error"); app.UseHsts();
Bapp.UseSwagger(); app.UseSwaggerUI();
Capp.UseAuthentication(); app.UseAuthorization();
Dapp.UseRouting(); app.UseEndpoints(...);
Lời giải

Để thêm tính năng tạo và hiển thị Swagger vào ứng dụng ASP.NET Core 8 của bạn, bạn cần thực hiện các bước sau. Đầu tiên, bạn cần thêm các dịch vụ cần thiết vào trong chương trình của mình. Điều này bao gồm việc thêm dịch vụ tạo và hiển thị Swagger. Sau đó, bạn cần xây dựng ứng dụng của mình và kiểm tra xem ứng dụng đang ở môi trường phát triển hay không. Nếu ứng dụng đang ở môi trường phát triển, bạn cần thêm hai dòng mã đặc biệt để kích hoạt tính năng tạo và hiển thị Swagger. Cụ thể, bạn cần thêm lệnh app.UseSwagger(); và app.UseSwaggerUI(); vào trong chương trình của mình.

Mở trang câu hỏi này →
AIController
BIDbContext
CIHostedService
DIViewComponent
Lời giải
Để được đăng ký như một dịch vụ được lưu trữ trong .NET, một lớp phải thực hiện một giao diện cụ thể. Giao diện này cho phép lớp đó được quản lý và chạy trong môi trường ứng dụng. Trong các lựa chọn đã cho, giao diện "IHostedService" là giao diện cần được thực hiện để đăng ký lớp như một dịch vụ được lưu trữ. Giao diện này cung cấp các phương thức để quản lý vòng đời của dịch vụ, chẳng hạn như phương thức StartAsync và StopAsync. Bằng cách thực hiện giao diện này, lớp có thể được đăng ký như một dịch vụ được lưu trữ và chạy trong môi trường ứng dụng.
Mở trang câu hỏi này →
Abuilder.Services.AddControllers()
Bbuilder.Services.AddRazorPages()
Cbuilder.Services.AddMvc()
Dbuilder.Services.AddViews()
Lời giải
Để đăng ký dịch vụ Razor Pages vào container DI trong Program.cs, bạn cần sử dụng phương thức builder.Services.AddRazorPages(). Phương thức này cho phép ASP.NET Core biết rằng ứng dụng của bạn sử dụng Razor Pages và cần đăng ký các dịch vụ liên quan. Khi bạn gọi phương thức này, các dịch vụ cần thiết cho Razor Pages sẽ được đăng ký vào container DI, bao gồm các dịch vụ như Razor Pages Model, Razor Pages Controller, v.v. Điều này cho phép bạn sử dụng các tính năng của Razor Pages trong ứng dụng của mình.
Mở trang câu hỏi này →
ATask.Run()
BIHostedService
CBackgroundService
DWorker Service
Lời giải
Khi thực hiện công việc nền trong thời gian dài trong các controller, chúng ta cần chọn phương pháp phù hợp để tránh gây ra các vấn đề về hiệu suất và bảo trì. Phương pháp Task.Run() không nên được sử dụng cho các công việc nền này vì nó sẽ chiếm dụng luồng chính của ứng dụng và gây ra các vấn đề về hiệu suất. Ngoài ra, Task.Run() không cung cấp các tính năng cần thiết để quản lý và giám sát các công việc nền, chẳng hạn như khả năng bắt đầu và dừng lại, cũng như khả năng phục hồi sau khi ứng dụng bị restart. Thay vào đó, chúng ta nên sử dụng các phương pháp như IHostedService, BackgroundService và Worker Service để thực hiện các công việc nền trong thời gian dài. Những phương pháp này cung cấp các tính năng cần thiết để quản lý và giám sát các công việc nền, giúp chúng ta dễ dàng bảo trì và hiệu suất cao hơn.
Mở trang câu hỏi này →
8938What is the primary purpose of a .NET Worker Service?4 lựa chọnDễ100% trả lời đúng
ATo build web applications.
BTo build desktop applications.
CTo build long-running background tasks or services.
DTo build mobile applications.
Lời giải
Một .NET Worker Service là một loại ứng dụng .NET Core được thiết kế để chạy trong nền và thực hiện các tác vụ chạy trong nền lâu dài. Mục đích chính của một .NET Worker Service là chạy các tác vụ nền trong thời gian dài mà không cần tương tác trực tiếp từ người dùng. Điều này có thể bao gồm các tác vụ như gửi email hàng ngày, cập nhật dữ liệu trong cơ sở dữ liệu hoặc thực hiện các tác vụ khác mà không cần người dùng phải chờ đợi. .NET Worker Service cung cấp một cách linh hoạt để xây dựng các ứng dụng chạy trong nền mà không cần phải tạo một ứng dụng web hoặc desktop.
Mở trang câu hỏi này →
8939Which namespace contains the BackgroundService class?4 lựa chọnTrung bình60% trả lời đúng
ASystem.Threading
BMicrosoft.Extensions.Hosting
CMicrosoft.Extensions.Logging
DSystem.ServiceProcess
Lời giải
Namespace chứa lớp BackgroundService là Microsoft.Extensions.Hosting. Lớp BackgroundService là một lớp cơ bản trong framework .NET Core, được sử dụng để tạo các dịch vụ chạy nền. Nó cho phép bạn tạo các dịch vụ có thể chạy nền mà không cần phải tạo một ứng dụng Windows Service. Để sử dụng BackgroundService, bạn cần thêm Microsoft.Extensions.Hosting vào dự án của mình. Sau đó, bạn có thể tạo một lớp con của BackgroundService và thực hiện các tác vụ cần thiết trong phương thức Run().
Mở trang câu hỏi này →
8940Where is the Worker Service configured in a .NET Core application?4 lựa chọnDễ100% trả lời đúng
AProgram.cs
BApp.cs
Cappsettings.json
DlaunchSettings.json
Lời giải
Trong một ứng dụng .NET Core, Worker Service được cấu hình ở đâu?
Mở trang câu hỏi này →