PRN222DễKỳ 7Chuyên ngành Cập nhật 07/09/2026
Advanced Cross-Platform Application Programming With .NET - Lập trình ứng dụng đa nền tảng nâng cao với .NET
175Câu hỏi
4Bộ đề
8Chủ đề
5,01 đánh giá
Câu hỏi của môn
104/175 câuCòn 71
85What is the purpose of the PartialView in ASP.NET Core MVC?4 lựa chọnDễ100% trả lời đúng
ATo return a complete HTML page.
BTo return a reusable portion of a view.
CTo return a JSON response.
DTo redirect to another action.
Lời giải
Mở trang câu hỏi này →Trong ASP.NET Core MVC, PartialView được sử dụng để trả về một phần tái sử dụng của một view. Điều này có nghĩa là PartialView sẽ trả về một phần của HTML mà bạn có thể tái sử dụng trong nhiều trang khác nhau. Ví dụ, bạn có thể sử dụng PartialView để tạo ra một menu hoặc một phần header mà có thể được sử dụng trên nhiều trang khác nhau. PartialView được sử dụng khi bạn muốn tái sử dụng một phần của view mà không cần phải tạo ra một view hoàn chỉnh. Đ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.
86What are SignalR hubs used for?4 lựa chọnDễ100% trả lời đúng
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.
87Which approach is NOT supported in Razor Pages state management?4 lựa chọnTrung bình57% trả lời đúng
ATempData
BApplication Variables
CHibernate
DCookies
Lời giải
Mở trang câu hỏi này →Razor Pages cung cấp một số cách quản lý trạng thái, bao gồm TempData, Application Variables và Cookies. Tuy nhiên, Hibernate không phải là một trong những cách được hỗ trợ. Hibernate là một framework quản lý trạng thái trong các ứng dụng web, nhưng nó không được tích hợp trực tiếp vào Razor Pages. Thay vào đó, các nhà phát triển có thể sử dụng các cách quản lý trạng thái khác như TempData, Application Variables và Cookies để quản lý dữ liệu trong ứng dụng.
88What is the primary purpose of the Stream class in .NET networking?4 lựa chọnDễ100% trả lời đúng
ATo manage IP addresses.
BTo provide a sequence of bytes for reading or writing data.
CTo handle HTTP requests.
DTo establish TCP connections.
Lời giải
Mở trang câu hỏi này →Trong lập trình .NET, lớp Stream được sử dụng để quản lý một chuỗi các byte. Nó cung cấp một cách cơ bản để đọc hoặc ghi dữ liệu. Lớp Stream không chỉ giới hạn ở việc đọc hoặc ghi dữ liệu mà còn có thể được sử dụng để đọc hoặc ghi dữ liệu từ hoặc vào các nguồn khác nhau như tệp tin, mạng, hoặc các thiết bị ngoại vi. Nó cung cấp các phương thức cơ bản để đọc hoặc ghi dữ liệu, chẳng hạn như Read, Write, Seek, và Flush. Ngoài ra, lớp Stream cũng cung cấp các phương thức để kiểm tra xem dữ liệu đã được đọc hoặc ghi thành công hay chưa. Tóm lại, lớp Stream là một lớp cơ bản trong .NET mà cung cấp một cách cơ bản để quản lý và đọc hoặc ghi dữ liệu.
89What are Hub filters in SignalR?4 lựa chọnDễ100% trả lời đúng
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.
90What is the purpose of the Clients object in a SignalR hub?4 lựa chọnDễ100% trả lời đúng
ATo manage database connections.
BTo send messages to connected clients.
CTo encrypt data.
DTo manage user sessions.
Lời giải
Mở trang câu hỏi này →Mục đích của đối tượng Clients trong một hub SignalR là để quản lý các kết nối với các khách hàng đã kết nối. Đối tượng này cho phép bạn gửi tin nhắn đến các khách hàng cụ thể hoặc tất cả khách hàng đã kết nối. Điều này giúp bạn có thể tương tác với các khách hàng một cách linh hoạt và hiệu quả. Ví dụ, bạn có thể sử dụng đối tượng Clients để gửi thông báo đến tất cả khách hàng khi có một sự kiện xảy ra. Ngoài ra, bạn cũng có thể sử dụng nó để gửi tin nhắn riêng tư đến một khách hàng cụ thể. Tóm lại, đối tượng Clients là một công cụ quan trọng trong SignalR giúp bạn quản lý và tương tác với các khách hàng một cách hiệu quả.
91A URI (Uniform Resource Identifier) is primarily used to:4 lựa chọnDễ70% trả lời đúng
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.
92Which method is used to add a client to a SignalR group?4 lựa chọnDễ100% trả lời đúng
A
addToGroup()B
groupAdd()C
Groups.AddToGroupAsync()D
addClientToGroup()Lời giải
Mở trang câu hỏi này →Để thêm một khách hàng vào một nhóm SignalR, bạn cần sử dụng phương thức Groups.AddToGroupAsync(). Phương thức này cho phép bạn thêm một khách hàng vào một nhóm đã tồn tại. Bạn có thể sử dụng nó trong một ứng dụng SignalR để quản lý các nhóm và khách hàng. Ví dụ, bạn có thể sử dụng nó để thêm một khách hàng vào một nhóm khi họ đăng ký hoặc khi họ thực hiện một hành động cụ thể. Phương thức này rất hữu ích khi bạn cần quản lý các nhóm và khách hàng trong ứng dụng của mình.
93What is the purpose of the [Parameter] attribute in a Blazor component?4 lựa chọnDễ100% trả lời đúng
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.
94What does the term "hostname" refer to?4 lựa chọnDễ75% trả lời đúng
AA numerical IP address.
BA human-readable name for a network device.
CA network protocol.
DA network security certificate.
Lời giải
Mở trang câu hỏi này →Hostname là một tên gọi dễ đọc và dễ nhớ cho một thiết bị mạng. Nó được sử dụng để xác định và truy cập một thiết bị mạng trên internet. Ví dụ, khi bạn truy cập trang web của một công ty, bạn thường nhập tên miền của công ty vào trình duyệt, như google.com. Trong thực tế, trình duyệt của bạn sẽ chuyển tên miền này thành một địa chỉ IP cụ thể để kết nối với máy chủ web của công ty. Hostname giúp người dùng dễ dàng nhớ và nhập tên của một thiết bị mạng, thay vì phải nhớ địa chỉ IP phức tạp.
95What interface does BackgroundService implement internally?4 lựa chọnDễ80% trả lời đú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.
96Hyper-Threading technology was first introduced in which type of processors?4 lựa chọnTrung bình57% trả lời đúng
ACore i3
BXeon server processors
CPentium 4
DCore i7
Lời giải
Mở trang câu hỏi này →Công nghệ Hyper-Threading được giới thiệu lần đầu tiên trong các loại vi xử lý Xeon server processors. Công nghệ này cho phép mỗi lõi xử lý có thể thực hiện nhiều luồng xử lý cùng một lúc, giúp tăng hiệu suất và khả năng đa nhiệm của hệ thống. Xeon server processors là loại vi xử lý được thiết kế cho các máy chủ và hệ thống server, và công nghệ Hyper-Threading được sử dụng để tăng cường hiệu suất và khả năng xử lý dữ liệu của chúng. Điều này giúp các hệ thống server có thể xử lý nhiều tác vụ cùng một lúc, tăng cường hiệu suất và giảm thời gian chờ đợi.
97Which hosting models does Blazor support?4 lựa chọnDễ100% trả lời đúng
AAMVC and MVVM
BBlazor Server and Blazor WebAssembly
CREST and SOAP
DSignalR and gRPC
Lời giải
Mở trang câu hỏi này →Blazor hỗ trợ hai mô hình hosting chính là Blazor Server và Blazor WebAssembly. Blazor Server là mô hình hosting chạy ứng dụng Blazor trên máy chủ, giúp giảm tải công việc xử lý trên máy khách. Trong khi đó, Blazor WebAssembly là mô hình hosting chạy ứng dụng Blazor trên máy khách, giúp tăng tốc độ tải trang và cải thiện trải nghiệm người dùng. Cả hai mô hình hosting đều có ưu và nhược điểm riêng, nhưng đều hỗ trợ xây dựng ứng dụng web động và tương tác cao.
98Which of the following is true about the scope of ViewBag and ViewData?4 lựa chọnDễ100% trả lời đúng
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.
99Which DI pattern provides optional dependencies?4 lựa chọnTrung bình67% trả lời đúng
AConstructor Injection
BProperty Injection
CMethod Injection
DAmbient Context
Lời giải
Mở trang câu hỏi này →Mẫu thiết kế DI (Dependency Injection) cung cấp tùy chọn phụ thuộc là Property Injection. Trong Property Injection, phụ thuộc được cung cấp cho đối tượng thông qua thuộc tính của nó. Điều này cho phép phụ thuộc được cung cấp một cách linh hoạt và có thể được thay đổi trong thời gian chạy. Điều này đặc biệt hữu ích khi cần phải cung cấp phụ thuộc tùy thuộc vào tình huống cụ thể hoặc môi trường cụ thể. Ví dụ, một đối tượng có thể được thiết kế để sử dụng một cơ sở dữ liệu cụ thể trong môi trường sản xuất nhưng sử dụng một cơ sở dữ liệu khác trong môi trường thử nghiệm. Property Injection cho phép thực hiện điều này một cách dễ dàng và linh hoạt.
100Which base class is commonly used to implement a Worker Service?4 lựa chọnDễ100% trả lời đúng
A
ControllerBaseB
BackgroundServiceC
DbContextD
ViewComponentLời giải
Mở trang câu hỏi này →Để thực hiện một Worker Service, bạn thường sử dụng lớp cơ sở BackgroundService. Lớp này được thiết kế để chạy nền và thực hiện các tác vụ lặp đi lặp lại mà không cần tương tác trực tiếp với người dùng. BackgroundService cung cấp các phương thức như StartAsync và StopAsync để quản lý vòng đời của dịch vụ. Ngoài ra, nó cũng hỗ trợ các tính năng như đồng bộ hóa và lỗi để giúp bạn xây dựng các dịch vụ đáng tin cậy và hiệu quả.
101What is the purpose of the await keyword in C#?4 lựa chọnDễ100% trả lời đúng
ATo define a constant.
BTo pause execution until an asynchronous operation completes.
CTo create a new thread.
DTo handle exceptions.
Lời giải
Mở trang câu hỏi này →Từ khóa await trong C# được sử dụng để tạm dừng thực thi chương trình cho đến khi một hoạt động bất đồng bộ hoàn thành. Điều này giúp chương trình có thể tiếp tục thực thi các hoạt động khác trong khi chờ đợi kết quả của hoạt động bất đồng bộ. Khi sử dụng await, chương trình sẽ không bị đứng yên và chờ đợi kết quả của hoạt động bất đồng bộ, mà sẽ tiếp tục thực thi các hoạt động khác và khi kết quả của hoạt động bất đồng bộ sẵn sàng, chương trình sẽ tiếp tục thực thi từ điểm mà nó đã tạm dừng. Điều này giúp chương trình trở nên hiệu suất cao hơn và dễ dàng quản lý hơn.
102In C#, what is the primary role of the TaskScheduler class?4 lựa chọnDễ100% trả lời đúng
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.
103Which namespace does Task Parallel Library (TPL) belong to?4 lựa chọnDễ100% trả lời đúng
A
System.Threading.TasksB
System.LinqC
System.CollectionsD
System.IOLời giải
Mở trang câu hỏi này →Task Parallel Library (TPL) là một thư viện trong .NET Framework cho phép thực hiện các tác vụ song song và đồng bộ. Để sử dụng TPL, chúng ta cần sử dụng không gian tên System.Threading.Tasks. Không gian tên này cung cấp các lớp và phương thức để tạo và quản lý các tác vụ song song, chẳng hạn như Task, Parallel, ParallelOptions, v.v. Ngoài ra, không gian tên này cũng cung cấp các phương thức để đồng bộ các tác vụ, chẳng hạn như Wait, Result, v.v. Vì vậy, không gian tên System.Threading.Tasks là không gian tên mà Task Parallel Library (TPL) thuộc về.
104What is the Parallel.For method used for?4 lựa chọnTrung bình67% trả lời đúng
AAsynchronous file operations.
BExecuting a loop in parallel.
CHandling network requests.
DCreating user interfaces.
Lời giải
Mở trang câu hỏi này →Métodu Parallel.For được sử dụng để thực hiện một vòng lặp trong môi trường đa luồng. Nó cho phép bạn thực hiện một khối mã nhiều lần, đồng thời với nhau, trên nhiều luồng khác nhau. Điều này giúp tăng tốc độ thực hiện của chương trình, đặc biệt là khi xử lý dữ liệu lớn. Bạn có thể sử dụng Parallel.For để thực hiện các tác vụ như tính toán, sắp xếp dữ liệu, hoặc bất kỳ tác vụ nào khác có thể được thực hiện song song.