Thi lại · PRN222 · Summer 2026
Ôn tập thi lại PRN222 Summer 2026
50 câu gom từ 1 đề ôn của kỳ Summer 2026.
Đề gốc
Bấm để làm trọn một đề thay vì tra từng câu
50 câu hỏi
Trang 1 / 3What are SignalR hubs used for?4 lựa chọn
AManaging database connections.
BCommunicating between clients and servers.
CEncrypting data.
DManaging user sessions.
Lời giải
Mở trang câu hỏi này →SignalR Hubs là một công cụ quan trọng trong việc xây dựng các ứng dụng thời gian thực (real-time application) bằng cách cung cấp một cách để các máy khách (client) và máy chủ (server) giao tiếp với nhau. Nó cho phép các máy khách kết nối đến máy chủ và nhận thông tin cập nhật ngay lập tức, đồng thời cũng cho phép các máy chủ gửi thông tin đến các máy khách. Điều này rất hữu ích trong các ứng dụng như trò chơi trực tuyến, ứng dụng thời gian thực, và các ứng dụng cần cập nhật dữ liệu ngay lập tức.
A
connect()B
start()C
open()D
init()Lời giải
Mở trang câu hỏi này →Để bắt đầu kết nối SignalR trên phía client, chúng ta cần sử dụng phương thức start(). Phương thức này được sử dụng để khởi tạo và bắt đầu kết nối với server SignalR. Khi gọi phương thức start(), client sẽ gửi yêu cầu đến server để thiết lập kết nối và bắt đầu truyền thông tin. Phương thức start() là phương thức quan trọng và bắt buộc để bắt đầu sử dụng SignalR trên phía client.
What is Blazor?4 lựa chọn
AA JavaScript framework.
BA framework for building interactive web UIs using C# instead of JavaScript.
CA database management system.
DA server-side scripting language.
Lời giải
Mở trang câu hỏi này →Blazor là một công cụ giúp xây dựng giao diện người dùng (UI) web tương tác bằng cách sử dụng ngôn ngữ lập trình C# thay vì JavaScript. Nó cho phép các nhà phát triển xây dựng các ứng dụng web động bằng cách sử dụng các thành phần và các yếu tố UI được xây dựng bằng C#. Blazor sử dụng mô hình hai chiều (two-way data binding), điều này có nghĩa là dữ liệu được đồng bộ hóa giữa phía client và phía server. Điều này giúp giảm thiểu sự phức tạp và tăng cường hiệu suất của ứng dụng. Blazor cũng hỗ trợ các tính năng như sự kiện, giao tiếp giữa các thành phần và các tính năng bảo mật.
ATo create new threads directly
BTo handle queuing of tasks onto threads
CTo manage garbage collection of tasks
DTo provide thread synchronization
Lời giải
Mở trang câu hỏi này →Trong C#, lớp TaskScheduler đóng vai trò chính là quản lý việc sắp xếp các tác vụ (task) vào các luồng (thread). Lớp này chịu trách nhiệm đảm bảo rằng các tác vụ được thực hiện một cách hiệu quả và an toàn. Khi bạn tạo một tác vụ mới, nó sẽ được thêm vào hàng đợi của TaskScheduler, và sau đó sẽ được thực hiện bởi một luồng thích hợp. Điều này giúp tránh được tình trạng xung đột giữa các tác vụ và đảm bảo rằng các tác vụ được thực hiện một cách đồng bộ. Ngoài ra, lớp TaskScheduler cũng cung cấp các phương thức để quản lý và điều khiển các tác vụ, chẳng hạn như hủy bỏ tác vụ, chờ đợi tác vụ hoàn thành, v.v.
Which method is used in Program.cs to register Razor Pages services into the DI container?4 lựa chọn
A
builder.Services.AddControllers()B
builder.Services.AddRazorPages()C
builder.Services.AddMvc()D
builder.Services.AddViews()Lời giải
Mở trang câu hỏi này →Để đă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.
Consider this C# code:4 lựa chọncó code
public class Worker : BackgroundService {
protected override Task ExecuteAsync(CancellationToken stoppingToken) {
return Task.CompletedTask;
}
}What is ExecuteAsync?
AThe entry point for background execution.
BThe constructor.
CA logging method.
DA thread initializer.
Lời giải
Mở trang câu hỏi này →Trong mã nguồn C#, ExecuteAsync là phương thức được sử dụng để thực hiện các tác vụ nền (background tasks). Nó là phương thức được gọi khi một đối tượng thực hiện các tác vụ nền (background service) được tạo ra. Phương thức này được sử dụng để thực hiện các tác vụ nền một cách độc lập và không ảnh hưởng đến luồng chính của chương trình. Trong ví dụ trên, Worker là một lớp thực hiện các tác vụ nền và ExecuteAsync là phương thức được sử dụng để thực hiện các tác vụ nền này. Phương thức ExecuteAsync được gọi khi Worker được tạo ra và nó sẽ thực hiện các tác vụ nền một cách độc lập.
AOnly works with GET requests
BMaps HTTP request data to PageModel properties
CMust always use TempData
DCannot bind form values
Lời giải
Mở trang câu hỏi này →Model Binding trong Razor Pages là một tính năng cho phép ánh xạ dữ liệu từ yêu cầu HTTP đến các thuộc tính của PageModel. Điều này cho phép bạn dễ dàng lấy dữ liệu từ yêu cầu HTTP và sử dụng nó trong trang Razor Pages của mình. Ví dụ, nếu bạn có một trang Razor Pages với một form và bạn muốn lấy dữ liệu từ form đó, bạn có thể sử dụng Model Binding để ánh xạ dữ liệu từ form đến các thuộc tính của PageModel. Điều này giúp giảm thiểu mã code và làm cho trang Razor Pages của bạn trở nên dễ dàng hơn để quản lý.
What is a "network protocol"?4 lựa chọn
AA physical network device.
BA set of rules governing data communication.
CA network security measure.
DA type of network cable.
Lời giải
Mở trang câu hỏi này →Một giao thức mạng (network protocol) là một tập hợp các quy tắc và tiêu chuẩn được sử dụng để quản lý và điều khiển việc truyền tải dữ liệu qua mạng. Nó giúp đảm bảo rằng dữ liệu được truyền đi một cách chính xác và hiệu quả. Giao thức mạng bao gồm các quy tắc về cách thức truyền tải dữ liệu, cách thức xử lý lỗi, cách thức quản lý lưu lượng và cách thức đảm bảo an toàn cho dữ liệu. Ví dụ, giao thức TCP/IP là một giao thức mạng phổ biến được sử dụng để truyền tải dữ liệu qua internet.
AA global application configuration.
BA request-specific database context in a web application.
CA stateless utility service.
DA single instance of a logger.
Lời giải
Mở trang câu hỏi này →Một dịch vụ có thời gian sống đượcScoped là một dịch vụ có thể được tạo mới và hủy bỏ trong mỗi yêu cầu. Ví dụ về một tình huống nơi một dịch vụ có thời gian sống đượcScoped sẽ phù hợp là khi bạn cần một đối tượng cơ sở dữ liệu cụ thể cho mỗi yêu cầu trong một ứng dụng web. Điều này có thể giúp ngăn chặn các vấn đề về đồng bộ hóa và đảm bảo rằng mỗi yêu cầu có một đối tượng cơ sở dữ liệu độc lập.
Consider this C# code:4 lựa chọncó code
public class EmailWorker : BackgroundService {
protected override async Task ExecuteAsync(CancellationToken stoppingToken) {
while (!stoppingToken.IsCancellationRequested) {
SendEmails();
await Task.Delay(60000, stoppingToken);
}
}
}What does this service do?
ASends emails every minute.
BSends emails once.
CLogs emails only.
DIgnores shutdown signals.
Lời giải
Mở trang câu hỏi này →Dịch vụ EmailWorker được triển khai dựa trên lớp BackgroundService trong C#. Lớp này thực hiện việc gửi email một cách lặp đi lặp lại. Trong phương thức ExecuteAsync, dịch vụ này sẽ tiếp tục gửi email cho đến khi nhận được tín hiệu hủy bỏ. Trong mỗi vòng lặp, dịch vụ sẽ gọi phương thức SendEmails để gửi email và sau đó chờ 1 phút trước khi tiếp tục. Điều này cho thấy dịch vụ sẽ gửi email mỗi phút một lần.
ATo specify a database connection.
BTo specify that an action method handles HTTP POST requests.
CTo encrypt data.
DTo manage user sessions.
Lời giải
Mở trang câu hỏi này →Trong ASP.NET Core MVC, [HttpPost] là một thuộc tính được sử dụng để chỉ định phương thức hành động (action method) sẽ xử lý yêu cầu HTTP POST. Khi một yêu cầu HTTP POST được gửi đến ứng dụng, [HttpPost] sẽ giúp xác định phương thức hành động nào sẽ được thực hiện để xử lý yêu cầu này. Điều này cho phép nhà phát triển có thể kiểm soát và quản lý các yêu cầu HTTP POST một cách hiệu quả. Ngoài ra, [HttpPost] cũng giúp ngăn chặn các yêu cầu HTTP POST không mong muốn từ được xử lý bởi các phương thức hành động khác. Vì vậy, [HttpPost] là một công cụ quan trọng trong việc xây dựng các ứng dụng web dựa trên ASP.NET Core MVC.
AOnly for the duration of an HTTP request.
BUntil the application is manually stopped.
COnly for the duration of a database transaction.
DOnly for the duration of a user session.
Lời giải
Mở trang câu hỏi này →Một Worker Service trong ASP.NET Core là một loại ứng dụng web không tương tác, chạy nền và không có giao diện người dùng. Nó được sử dụng để thực hiện các tác vụ lặp đi lặp lại, chẳng hạn như gửi email, cập nhật dữ liệu cơ sở dữ liệu hoặc thực hiện các tác vụ khác mà không cần tương tác với người dùng. Thời gian tồn tại của một Worker Service thường kéo dài cho đến khi ứng dụng được dừng lại thủ công. Điều này có nghĩa là Worker Service sẽ tiếp tục chạy cho đến khi ứng dụng được dừng lại hoặc bị lỗi. Điều này cho phép Worker Service thực hiện các tác vụ lặp đi lặp lại mà không cần phải khởi động lại sau mỗi lần thực hiện.
What are Hub filters in SignalR?4 lựa chọn
ADatabase query filters.
BMiddleware components that can intercept and modify hub method invocations.
CCSS style filters.
DJavaScript event filters.
Lời giải
Mở trang câu hỏi này →Trong SignalR, Hub filters là các thành phần trung gian có thể chặn và sửa đổi các phương thức hub. Chúng cho phép bạn thực hiện các hành động trước và sau khi gọi phương thức hub, chẳng hạn như xác thực người dùng, kiểm tra quyền truy cập, hoặc thậm chí là thay đổi dữ liệu được gửi qua mạng. Hub filters hoạt động như các lớp trung gian giữa các phương thức hub và các phương thức thực thi, cho phép bạn tách biệt logic kinh doanh khỏi logic mạng. Điều này giúp bạn dễ dàng quản lý và bảo trì các ứng dụng SignalR phức tạp hơn.
What is MessagePack?4 lựa chọn
AA database query language.
BA binary serialization format used by SignalR.
CA JavaScript library.
DA network protocol.
Lời giải
Mở trang câu hỏi này →MessagePack là một định dạng serialize binary được sử dụng để chuyển đổi dữ liệu giữa các ngôn ngữ lập trình khác nhau. Nó được thiết kế để có kích thước nhỏ và tốc độ nhanh chóng, giúp giảm thiểu thời gian truyền dữ liệu qua mạng. MessagePack được sử dụng rộng rãi trong các ứng dụng cần truyền tải dữ liệu nhanh chóng và hiệu quả, chẳng hạn như SignalR, một thư viện truyền thông thực thời gian cho ASP.NET. Nó cũng được sử dụng trong các ứng dụng khác như Node.js và Python. MessagePack có thể serialize các dữ liệu phức tạp như mảng, đối tượng và chuỗi, giúp giảm thiểu thời gian truyền dữ liệu và tăng hiệu suất ứng dụng.
ABy writing CSS styles.
BBy using JavaScript event listeners on the connection object.
CBy using static HTML files.
DBy using database queries.
Lời giải
Mở trang câu hỏi này →Để xử lý sự kiện cho một kết nối SignalR trên phía client, bạn cần sử dụng JavaScript. Bạn có thể sử dụng phương thức on() để đăng ký một sự kiện và phương thức off() để hủy đăng ký. Ví dụ, bạn có thể sử dụng phương thức on('connected', function() { ... }) để đăng ký một sự kiện khi kết nối được thiết lập thành công. Ngoài ra, bạn cũng có thể sử dụng phương thức on('reconnected', function() { ... }) để đăng ký một sự kiện khi kết nối được phục hồi sau khi bị mất kết nối. Điều này cho phép bạn thực hiện các hành động cụ thể khi kết nối thay đổi trạng thái.
A[Compare]
B[Required]
C[StringLength]
D[Range]
Lời giải
Mở trang câu hỏi này →Để xác minh hai thuộc tính trong một mô hình khớp nhau, bạn cần sử dụng thuộc tính [Compare]. Ví dụ, khi bạn muốn đảm bảo rằng mật khẩu và xác nhận mật khẩu phải trùng nhau, bạn có thể sử dụng [Compare] để thực hiện việc này. Ngoài ra, [Compare] cũng có thể được sử dụng để xác minh các thuộc tính khác như email hoặc số điện thoại.
ATo encrypt network traffic.
BTo translate hostnames into IP addresses.
CTo manage network security.
DTo route network packets.
Lời giải
Mở trang câu hỏi này →Hệ thống tên miền (DNS) là một cơ sở dữ liệu phân tán được sử dụng để ánh xạ tên miền vào địa chỉ IP. Khi bạn nhập địa chỉ URL vào trình duyệt, DNS sẽ chuyển đổi tên miền thành địa chỉ IP tương ứng, cho phép thiết bị của bạn kết nối với máy chủ web. Điều này giúp người dùng dễ dàng nhớ và truy cập vào các trang web bằng tên miền dễ đọc hơn so với địa chỉ IP phức tạp.
A.cshtml
B.razor
C.aspx
D.html
Lời giải
Mở trang câu hỏi này →Câu hỏi này yêu cầu bạn chọn file extension phù hợp cho các file Razor Page. Razor Page là một loại file trong ASP.NET Core, được sử dụng để tạo các trang web động. Câu trả lời đúng là .cshtml, vì nó là file extension tiêu chuẩn cho các file Razor Page. Các file .cshtml chứa mã C# và HTML, giúp tạo ra các trang web động phức tạp. Các file .razor cũng có thể được sử dụng, nhưng nó không phải là file extension mặc định. Các file .aspx và .html không phù hợp cho các file Razor Page.
APhysically transfer files between computers
BIdentify a resource on the internet or LAN
CEncrypt data during transmission
DDefine network hardware speed
Lời giải
Mở trang câu hỏi này →Một URI (Uniform Resource Identifier) chủ yếu được sử dụng để xác định một tài nguyên trên internet hoặc mạng LAN. Nó cung cấp một cách duy nhất để truy cập và tham chiếu đến tài nguyên này. Ví dụ, một URI có thể được sử dụng để truy cập một trang web, một tệp tin hoặc một dịch vụ mạng. URI giúp người dùng và máy tính xác định vị trí và tính chất của tài nguyên, từ đó có thể thực hiện các hành động như tải xuống, xem hoặc sử dụng tài nguyên đó. Trong khi các lựa chọn khác như truyền tệp tin, mã hóa dữ liệu và định nghĩa tốc độ mạng hardware không liên quan trực tiếp đến chức năng chính của URI.
AOn the server.
BIn the browser using WebAssembly.
CIn a separate desktop application.
DOn a mobile device.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: B. Trong Blazor WebAssembly, thời gian chạy .NET được biên dịch sang WebAssembly và tải về trình duyệt, nên toàn bộ mã C# thực thi NGAY TRONG TRÌNH DUYỆT ở phía máy khách. Nhờ vậy ứng dụng chạy được cả khi ngoại tuyến và không tốn kết nối thường trực tới máy chủ, đổi lại tải về ban đầu lớn hơn và mã có thể bị xem xét từ phía người dùng. Chạy trên máy chủ (A) là mô hình Blazor Server; C và D mô tả những môi trường thực thi không đúng với Blazor WebAssembly.
Đi tiếp từ đây
Kỳ khác cùng môn
Spring 2026Về lát
Thi lại · PRN222