Bài Tập, Đề Thi Trắc Nghiệm Online – Môn Lập Trình .net – Đề 01

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Môn Lập Trình .net

Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net - Đề 01

Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net - Đề 01 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong .NET, Common Language Runtime (CLR) chịu trách nhiệm chính cho việc gì?

  • A. Biên dịch mã nguồn C# thành mã máy trực tiếp.
  • B. Quản lý việc thực thi mã byte trung gian (IL) và cung cấp các dịch vụ runtime.
  • C. Cung cấp một tập hợp các thư viện lớp cơ sở cho phát triển ứng dụng.
  • D. Xử lý giao tiếp mạng và quản lý các giao thức web.

Câu 2: Kiểu dữ liệu `Nullable` (hoặc `T?` trong C#) trong .NET Framework giải quyết vấn đề gì?

  • A. Tăng hiệu suất xử lý số liệu lớn.
  • B. Đảm bảo tính toàn vẹn dữ liệu trong các phép toán số học.
  • C. Cho phép các kiểu dữ liệu giá trị (value types) có thể đại diện cho trạng thái "không có giá trị" (null).
  • D. Hỗ trợ đa luồng và lập trình bất đồng bộ.

Câu 3: Cho đoạn mã C# sau: `var numbers = new List { 1, 2, 3, 4, 5 }; var evenNumbers = numbers.Where(n => n % 2 == 0);`. `evenNumbers` trong đoạn mã trên là kiểu dữ liệu gì và nó chứa những giá trị nào?

  • A. `List` và chứa `{ 2, 4 }`
  • B. `IEnumerable` và chứa `{ 2, 4 }` (khi được duyệt)
  • C. `IQueryable` và chứa `{ 2, 4 }`
  • D. `int[]` và chứa `{ 2, 4 }`

Câu 4: Phương thức mở rộng (Extension Method) trong C# cho phép bạn làm gì?

  • A. Thêm phương thức mới vào một lớp (class) đã tồn tại mà không cần sửa đổi lớp đó trực tiếp.
  • B. Thay đổi hành vi của các phương thức hiện có trong một lớp.
  • C. Tạo ra một lớp con (derived class) từ một lớp cha (base class).
  • D. Ẩn đi các phương thức không mong muốn của một lớp.

Câu 5: Trong lập trình hướng đối tượng với C#, "tính đa hình" (Polymorphism) mang lại lợi ích chính nào?

  • A. Tăng cường tính bảo mật của dữ liệu.
  • B. Giảm thiểu sự phụ thuộc giữa các thành phần của chương trình.
  • C. Nâng cao hiệu suất thực thi của ứng dụng.
  • D. Cho phép các đối tượng thuộc các lớp khác nhau phản ứng khác nhau với cùng một thông điệp (phương thức).

Câu 6: Khi nào bạn nên sử dụng `struct` thay vì `class` trong C#?

  • A. Khi bạn cần kế thừa từ một kiểu khác.
  • B. Khi bạn cần một kiểu dữ liệu nhỏ, nhẹ, và chủ yếu chứa dữ liệu (data-centric).
  • C. Khi bạn cần quản lý vòng đời đối tượng một cách phức tạp.
  • D. Khi bạn cần sử dụng đa hình và các tính năng hướng đối tượng nâng cao.

Câu 7: Hãy xem xét đoạn code C# sau: `async Task DoWorkAsync() { await Task.Delay(100); return 42; }`. Từ khóa `async` và `await` trong phương thức này được sử dụng để làm gì?

  • A. Đảm bảo phương thức `DoWorkAsync` được thực thi đồng bộ.
  • B. Tạo ra một luồng (thread) mới để thực thi phương thức song song.
  • C. Cho phép phương thức thực thi bất đồng bộ và không chặn luồng gọi.
  • D. Tối ưu hóa hiệu suất bộ nhớ của ứng dụng.

Câu 8: Dependency Injection (DI) là một nguyên tắc thiết kế quan trọng trong .NET. Mục đích chính của DI là gì?

  • A. Giảm sự phụ thuộc (coupling) giữa các thành phần trong ứng dụng.
  • B. Tăng tốc độ biên dịch của ứng dụng .NET.
  • C. Đơn giản hóa việc quản lý bộ nhớ.
  • D. Cải thiện hiệu suất giao tiếp mạng.

Câu 9: Trong ASP.NET Core, Middleware là gì và vai trò của nó trong pipeline xử lý request?

  • A. Một cơ chế để xác thực và ủy quyền người dùng trong ứng dụng web.
  • B. Các thành phần phần mềm tạo thành pipeline xử lý HTTP request trong ASP.NET Core.
  • C. Một loại controller đặc biệt để xử lý các request tĩnh (static files).
  • D. Công cụ để tạo và quản lý database migrations trong Entity Framework Core.

Câu 10: Entity Framework Core (EF Core) là một ORM (Object-Relational Mapper) cho .NET. Chức năng chính của EF Core là gì?

  • A. Tối ưu hóa hiệu suất truy vấn SQL trong ứng dụng .NET.
  • B. Cung cấp một giao diện người dùng để quản lý cơ sở dữ liệu.
  • C. Cho phép tương tác với cơ sở dữ liệu thông qua các đối tượng .NET, giảm thiểu việc viết mã SQL trực tiếp.
  • D. Bảo vệ ứng dụng khỏi các tấn công SQL injection.

Câu 11: Trong C#, sự khác biệt chính giữa `interface` và `abstract class` là gì?

  • A. Interface có thể chứa các trường (fields), còn abstract class thì không.
  • B. Abstract class hỗ trợ đa kế thừa, còn interface thì không.
  • C. Interface có thể có constructor, còn abstract class thì không.
  • D. Interface chỉ định nghĩa "hợp đồng" (signatures) mà không chứa implementation, abstract class có thể chứa implementation.

Câu 12: Garbage Collection (GC) trong .NET Framework hoạt động như thế nào?

  • A. GC yêu cầu lập trình viên phải chủ động giải phóng bộ nhớ bằng từ khóa `delete`.
  • B. GC là một tiến trình tự động thu hồi bộ nhớ không còn được ứng dụng tham chiếu đến.
  • C. GC chỉ hoạt động khi bộ nhớ vật lý của hệ thống gần đầy.
  • D. GC chỉ thu hồi bộ nhớ của các đối tượng kiểu giá trị (value types).

Câu 13: NuGet Package Manager được sử dụng để làm gì trong phát triển .NET?

  • A. Biên dịch mã nguồn C# thành mã byte trung gian (IL).
  • B. Gỡ lỗi ứng dụng .NET.
  • C. Quản lý các thư viện và gói phần mềm bên ngoài (dependencies) cho dự án .NET.
  • D. Triển khai ứng dụng .NET lên môi trường production.

Câu 14: Trong C#, từ khóa `sealed` được sử dụng để làm gì khi khai báo một lớp (class)?

  • A. Đảm bảo rằng lớp chỉ có thể được truy cập trong cùng một assembly.
  • B. Ngăn không cho lớp bị thay đổi sau khi biên dịch.
  • C. Tạo ra một lớp tĩnh (static class).
  • D. Ngăn không cho các lớp khác kế thừa từ lớp này.

Câu 15: Bạn cần chọn kiểu dự án ASP.NET Core nào nếu muốn xây dựng một ứng dụng web API RESTful?

  • A. ASP.NET Core Web API
  • B. ASP.NET Core MVC
  • C. ASP.NET Core Razor Pages
  • D. ASP.NET Core Blazor Server

Câu 16: Trong mô hình MVC (Model-View-Controller) của ASP.NET Core MVC, Controller có vai trò gì?

  • A. Đại diện cho dữ liệu và logic nghiệp vụ của ứng dụng.
  • B. Xử lý request từ người dùng, tương tác với Model và chọn View để trả về response.
  • C. Định nghĩa giao diện người dùng và hiển thị dữ liệu cho người dùng.
  • D. Quản lý routing và URL của ứng dụng.

Câu 17: Razor Pages trong ASP.NET Core là gì và nó khác biệt như thế nào so với MVC?

  • A. Razor Pages là một phiên bản nâng cấp của MVC, tích hợp nhiều tính năng hơn.
  • B. Razor Pages là một framework JavaScript tích hợp trong ASP.NET Core.
  • C. Razor Pages là một mô hình lập trình hướng trang, đơn giản hóa việc xây dựng UI, khác với MVC hướng component.
  • D. Razor Pages chỉ được sử dụng cho các ứng dụng web tĩnh, không hỗ trợ tương tác người dùng.

Câu 18: Unit testing là một phần quan trọng của quy trình phát triển phần mềm. Mục đích chính của unit testing là gì?

  • A. Kiểm tra hiệu suất tổng thể của ứng dụng.
  • B. Kiểm tra giao diện người dùng (UI) của ứng dụng.
  • C. Kiểm tra tích hợp giữa các module khác nhau của ứng dụng.
  • D. Kiểm tra các đơn vị mã nguồn nhỏ nhất (ví dụ: phương thức, lớp) một cách độc lập.

Câu 19: Cho đoạn code C# sau: `var result = 5 +

  • A. `15` và kiểu `int`
  • B.
  • D. Lỗi biên dịch vì không thể cộng số với chuỗi trực tiếp.

Câu 20: Attribute trong C# được sử dụng để làm gì?

  • A. Định nghĩa các thuộc tính của một lớp (class properties).
  • B. Thực hiện kiểm soát truy cập (access control) cho các thành viên của lớp.
  • C. Cung cấp metadata (siêu dữ liệu) cho các thành phần mã nguồn như lớp, phương thức, thuộc tính.
  • D. Tối ưu hóa hiệu suất thực thi của mã.

Câu 21: Delegates và Events trong C# được sử dụng để thực hiện mẫu thiết kế (design pattern) nào?

  • A. Observer (Publisher-Subscriber)
  • B. Singleton
  • C. Factory
  • D. Strategy

Câu 22: Boxing và Unboxing là gì trong C# và khi nào chúng xảy ra?

  • A. Boxing và Unboxing là quá trình mã hóa và giải mã dữ liệu để bảo mật.
  • B. Boxing là chuyển đổi kiểu giá trị (value type) sang kiểu tham chiếu (reference type), Unboxing là quá trình ngược lại.
  • C. Boxing là quá trình đóng gói ứng dụng để triển khai, Unboxing là quá trình giải nén ứng dụng.
  • D. Boxing và Unboxing liên quan đến việc quản lý bộ nhớ cache trong ứng dụng.

Câu 23: Phương thức `Dispose()` và interface `IDisposable` được sử dụng để làm gì trong .NET?

  • A. Để tối ưu hóa hiệu suất Garbage Collection.
  • B. Để quản lý bộ nhớ một cách thủ công.
  • C. Để giải phóng tài nguyên không được quản lý bởi Garbage Collector (ví dụ: file handles, database connections).
  • D. Để kiểm soát truy cập vào các đối tượng.

Câu 24: Trong C#, `var` keyword được sử dụng để khai báo biến. Vậy kiểu dữ liệu của biến được xác định như thế nào khi sử dụng `var`?

  • A. Kiểu dữ liệu của biến được xác định tại thời gian runtime.
  • B. Kiểu dữ liệu mặc định là `object`.
  • C. Lập trình viên phải khai báo kiểu dữ liệu một cách rõ ràng ngay sau `var`.
  • D. Kiểu dữ liệu được suy luận bởi trình biên dịch dựa trên biểu thức khởi tạo bên phải.

Câu 25: LINQ (Language Integrated Query) cung cấp khả năng truy vấn dữ liệu từ nhiều nguồn khác nhau. Nguồn dữ liệu nào sau đây không phải là nguồn dữ liệu LINQ có thể truy vấn trực tiếp?

  • A. Collections (ví dụ: List, Array)
  • B. XML documents
  • C. API của bên thứ ba không có LINQ provider
  • D. Cơ sở dữ liệu quan hệ (ví dụ: SQL Server) thông qua Entity Framework Core

Câu 26: Async Streams ( `IAsyncEnumerable`) trong C# 8.0 và mới hơn giải quyết vấn đề gì mà `IEnumerable` và `Task>` không thể?

  • A. Tăng hiệu suất xử lý dữ liệu đồng bộ.
  • B. Xử lý luồng dữ liệu bất đồng bộ một cách hiệu quả, từng phần tử một, tiết kiệm bộ nhớ.
  • C. Đơn giản hóa việc tạo ra các truy vấn LINQ phức tạp.
  • D. Cải thiện khả năng mở rộng của ứng dụng web.

Câu 27: Trong ASP.NET Core, appsettings.json thường được sử dụng để làm gì?

  • A. Lưu trữ mã nguồn của ứng dụng.
  • B. Định nghĩa giao diện người dùng (UI) của ứng dụng.
  • C. Lưu trữ các cấu hình ứng dụng như connection strings, logging settings, và các thiết lập môi trường.
  • D. Quản lý các NuGet packages cho dự án.

Câu 28: Tính năng Hot Reload trong .NET (từ .NET 6 trở đi) mang lại lợi ích gì trong quá trình phát triển ứng dụng?

  • A. Cho phép thay đổi mã nguồn và thấy kết quả ngay lập tức trong khi ứng dụng đang chạy, giảm thời gian build và restart.
  • B. Tự động sửa lỗi mã nguồn trong quá trình phát triển.
  • C. Tối ưu hóa hiệu suất ứng dụng trong môi trường production.
  • D. Đơn giản hóa quá trình triển khai ứng dụng.

Câu 29: Bạn cần sử dụng công cụ nào của .NET CLI để tạo một dự án ASP.NET Core Web API mới?

  • A. `dotnet create webapi`
  • B. `dotnet new webapi`
  • C. `dotnet generate webapi`
  • D. `dotnet add webapi`

Câu 30: Giả sử bạn có một ứng dụng ASP.NET Core và muốn triển khai nó lên Docker. Bạn cần thực hiện bước quan trọng nào để đảm bảo ứng dụng chạy đúng trong container Docker?

  • A. Chỉ cần copy mã nguồn vào Docker image.
  • B. Cài đặt .NET SDK trong Docker image.
  • C. Chạy lệnh `dotnet run` trong Docker container.
  • D. Publish ứng dụng .NET Core (sử dụng `dotnet publish`) và copy output vào Docker image.

1 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 1: Trong .NET, Common Language Runtime (CLR) chịu trách nhiệm chính cho việc gì?

2 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 2: Kiểu dữ liệu `Nullable` (hoặc `T?` trong C#) trong .NET Framework giải quyết vấn đề gì?

3 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 3: Cho đoạn mã C# sau: `var numbers = new List { 1, 2, 3, 4, 5 }; var evenNumbers = numbers.Where(n => n % 2 == 0);`. `evenNumbers` trong đoạn mã trên là kiểu dữ liệu gì và nó chứa những giá trị nào?

4 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 4: Phương thức mở rộng (Extension Method) trong C# cho phép bạn làm gì?

5 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 5: Trong lập trình hướng đối tượng với C#, 'tính đa hình' (Polymorphism) mang lại lợi ích chính nào?

6 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 6: Khi nào bạn nên sử dụng `struct` thay vì `class` trong C#?

7 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 7: Hãy xem xét đoạn code C# sau: `async Task DoWorkAsync() { await Task.Delay(100); return 42; }`. Từ khóa `async` và `await` trong phương thức này được sử dụng để làm gì?

8 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 8: Dependency Injection (DI) là một nguyên tắc thiết kế quan trọng trong .NET. Mục đích chính của DI là gì?

9 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 9: Trong ASP.NET Core, Middleware là gì và vai trò của nó trong pipeline xử lý request?

10 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 10: Entity Framework Core (EF Core) là một ORM (Object-Relational Mapper) cho .NET. Chức năng chính của EF Core là gì?

11 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 11: Trong C#, sự khác biệt chính giữa `interface` và `abstract class` là gì?

12 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 12: Garbage Collection (GC) trong .NET Framework hoạt động như thế nào?

13 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 13: NuGet Package Manager được sử dụng để làm gì trong phát triển .NET?

14 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 14: Trong C#, từ khóa `sealed` được sử dụng để làm gì khi khai báo một lớp (class)?

15 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 15: Bạn cần chọn kiểu dự án ASP.NET Core nào nếu muốn xây dựng một ứng dụng web API RESTful?

16 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 16: Trong mô hình MVC (Model-View-Controller) của ASP.NET Core MVC, Controller có vai trò gì?

17 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 17: Razor Pages trong ASP.NET Core là gì và nó khác biệt như thế nào so với MVC?

18 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 18: Unit testing là một phần quan trọng của quy trình phát triển phần mềm. Mục đích chính của unit testing là gì?

19 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 19: Cho đoạn code C# sau: `var result = 5 + "10";`. Giá trị và kiểu dữ liệu của `result` là gì?

20 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 20: Attribute trong C# được sử dụng đ?? làm gì?

21 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 21: Delegates và Events trong C# được sử dụng để thực hiện mẫu thiết kế (design pattern) nào?

22 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 22: Boxing và Unboxing là gì trong C# và khi nào chúng xảy ra?

23 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 23: Phương thức `Dispose()` và interface `IDisposable` được sử dụng để làm gì trong .NET?

24 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 24: Trong C#, `var` keyword được sử dụng để khai báo biến. Vậy kiểu dữ liệu của biến được xác định như thế nào khi sử dụng `var`?

25 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 25: LINQ (Language Integrated Query) cung cấp khả năng truy vấn dữ liệu từ nhiều nguồn khác nhau. Nguồn dữ liệu nào sau đây *không phải* là nguồn dữ liệu LINQ có thể truy vấn trực tiếp?

26 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 26: Async Streams ( `IAsyncEnumerable`) trong C# 8.0 và mới hơn giải quyết vấn đề gì mà `IEnumerable` và `Task>` không thể?

27 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 27: Trong ASP.NET Core, appsettings.json thường được sử dụng để làm gì?

28 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 28: Tính năng Hot Reload trong .NET (từ .NET 6 trở đi) mang lại lợi ích gì trong quá trình phát triển ứng dụng?

29 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 29: Bạn cần sử dụng công cụ nào của .NET CLI để tạo một dự án ASP.NET Core Web API mới?

30 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 1

Câu 30: Giả sử bạn có một ứng dụng ASP.NET Core và muốn triển khai nó lên Docker. Bạn cần thực hiện bước quan trọng nào để đảm bảo ứng dụng chạy đúng trong container Docker?

Xem kết quả