Thi lại · PRN222 · Spring 2026
Ôn tập thi lại PRN222 Spring 2026
50 câu gom từ 1 đề ôn của kỳ Spring 2026.
Đề gốc
Bấm để làm trọn một đề thay vì tra từng câu
50 câu hỏi
Trang 3 / 3ABuilding desktop applications.
BBuilding page-centric web applications with simplified development.
CBuilding mobile applications.
DBuilding database management systems.
Lời giải
Mở trang câu hỏi này →ASP.NET Core Razor Pages là một framework được sử dụng để xây dựng các ứng dụng web tập trung vào trang (page-centric) với quy trình phát triển được đơn giản hóa. Mục đích chính của nó là cung cấp một cách tiếp cận linh hoạt và dễ sử dụng để xây dựng các ứng dụng web, cho phép các nhà phát triển tập trung vào việc xây dựng các trang web và chức năng của chúng, thay vì phải lo lắng về các chi tiết kỹ thuật. Với Razor Pages, các nhà phát triển có thể tạo ra các ứng dụng web nhanh chóng và hiệu quả, đồng thời cũng có thể tận dụng được các tính năng và công nghệ tiên tiến của ASP.NET Core.
AThey are available across multiple requests.
BThey are only available within the current view.
CThey are available between the controller action and the corresponding view.
DThey are available across all controllers and views.
Lời giải
Mở trang câu hỏi này →ViewBag và ViewData là hai đối tượng được sử dụng để truyền dữ liệu từ controller sang view trong ASP.NET. Chúng được sử dụng để lưu trữ dữ liệu tạm thời trong quá trình xử lý yêu cầu. Câu hỏi này hỏi về phạm vi của hai đối tượng này. Chọn đáp án đúng: Chúng có sẵn giữa hành động controller và view tương ứng.
ViewBag và ViewData đều là các đối tượng được sử dụng để truyền dữ liệu từ controller sang view. Chúng được sử dụng để lưu trữ dữ liệu tạm thời trong quá trình xử lý yêu cầu. Chúng không được lưu trữ trong session hoặc database, mà chỉ được lưu trữ trong quá trình xử lý yêu cầu. Vì vậy, chúng không có sẵn giữa các yêu cầu khác nhau. Chúng cũng không có sẵn giữa các controller và view khác nhau. Chúng chỉ có sẵn giữa hành động controller và view tương ứng. Điều này có nghĩa là dữ liệu được lưu trữ trong ViewBag và ViewData sẽ bị xóa sau khi view được tải lên và không thể truy cập được trong các yêu cầu khác nhau.
Consider this C# code:4 lựa chọncó code
public IActionResult Next() {
var msg = TempData["Message"];
var again = TempData["Message"];
return Content($"{msg} | {again}");
}If TempData["Message"] = "Hi"; was set in the previous request, what is displayed?
AHi | Hi
BHi | null
Cnull | null
DError
Lời giải
Mở trang câu hỏi này →Khi thực hiện yêu cầu trước đó, TempData['Message'] đã được gán giá trị 'Hi'. Trong phương thức Next(), chúng ta đang truy xuất giá trị này và gán nó vào biến msg và lại. Sau đó, chúng ta sử dụng Content() để trả về nội dung của phương thức. Nội dung này sẽ là kết hợp của msg và lại. Vì TempData['Message'] đã được gán giá trị 'Hi' trước đó, nên giá trị của msg và lại sẽ đều là 'Hi'. Do đó, nội dung trả về sẽ là 'Hi | Hi'.
ATo define CSS styles.
BTo write JavaScript code.
CTo write C# logic.
DTo define HTML structure.
Lời giải
Mở trang câu hỏi này →Trong Blazor, @code khối được sử dụng để viết logic C#. Nó cho phép bạn viết mã C# ngay trong thành phần Blazor mà không cần phải tạo một lớp riêng biệt. @code khối thường được sử dụng để thực hiện các hành động như gọi API, xử lý dữ liệu, và tương tác với cơ sở dữ liệu. Nó cũng cho phép bạn sử dụng các thuộc tính và phương thức để quản lý trạng thái của thành phần. Ngoài ra, @code khối còn cho phép bạn sử dụng các thư viện và framework .NET để thực hiện các tác vụ phức tạp. Tóm lại, @code khối là một công cụ mạnh mẽ trong Blazor giúp bạn viết logic C# một cách dễ dàng và hiệu quả.
ATo replace MVC controllers.
BTo create a long-running background service.
CTo manage static website hosting.
DTo handle UI rendering.
Lời giải
Mở trang câu hỏi này →Một Worker Service trong .NET là một loại ứng dụng nền tảng được thiết kế để chạy trong nền và thực hiện các tác vụ dài hạn mà không cần tương tác trực tiếp với người dùng. Mục đích chính của một Worker Service là tạo ra các dịch vụ nền tảng có thể chạy trong thời gian dài mà không bị gián đoạn, chẳng hạn 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 tương tác trực tiếp. Điều này giúp tăng cường hiệu suất và giảm tải cho ứng dụng web chính.
AConstructor Injection
BSetter Injection
CMethod Injection
DDatabase Injection
Lời giải
Mở trang câu hỏi này →Tùy chọn không phải là loại Dependency Injection là Database Injection. Dependency Injection là một kỹ thuật lập trình giúp giảm sự phụ thuộc giữa các lớp và các thành phần trong một ứng dụng. Có ba loại Dependency Injection chính: Constructor Injection, Setter Injection và Method Injection.
Constructor Injection là kỹ thuật truyền đối tượng phụ thuộc vào một lớp thông qua phương thức constructor của lớp đó. Điều này giúp giảm sự phụ thuộc giữa các lớp và tăng tính linh hoạt của ứng dụng.
Setter Injection là kỹ thuật truyền đối tượng phụ thuộc vào một lớp thông qua phương thức setter của lớp đó. Điều này giúp giảm sự phụ thuộc giữa các lớp và tăng tính linh hoạt của ứng dụng.
Method Injection là kỹ thuật truyền đối tượng phụ thuộc vào một lớp thông qua phương thức khác của lớp đó. Điều này giúp giảm sự phụ thuộc giữa các lớp và tăng tính linh hoạt của ứng dụng.
Database Injection là một kỹ thuật tấn công bảo mật, không phải là một loại Dependency Injection. Nó liên quan đến việc sử dụng mã SQL để tấn công các ứng dụng web và lấy được dữ liệu nhạy cảm.
A
onclickB
onpressC
onselectD
onactivateLời giải
Mở trang câu hỏi này →Khi một nút được nhấp vào, sự kiện được kích hoạt là sự kiện onclick. Sự kiện onclick là một thuộc tính của HTML và JavaScript, được sử dụng để thực hiện một hành động khi một nút hoặc một phần tử khác được nhấp vào. Nó cho phép bạn viết mã JavaScript để thực hiện một hành động cụ thể khi nút được nhấp vào. Ví dụ, bạn có thể sử dụng sự kiện onclick để hiển thị một thông báo, thực hiện một chức năng tính toán, hoặc chuyển hướng đến một trang web khác. Sự kiện onclick rất phổ biến và được sử dụng rộng rãi trong việc tạo ra các ứng dụng web và di động.
Dependency Inversion Principle states:4 lựa chọn
AHigh-level modules should depend on low-level modules
BBoth high-level and low-level modules should depend on abstractions
CAbstractions should depend on details
DInterfaces should depend on classes
Lời giải
Mở trang câu hỏi này →Sự nguyên tắc phụ thuộc ngược (Dependency Inversion Principle) là một nguyên tắc thiết kế quan trọng trong lập trình hướng đối tượng. Nó cho rằng các mô-đun cao cấp (high-level modules) và mô-đun thấp cấp (low-level modules) nên phụ thuộc vào các abstraction (tính trừu tượng) chứ không phải vào nhau. Điều này có nghĩa là thay vì các mô-đun cao cấp phụ thuộc vào các mô-đun thấp cấp cụ thể, chúng nên phụ thuộc vào các interface hoặc abstraction chung. Điều này giúp giảm sự phụ thuộc giữa các mô-đun và tăng tính linh hoạt, dễ dàng thay đổi và mở rộng hệ thống.
A
IDisposableB
IWorkerC
IHostedServiceD
IControllerLời giải
Mở trang câu hỏi này →BackgroundService là một lớp trong .NET Core được sử dụng để tạo các dịch vụ chạy nền. Nó thực hiện một số giao diện quan trọng, bao gồm IHostedService. Giao diện IHostedService cho phép các dịch vụ chạy nền được quản lý và khởi động bởi IWebHost. Điều này cho phép các dịch vụ chạy nền được khởi động và dừng cùng với ứng dụng. Ngoài ra, giao diện IHostedService cũng cung cấp các phương thức như StartAsync và StopAsync để quản lý trạng thái của dịch vụ chạy nền. Vì vậy, khi nói về giao diện mà BackgroundService thực hiện nội bộ, câu trả lời chính xác là IHostedService.
ATo define a database connection.
BTo define a property that can be set from a parent component.
CTo encrypt data.
DTo manage user sessions.
Lời giải
Mở trang câu hỏi này →Trong Blazor, [Parameter] là một thuộc tính quan trọng được sử dụng để định nghĩa một thuộc tính có thể được thiết lập từ một thành phần cha. Khi một thành phần con sử dụng [Parameter], nó cho phép thành phần cha truyền giá trị cho thuộc tính đó. Điều này giúp tăng cường khả năng tương tác giữa các thành phần trong ứng dụng Blazor. Ví dụ, nếu bạn có một thành phần cha chứa một danh sách dữ liệu và muốn truyền danh sách đó cho thành phần con để hiển thị, bạn có thể sử dụng [Parameter] để định nghĩa thuộc tính nhận danh sách dữ liệu. Điều này giúp giảm thiểu mã nguồn và tăng cường khả năng tái sử dụng.
Đi tiếp từ đây
Kỳ khác cùng môn
Summer 2026Về lát
Thi lại · PRN222