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

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 - Đề 08

Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net 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.
  • B. Quản lý bộ nhớ, thực thi mã byte trung gian và cung cấp các dịch vụ runtime.
  • C. Cung cấp các thư viện lớp cơ sở cho phát triển ứng dụng web.
  • D. Đảm bảo tính tương thích giữa các phiên bản .NET Framework khác nhau.

Câu 2: Cho đoạn mã C# sau: `int x = 10; object y = x; x = 20;`. Hỏi giá trị của `y` sau khi thực hiện đoạn mã trên là bao nhiêu?

  • A. 10
  • B. 20
  • C. Tham chiếu null
  • D. Gây ra lỗi biên dịch

Câu 3: Phương thức mở rộng (Extension method) trong C# được sử dụng để làm gì?

  • A. Thay thế các phương thức ảo trong lớp cơ sở.
  • B. Thêm các thuộc tính mới vào một lớp đã tồn tại.
  • C. Thêm phương thức mới vào một lớp đã tồn tại mà không cần sửa đổi lớp đó.
  • D. Tạo ra một lớp con (derived class) từ một lớp cha (base class).

Câu 4: Trong lập trình hướng đối tượng với C#, "tính đa hình" (Polymorphism) thể hiện rõ nhất qua cơ chế nào?

  • A. Tính đóng gói (Encapsulation)
  • B. Phương thức ảo (Virtual methods) và ghi đè (Override)
  • C. Tính kế thừa (Inheritance) đơn
  • D. Nạp chồng phương thức (Method overloading)

Câu 5: ADO.NET được sử dụng trong .NET Framework cho mục đích gì?

  • A. Xây dựng giao diện người dùng đồ họa (GUI).
  • B. Phát triển ứng dụng web ASP.NET.
  • C. Quản lý bộ nhớ và thu gom rác (garbage collection).
  • D. Truy cập và thao tác với dữ liệu từ các hệ quản trị cơ sở dữ liệu.

Câu 6: LINQ (Language Integrated Query) trong C# cung cấp khả năng truy vấn dữ liệu từ những nguồn nào?

  • A. Chỉ cơ sở dữ liệu quan hệ (SQL Server, Oracle).
  • B. Chỉ các tập tin XML.
  • C. Chỉ các đối tượng trong bộ nhớ (collections).
  • D. Nhiều nguồn dữ liệu khác nhau như cơ sở dữ liệu, XML, collections, và các nguồn dữ liệu tùy chỉnh.

Câu 7: Trong ASP.NET Core, Middleware (lớp trung gian) hoạt động như thế nào trong pipeline xử lý request?

  • A. Mỗi middleware xử lý request theo thứ tự được cấu hình, có thể can thiệp hoặc chuyển request đến middleware tiếp theo.
  • B. Middleware chỉ được thực thi sau khi request đã được xử lý hoàn toàn bởi controller.
  • C. Middleware hoạt động độc lập và không tương tác với nhau.
  • D. Middleware chỉ được sử dụng để xử lý lỗi và exception trong ứng dụng.

Câu 8: Dependency Injection (DI) container trong .NET Core giúp giải quyết vấn đề gì?

  • A. Tăng hiệu suất thực thi của ứng dụng.
  • B. Đơn giản hóa việc quản lý bộ nhớ.
  • C. Giảm sự phụ thuộc giữa các thành phần (loose coupling) và dễ dàng kiểm thử (testability).
  • D. Cải thiện bảo mật cho ứng dụng web.

Câu 9: Cho đoạn code C# sau: `async Task MyMethodAsync() { await Task.Delay(100); return 5; }`. Từ khóa `async` và `await` được sử dụng để làm gì?

  • A. Tạo ra một thread mới để thực thi phương thức song song.
  • B. Thực hiện các hoạt động I/O không chặn luồng chính (non-blocking I/O) để cải thiện responsiveness.
  • C. Đảm bảo phương thức luôn được thực thi đồng bộ (synchronously).
  • D. Quản lý bộ nhớ và thu gom rác cho các tác vụ.

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

  • A. Ánh xạ giữa các đối tượng C# và bảng trong cơ sở dữ liệu, giúp thao tác dữ liệu dễ dàng hơn.
  • B. Tối ưu hóa hiệu suất truy vấn cơ sở dữ liệu.
  • C. Xây dựng giao diện người dùng cho ứng dụng desktop.
  • D. Quản lý phiên làm việc (session) trong ứng dụng web.

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

  • A. GC chỉ hoạt động khi bộ nhớ vật lý của máy tính đầy.
  • B. Lập trình viên phải chủ động gọi GC để giải phóng bộ nhớ.
  • C. GC tự động giải phóng bộ nhớ không còn được tham chiếu bởi ứng dụng.
  • D. GC chỉ giải phóng bộ nhớ khi ứng dụng kết thúc.

Câu 12: Delegates và Events trong C# được sử dụng chủ yếu cho mục đích gì?

  • A. Quản lý đa luồng và lập trình song song.
  • B. Định nghĩa cấu trúc dữ liệu phức tạp.
  • C. Thực hiện truy vấn dữ liệu LINQ.
  • D. Xây dựng cơ chế xử lý sự kiện và callback (gọi lại hàm) trong ứng dụng.

Câu 13: Reflections trong .NET cho phép ứng dụng làm gì?

  • A. Tăng hiệu suất biên dịch mã nguồn.
  • B. Kiểm tra metadata của assembly và các kiểu dữ liệu (types) tại runtime.
  • C. Tự động sửa lỗi mã nguồn trong quá trình chạy.
  • D. Tạo ra mã máy tối ưu cho từng nền tảng khác nhau.

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

  • A. Interface có thể chứa code thực thi, abstract class thì không.
  • B. Abstract class hỗ trợ đa kế thừa, interface thì không.
  • C. Lớp có thể kế thừa từ nhiều interface nhưng chỉ có thể kế thừa từ một abstract class.
  • D. Interface được sử dụng cho kiểu giá trị, abstract class cho kiểu tham chiếu.

Câu 15: Generic trong C# mang lại lợi ích gì chính cho việc phát triển phần mềm?

  • A. Tăng tính tái sử dụng của code và đảm bảo an toàn kiểu (type safety) tại thời điểm biên dịch.
  • B. Giảm kích thước file thực thi của ứng dụng.
  • C. Tăng tốc độ thực thi của chương trình.
  • D. Đơn giản hóa việc quản lý bộ nhớ.

Câu 16: Trong ngữ cảnh của .NET, thuật ngữ "Managed Code" (Mã quản lý) dùng để chỉ loại mã nào?

  • A. Mã được viết bằng ngôn ngữ C++.
  • B. Mã được thực thi bởi Common Language Runtime (CLR) và chịu sự quản lý của CLR.
  • C. Mã chỉ chạy trên hệ điều hành Windows.
  • D. Mã được biên dịch trực tiếp thành mã máy.

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

  • A. int, 15
  • B. int, 510
  • C. string,
  • D. Lỗi biên dịch do không tương thích kiểu dữ liệu

Câu 18: Trong C#, từ khóa `sealed` được sử dụng để làm gì khi định nghĩa một lớp?

  • A. Đảm bảo lớp chỉ có thể được truy cập từ assembly hiện tại.
  • B. Ngăn chặn việc tạo instance (đối tượng) từ lớp.
  • C. Khai báo một lớp trừu tượng (abstract class).
  • D. Ngăn chặn lớp khác kế thừa từ lớp này.

Câu 19: Sự khác biệt chính giữa `struct` và `class` trong C# là gì về mặt bản chất?

  • A. `struct` hỗ trợ kế thừa, `class` thì không.
  • B. `struct` là kiểu giá trị (value type), `class` là kiểu tham chiếu (reference type).
  • C. `class` được lưu trữ trên stack, `struct` được lưu trữ trên heap.
  • D. `struct` có thể có phương thức ảo, `class` thì không.

Câu 20: Cho đoạn code C#: `string str1 =

  • A. true
  • B. Có thể true hoặc false tùy thuộc vào cài đặt.
  • C. false
  • D. Lỗi biên dịch do so sánh không hợp lệ.

Câu 21: Trong C#, từ khóa `using` có thể được sử dụng cho những mục đích nào?

  • A. Khai báo namespace để sử dụng các kiểu dữ liệu trong namespace đó.
  • B. Đảm bảo giải phóng tài nguyên (resources) một cách tự động khi ra khỏi khối `using`.
  • C. Định nghĩa alias (bí danh) cho namespace hoặc type.
  • D. Cả 3 mục đích trên.

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

  • A. Khởi tạo đối tượng và cấp phát bộ nhớ.
  • B. Giải phóng các tài nguyên không được quản lý bởi CLR (unmanaged resources) như file handles, network connections.
  • C. Thu gom rác (garbage collection) cho đối tượng.
  • D. Kiểm tra xem đối tượng còn được sử dụng hay không.

Câu 23: Trong ASP.NET Web API, Attribute Routing (định tuyến thuộc tính) cung cấp lợi ích gì so với Convention-based Routing (định tuyến theo quy ước)?

  • A. Attribute Routing nhanh hơn Convention-based Routing về hiệu suất.
  • B. Convention-based Routing cho phép định nghĩa route phức tạp hơn.
  • C. Attribute Routing cho phép định nghĩa route trực tiếp trên action method, giúp code dễ đọc và bảo trì hơn.
  • D. Convention-based Routing tự động tạo ra tài liệu API (API documentation).

Câu 24: Cho đoạn code C#: `int? nullableInt = null; int regularInt = nullableInt;`. Điều gì sẽ xảy ra khi chạy đoạn code này?

  • A. `regularInt` sẽ có giá trị 0.
  • B. `regularInt` sẽ có giá trị null.
  • C. Đoạn code biên dịch thành công và chạy mà không có lỗi.
  • D. Lỗi runtime (InvalidOperationException) sẽ xảy ra do cố gắng gán null cho kiểu int không nullable.

Câu 25: Kỹ thuật Caching (bộ nhớ đệm) trong .NET ứng dụng web được sử dụng để làm gì?

  • A. Tăng hiệu suất ứng dụng bằng cách lưu trữ tạm thời dữ liệu thường xuyên được truy cập để giảm tải cho server và cơ sở dữ liệu.
  • B. Tăng cường bảo mật cho ứng dụng web.
  • C. Đơn giản hóa việc quản lý phiên làm việc (session).
  • D. Cải thiện khả năng mở rộng (scalability) của ứng dụng.

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

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

Câu 27: Cho đoạn code C#: `List numbers = new List() { 1, 2, 3, 4, 5 }; var evenNumbers = numbers.Where(n => n % 2 == 0);`. `evenNumbers` sẽ chứa bao nhiêu phần tử?

  • A. 5
  • B. 3
  • C. 2
  • D. 0

Câu 28: Trong C#, thuộc tính (Property) khác gì so với trường (Field) của một lớp?

  • A. Field có thể chứa logic truy cập (get/set), Property thì không.
  • B. Property được lưu trữ trên stack, Field được lưu trữ trên heap.
  • C. Field luôn là public, Property luôn là private.
  • D. Property cung cấp cơ chế kiểm soát truy cập và logic bổ sung khi đọc/ghi giá trị, Field chỉ là biến lưu trữ dữ liệu.

Câu 29: Cross-Origin Resource Sharing (CORS) là cơ chế bảo mật quan trọng trong ứng dụng web. CORS giải quyết vấn đề gì?

  • A. Ngăn chặn tấn công SQL Injection.
  • B. Cho phép hoặc từ chối các request HTTP từ domain khác (cross-origin) để bảo vệ ứng dụng khỏi các tấn công CSRF và truy cập trái phép.
  • C. Mã hóa dữ liệu truyền trên mạng (HTTPS).
  • D. Xác thực người dùng và quản lý phiên làm việc.

Câu 30: Cho đoạn code C#: `string name =

  • A.
  • B.
  • C. Lỗi biên dịch do cú pháp nội suy chuỗi không đúng.
  • D. Null hoặc chuỗi rỗng.

1 / 30

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

Tags: Bộ đề 8

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ộ đề 8

Câu 2: Cho đoạn mã C# sau: `int x = 10; object y = x; x = 20;`. Hỏi giá trị của `y` sau khi thực hiện đoạn mã trên là bao nhiêu?

3 / 30

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

Tags: Bộ đề 8

Câu 3: Phương thức mở rộng (Extension method) trong C# được sử dụng để làm gì?

4 / 30

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

Tags: Bộ đề 8

Câu 4: Trong lập trình hướng đối tượng với C#, 'tính đa hình' (Polymorphism) thể hiện rõ nhất qua cơ chế nào?

5 / 30

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

Tags: Bộ đề 8

Câu 5: ADO.NET được sử dụng trong .NET Framework cho mục đích gì?

6 / 30

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

Tags: Bộ đề 8

Câu 6: LINQ (Language Integrated Query) trong C# cung cấp khả năng truy vấn dữ liệu từ những nguồn nào?

7 / 30

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

Tags: Bộ đề 8

Câu 7: Trong ASP.NET Core, Middleware (lớp trung gian) hoạt động như thế nào trong pipeline xử lý request?

8 / 30

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

Tags: Bộ đề 8

Câu 8: Dependency Injection (DI) container trong .NET Core giúp giải quyết vấn đề gì?

9 / 30

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

Tags: Bộ đề 8

Câu 9: Cho đoạn code C# sau: `async Task MyMethodAsync() { await Task.Delay(100); return 5; }`. Từ khóa `async` và `await` được sử dụng để làm gì?

10 / 30

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

Tags: Bộ đề 8

Câu 10: Entity Framework Core (EF Core) là một ORM (Object-Relational Mapper) trong .NET Core. 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ộ đề 8

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

12 / 30

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

Tags: Bộ đề 8

Câu 12: Delegates và Events trong C# được sử dụng chủ yếu cho mục đích gì?

13 / 30

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

Tags: Bộ đề 8

Câu 13: Reflections trong .NET cho phép ứng dụng làm gì?

14 / 30

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

Tags: Bộ đề 8

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

15 / 30

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

Tags: Bộ đề 8

Câu 15: Generic trong C# mang lại lợi ích gì chính cho việc phát triển phần mềm?

16 / 30

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

Tags: Bộ đề 8

Câu 16: Trong ngữ cảnh của .NET, thuật ngữ 'Managed Code' (Mã quản lý) dùng để chỉ loại mã nào?

17 / 30

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

Tags: Bộ đề 8

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

18 / 30

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

Tags: Bộ đề 8

Câu 18: Trong C#, từ khóa `sealed` được sử dụng để làm gì khi định nghĩa một lớp?

19 / 30

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

Tags: Bộ đề 8

Câu 19: Sự khác biệt chính giữa `struct` và `class` trong C# là gì về mặt bản chất?

20 / 30

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

Tags: Bộ đề 8

Câu 20: Cho đoạn code C#: `string str1 = "hello"; string str2 = "Hello"; bool areEqual = (str1 == str2);`. Giá trị của `areEqual` là gì?

21 / 30

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

Tags: Bộ đề 8

Câu 21: Trong C#, từ khóa `using` có thể được sử dụng cho những mục đích nào?

22 / 30

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

Tags: Bộ đề 8

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

23 / 30

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

Tags: Bộ đề 8

Câu 23: Trong ASP.NET Web API, Attribute Routing (định tuyến thuộc tính) cung cấp lợi ích gì so với Convention-based Routing (định tuyến theo quy ước)?

24 / 30

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

Tags: Bộ đề 8

Câu 24: Cho đoạn code C#: `int? nullableInt = null; int regularInt = nullableInt;`. Điều gì sẽ xảy ra khi chạy đoạn code này?

25 / 30

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

Tags: Bộ đề 8

Câu 25: Kỹ thuật Caching (bộ nhớ đệm) trong .NET ứng dụng web được sử dụng để làm gì?

26 / 30

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

Tags: Bộ đề 8

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

27 / 30

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

Tags: Bộ đề 8

Câu 27: Cho đoạn code C#: `List numbers = new List() { 1, 2, 3, 4, 5 }; var evenNumbers = numbers.Where(n => n % 2 == 0);`. `evenNumbers` sẽ chứa bao nhiêu phần tử?

28 / 30

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

Tags: Bộ đề 8

Câu 28: Trong C#, thuộc tính (Property) khác gì so với trường (Field) của một lớp?

29 / 30

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

Tags: Bộ đề 8

Câu 29: Cross-Origin Resource Sharing (CORS) là cơ chế bảo mật quan trọng trong ứng dụng web. CORS giải quyết vấn đề gì?

30 / 30

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

Tags: Bộ đề 8

Câu 30: Cho đoạn code C#: `string name = "John"; string message = $"Hello, {name}!";`. Giá trị của `message` sau khi thực thi là gì?

Xem kết quả