Đề thi, bài tập trắc nghiệm online Lập trình .NET – Đề 5

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é!!!


Đề thi, bài tập trắc nghiệm online Lập trình .NET

Đề 5 - Bài tập, đề thi trắc nghiệm online Lập trình .NET

1. Namespace trong C# được sử dụng để làm gì?

A. Tăng tốc độ biên dịch mã nguồn.
B. Quản lý bộ nhớ hiệu quả hơn.
C. Tổ chức và phân loại các lớp, interface, struct, enum để tránh xung đột tên.
D. Cải thiện hiệu năng thực thi của ứng dụng.

2. Unit Testing trong .NET dùng để làm gì?

A. Kiểm tra hiệu năng của ứng dụng.
B. Kiểm tra bảo mật của ứng dụng.
C. Kiểm tra từng đơn vị mã nguồn (method, class) để đảm bảo chúng hoạt động đúng như mong đợi.
D. Triển khai ứng dụng lên môi trường production.

3. Garbage Collection (GC) trong .NET hoạt động như thế nào?

A. Lập trình viên phải tự giải phóng bộ nhớ thủ công khi không còn sử dụng.
B. GC tự động giải phóng bộ nhớ của các đối tượng không còn được tham chiếu đến.
C. GC chỉ hoạt động khi bộ nhớ hệ thống gần đầy.
D. GC chỉ giải phóng bộ nhớ của các biến cục bộ trong phương thức.

4. Reflection trong .NET cho phép làm gì?

A. Biên dịch mã nguồn C# sang mã máy.
B. Kiểm tra metadata và thông tin kiểu của các assembly và types tại runtime.
C. Tối ưu hóa hiệu năng ứng dụng.
D. Thiết kế giao diện người dùng đồ họa.

5. Generics trong C# giải quyết vấn đề chính nào?

A. Tối ưu hóa hiệu năng Garbage Collection.
B. Giảm sự phụ thuộc giữa các thành phần của ứng dụng.
C. Tăng tính tái sử dụng mã và kiểu an toàn (type safety) bằng cách tham số hóa kiểu dữ liệu.
D. Đơn giản hóa việc xử lý ngoại lệ.

6. Asynchronous programming (lập trình bất đồng bộ) trong .NET, với từ khóa `async` và `await`, được sử dụng để giải quyết vấn đề gì?

A. Tăng tốc độ biên dịch mã nguồn.
B. Cải thiện hiệu năng Garbage Collection.
C. Tránh tình trạng `treo` giao diện người dùng khi thực hiện các tác vụ tốn thời gian (I/O, network...).
D. Đơn giản hóa việc quản lý bộ nhớ.

7. Delegates trong C# là gì?

A. Một kiểu dữ liệu đặc biệt để lưu trữ danh sách các đối tượng.
B. Một kiểu dữ liệu tham chiếu đến phương thức (function pointer).
C. Một cơ chế để tạo ra các lớp trừu tượng.
D. Một cách để định nghĩa các sự kiện trong lập trình hướng đối tượng.

8. Sự khác biệt chính giữa .NET Framework và .NET (từ .NET 5 trở đi) là gì?

A. .NET Framework là mã nguồn mở, còn .NET thì không.
B. .NET Framework hỗ trợ đa nền tảng, còn .NET thì chỉ chạy trên Windows.
C. .NET Framework chỉ dành cho phát triển web, còn .NET thì cho ứng dụng desktop.
D. .NET Framework chỉ chạy trên Windows, còn .NET là đa nền tảng (Windows, macOS, Linux).

9. NuGet Packages là gì và tại sao chúng quan trọng trong phát triển .NET?

A. Một loại file cấu hình của dự án .NET.
B. Các thư viện và công cụ bên ngoài được đóng gói và quản lý để tái sử dụng trong dự án .NET, giúp tăng tốc độ phát triển và giảm việc phải viết lại mã.
C. Một hệ thống quản lý cơ sở dữ liệu cho .NET.
D. Một công cụ để biên dịch mã nguồn C# sang mã máy.

10. Lambda expressions trong C# là gì và chúng thường được sử dụng trong ngữ cảnh nào?

A. Một loại vòng lặp mới trong C#.
B. Hàm vô danh (anonymous functions) ngắn gọn, thường dùng với delegates và LINQ.
C. Một cách để định nghĩa các lớp trừu tượng.
D. Một cơ chế để xử lý ngoại lệ bất đồng bộ.

11. Attributes trong C# được sử dụng để làm gì?

A. Định nghĩa giao diện người dùng.
B. Cung cấp metadata (thông tin mô tả) cho các thành phần mã nguồn như lớp, phương thức, thuộc tính.
C. Quản lý bộ nhớ và Garbage Collection.
D. Xử lý ngoại lệ và lỗi trong ứng dụng.

12. CLS (Common Language Specification) trong .NET định nghĩa điều gì?

A. Các quy tắc để tạo ra các thành phần có thể tái sử dụng và tương tác tốt với các ngôn ngữ .NET khác.
B. Hệ thống kiểu dữ liệu chung cho tất cả các ngôn ngữ .NET.
C. Môi trường thực thi cho các ứng dụng .NET.
D. Tập hợp các thư viện lớp cơ bản của .NET.

13. Đâu là từ khóa dùng để khai báo một lớp trong C#?

A. struct
B. interface
C. class
D. enum

14. ASP.NET Core là gì?

A. Một phiên bản cũ hơn của ASP.NET, chỉ chạy trên Windows Server.
B. Một framework mã nguồn đóng của Microsoft để phát triển ứng dụng web.
C. Một framework đa nền tảng, mã nguồn mở của .NET để xây dựng ứng dụng web hiện đại.
D. Một công cụ để quản lý cơ sở dữ liệu trong .NET.

15. Boxing và Unboxing trong C# là gì?

A. Quá trình chuyển đổi giữa kiểu dữ liệu số nguyên và kiểu dữ liệu số thực.
B. Quá trình chuyển đổi giữa value type và reference type, boxing là chuyển value type sang object, unboxing ngược lại.
C. Quá trình mã hóa và giải mã dữ liệu.
D. Quá trình đóng gói và giải nén các assembly.

16. Events trong C# được xây dựng dựa trên cơ chế nào?

A. Generics
B. Delegates
C. Interfaces
D. Attributes

17. Dependency Injection (DI) là gì và lợi ích chính của nó trong .NET là gì?

A. Một kỹ thuật để tối ưu hóa hiệu năng ứng dụng bằng cách giảm tải cho Garbage Collector.
B. Một pattern thiết kế để giảm sự phụ thuộc giữa các thành phần của ứng dụng, tăng tính linh hoạt và dễ bảo trì.
C. Một phương pháp để mã hóa dữ liệu và bảo mật ứng dụng.
D. Một công cụ để tự động sinh mã nguồn C# từ mô hình cơ sở dữ liệu.

18. Phương thức `Dispose()` trong C# thường được sử dụng để làm gì?

A. Giải phóng bộ nhớ được quản lý bởi Garbage Collector.
B. Giải phóng các tài nguyên không được quản lý (unmanaged resources) như file handle, network connection.
C. Khởi tạo giá trị mặc định cho các biến thành viên của đối tượng.
D. Gọi phương thức constructor của lớp cha.

19. Khái niệm nào sau đây mô tả đúng nhất về .NET?

A. Một ngôn ngữ lập trình mới được phát triển bởi Microsoft.
B. Một nền tảng phát triển ứng dụng đa nền tảng, mã nguồn mở.
C. Một hệ điều hành dành cho máy chủ.
D. Một công cụ quản lý cơ sở dữ liệu.

20. CTS (Common Type System) trong .NET có vai trò gì?

A. Đảm bảo tính tương thích giữa các ngôn ngữ lập trình khác nhau trên nền .NET.
B. Cung cấp một tập hợp các lớp và giao diện chuẩn để phát triển ứng dụng.
C. Quản lý vòng đời của đối tượng và thu hồi bộ nhớ không sử dụng.
D. Biên dịch mã nguồn thành mã trung gian IL.

21. Exception Handling trong .NET được thực hiện thông qua cấu trúc nào?

A. if-else
B. switch-case
C. try-catch-finally
D. for-loop

22. Phương thức mở rộng (Extension methods) trong C# cho phép làm gì?

A. Thay đổi code của các lớp đã được biên dịch.
B. Thêm phương thức mới vào các lớp đã tồn tại mà không cần sửa đổi trực tiếp lớp đó.
C. Tăng tốc độ thực thi của các phương thức hiện có.
D. Ẩn đi các phương thức không cần thiết của một lớp.

23. Entity Framework (EF) Core là một ORM (Object-Relational Mapper) dùng để làm gì?

A. Thiết kế giao diện người dùng cho ứng dụng desktop.
B. Quản lý các gói thư viện bên ngoài trong dự án .NET.
C. Tương tác với cơ sở dữ liệu một cách dễ dàng hơn bằng cách làm việc với các đối tượng C# thay vì câu lệnh SQL trực tiếp.
D. Triển khai ứng dụng web lên server.

24. Từ khóa `sealed` trong C# được sử dụng để làm gì?

A. Khai báo một biến hằng số (constant).
B. Ngăn chặn một lớp khác kế thừa từ lớp hiện tại.
C. Đảm bảo rằng một phương thức luôn được thực thi, ngay cả khi có ngoại lệ.
D. Khai báo một phương thức ảo (virtual method).

25. LINQ (Language Integrated Query) trong .NET dùng để làm gì?

A. Thiết kế giao diện người dùng đồ họa.
B. Truy vấn và thao tác dữ liệu từ nhiều nguồn khác nhau (collection, database, XML...).
C. Quản lý bộ nhớ và Garbage Collection.
D. Xử lý các sự kiện và delegates.

26. Thành phần cốt lõi nào của .NET chịu trách nhiệm biên dịch mã trung gian (IL) thành mã máy để thực thi?

A. CTS (Common Type System)
B. CLS (Common Language Specification)
C. CLR (Common Language Runtime)
D. FCL (Framework Class Library)

27. Đặc điểm nào sau đây KHÔNG phải là của lập trình hướng đối tượng (OOP)?

A. Tính kế thừa (Inheritance)
B. Tính đa hình (Polymorphism)
C. Tính trừu tượng (Abstraction)
D. Tính tuần tự (Sequential)

28. Assembly trong .NET là gì?

A. Một đoạn mã nguồn C# chưa được biên dịch.
B. Một đơn vị triển khai và tái sử dụng mã .NET, có thể là EXE hoặc DLL.
C. Một không gian tên (namespace) chứa các lớp liên quan đến giao diện người dùng.
D. Một công cụ để quản lý các gói thư viện bên ngoài trong dự án .NET.

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

A. Interface có thể chứa code implementation, còn abstract class thì không.
B. Một lớp có thể kế thừa nhiều interface, nhưng chỉ có thể kế thừa một abstract class.
C. Abstract class chỉ dùng cho value types, còn interface dùng cho reference types.
D. Interface được dùng để tạo đối tượng, còn abstract class thì không.

30. Kiểu dữ liệu value type nào sau đây KHÔNG có trong C#?

A. int
B. float
C. string
D. bool

1 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

1. Namespace trong C# được sử dụng để làm gì?

2 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

2. Unit Testing trong .NET dùng để làm gì?

3 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

3. Garbage Collection (GC) trong .NET hoạt động như thế nào?

4 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

4. Reflection trong .NET cho phép làm gì?

5 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

5. Generics trong C# giải quyết vấn đề chính nào?

6 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

6. Asynchronous programming (lập trình bất đồng bộ) trong .NET, với từ khóa `async` và `await`, được sử dụng để giải quyết vấn đề gì?

7 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

7. Delegates trong C# là gì?

8 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

8. Sự khác biệt chính giữa .NET Framework và .NET (từ .NET 5 trở đi) là gì?

9 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

9. NuGet Packages là gì và tại sao chúng quan trọng trong phát triển .NET?

10 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

10. Lambda expressions trong C# là gì và chúng thường được sử dụng trong ngữ cảnh nào?

11 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

11. Attributes trong C# được sử dụng để làm gì?

12 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

12. CLS (Common Language Specification) trong .NET định nghĩa điều gì?

13 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

13. Đâu là từ khóa dùng để khai báo một lớp trong C#?

14 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

14. ASP.NET Core là gì?

15 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

15. Boxing và Unboxing trong C# là gì?

16 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

16. Events trong C# được xây dựng dựa trên cơ chế nào?

17 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

17. Dependency Injection (DI) là gì và lợi ích chính của nó trong .NET là gì?

18 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

18. Phương thức `Dispose()` trong C# thường được sử dụng để làm gì?

19 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

19. Khái niệm nào sau đây mô tả đúng nhất về .NET?

20 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

20. CTS (Common Type System) trong .NET có vai trò gì?

21 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

21. Exception Handling trong .NET được thực hiện thông qua cấu trúc nào?

22 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

22. Phương thức mở rộng (Extension methods) trong C# cho phép làm gì?

23 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

23. Entity Framework (EF) Core là một ORM (Object-Relational Mapper) dùng để làm gì?

24 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

24. Từ khóa `sealed` trong C# được sử dụng để làm gì?

25 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

25. LINQ (Language Integrated Query) trong .NET dùng để làm gì?

26 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

26. Thành phần cốt lõi nào của .NET chịu trách nhiệm biên dịch mã trung gian (IL) thành mã máy để thực thi?

27 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

27. Đặc điểm nào sau đây KHÔNG phải là của lập trình hướng đối tượng (OOP)?

28 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

28. Assembly trong .NET là gì?

29 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

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

30 / 30

Category: Đề thi, bài tập trắc nghiệm online Lập trình .NET

Tags: Bộ đề 5

30. Kiểu dữ liệu value type nào sau đây KHÔNG có trong C#?