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

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


Lập trình .NET

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

1. NuGet Package Manager được sử dụng để làm gì trong .NET development?

A. Quản lý phiên bản mã nguồn.
B. Tạo và quản lý các gói thư viện và công cụ bên thứ ba cho dự án .NET.
C. Triển khai ứng dụng lên server.
D. Gỡ lỗi ứng dụng .NET.

2. Sự khác biệt chính giữa '==' và '.Equals()′ khi so sánh string trong C# là gì?

A. '==' so sánh giá trị, '.Equals()′ so sánh tham chiếu.
B. '==' so sánh tham chiếu, '.Equals()′ so sánh giá trị nội dung của chuỗi.
C. Không có sự khác biệt, cả hai đều so sánh giá trị.
D. '==' chỉ dùng cho kiểu string, '.Equals()′ dùng cho mọi kiểu dữ liệu.

3. Extension method phải được định nghĩa trong class nào?

A. Trong bất kỳ class nào.
B. Trong một static class.
C. Trong một abstract class.
D. Trong một sealed class.

4. Generic trong C# mang lại lợi ích chính nào?

A. Tăng tốc độ biên dịch.
B. Giảm dung lượng file thực thi.
C. Tăng tính type-safety và tái sử dụng code bằng cách cho phép viết code làm việc với nhiều kiểu dữ liệu khác nhau mà không cần boxing∕unboxing.
D. Cải thiện hiệu suất cơ sở dữ liệu.

5. 'sealed′ class trong C# có ý nghĩa gì?

A. Class có thể được kế thừa bởi bất kỳ class nào.
B. Class không thể được kế thừa bởi bất kỳ class nào khác.
C. Class chỉ có thể được kế thừa trong cùng một assembly.
D. Class chỉ có thể chứa các phương thức static.

6. Sự khác biệt chính giữa 'List' và 'ArrayList′ trong .NET Collections là gì?

A. 'ArrayList′ là generic, 'List' thì không.
B. 'List' là generic (type-safe), 'ArrayList′ không generic (không type-safe, lưu trữ object). 'List' hiệu suất tốt hơn do tránh boxing∕unboxing.
C. 'ArrayList′ nhanh hơn 'List' về hiệu suất.
D. Không có sự khác biệt, cả hai đều hoạt động giống nhau.

7. WPF (Windows Presentation Foundation) trong .NET Framework được dùng để xây dựng loại ứng dụng nào?

A. Ứng dụng web.
B. Ứng dụng console.
C. Ứng dụng desktop với giao diện người dùng đồ họa phong phú.
D. Dịch vụ web APIs.

8. Phương thức 'virtual′ trong C# cho phép điều gì trong kế thừa?

A. Phương thức không thể bị override ở lớp con.
B. Phương thức bắt buộc phải bị override ở lớp con.
C. Phương thức có thể được override (ghi đè) ở lớp con, cho phép đa hình (polymorphism).
D. Phương thức chỉ có thể được gọi từ lớp cha.

9. Trong .NET, thuật ngữ 'Assembly′ dùng để chỉ điều gì?

A. Một đoạn mã C# nhỏ.
B. Một đơn vị triển khai, tái sử dụng và kiểm soát phiên bản của mã .NET, thường là một file .dll hoặc .exe.
C. Một phương thức trong một class.
D. Một biến cục bộ trong một hàm.

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

A. Xây dựng giao diện người dùng.
B. Tạo và quản lý cơ sở dữ liệu.
C. Tương tác với cơ sở dữ liệu bằng cách ánh xạ các đối tượng .NET với bảng trong cơ sở dữ liệu.
D. Quản lý bộ nhớ cho ứng dụng web.

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

A. Thay đổi hành vi của các phương thức hiện có trong một class.
B. Thêm phương thức mới vào một kiểu dữ liệu đã tồn tại mà không cần sửa đổi trực tiếp kiểu đó.
C. Tăng tốc độ thực thi của chương trình.
D. Tạo ra một lớp kế thừa từ một lớp sealed.

12. Dependency Injection (DI) là một nguyên tắc thiết kế phần mềm nhằm mục đích gì?

A. Tăng tốc độ phát triển ứng dụng.
B. Giảm sự phụ thuộc giữa các thành phần của ứng dụng, tăng tính module hóa và khả năng tái sử dụng.
C. Cải thiện hiệu suất ứng dụng bằng cách giảm thiểu việc tạo đối tượng.
D. Đơn giản hóa quá trình triển khai ứng dụng.

13. Chức năng chính của 'yield return′ trong C# là gì?

A. Kết thúc chương trình.
B. Trả về giá trị từ một phương thức và giữ trạng thái để lần gọi tiếp tục từ vị trí đó, cho phép tạo ra iterators (bộ lặp) một cách dễ dàng.
C. Tạo ra một thread mới.
D. Xử lý ngoại lệ.

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

A. Thiết kế giao diện người dùng.
B. Truy vấn dữ liệu từ nhiều nguồn khác nhau (collections, databases, XML…) một cách thống nhất.
C. Quản lý bộ nhớ tự động.
D. Xử lý bất đồng bộ.

15. Sự khác biệt giữa 'throw′ và 'throw ex′ trong C# khi xử lý exceptions là gì?

A. 'throw ex′ giữ nguyên stack trace ban đầu, 'throw′ thì không.
B. 'throw′ giữ nguyên stack trace ban đầu, 'throw ex′ thì reset stack trace, làm mất thông tin về nguồn gốc lỗi.
C. Không có sự khác biệt về stack trace.
D. 'throw ex′ chỉ dùng cho exceptions tùy chỉnh, 'throw′ cho exceptions hệ thống.

16. 'ref′ và 'out′ keywords trong C# được sử dụng để làm gì khi truyền tham số cho phương thức?

A. Truyền tham số theo giá trị (pass-by-value).
B. Truyền tham số theo tham chiếu (pass-by-reference), cho phép phương thức thay đổi giá trị của biến gốc.
C. Truyền tham số một chiều (chỉ đọc).
D. Truyền tham số không bắt buộc.

17. Interface trong C# khác biệt cơ bản so với Abstract class ở điểm nào?

A. Interface có thể chứa implementation code, abstract class thì không.
B. Một class có thể implement nhiều interfaces nhưng chỉ có thể kế thừa từ một abstract class.
C. Abstract class nhanh hơn interface về hiệu suất.
D. Interface chỉ dùng cho web applications, abstract class cho desktop applications.

18. Sự khác biệt giữa 'StringBuilder′ và 'string′ trong C# khi thao tác với chuỗi là gì?

A. 'string′ là mutable, 'StringBuilder′ là immutable.
B. 'string′ là immutable, 'StringBuilder′ là mutable và hiệu quả hơn cho việc chỉnh sửa chuỗi nhiều lần.
C. 'StringBuilder′ chỉ dùng cho ứng dụng web, 'string′ cho ứng dụng desktop.
D. 'StringBuilder′ nhanh hơn 'string′ trong mọi trường hợp.

19. Kiểu dữ liệu 'value type′ nào sau đây trong C# được lưu trữ trực tiếp trên stack?

A. string
B. object
C. int
D. dynamic

20. ASP.NET Core khác biệt chính so với ASP.NET Framework truyền thống ở điểm nào?

A. ASP.NET Core chỉ hỗ trợ ngôn ngữ C#.
B. ASP.NET Core là mã nguồn đóng.
C. ASP.NET Core là cross-platform, có thể chạy trên Windows, macOS và Linux.
D. ASP.NET Core không hỗ trợ MVC pattern.

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

A. Định nghĩa kiểu dữ liệu mới.
B. Thêm metadata (thông tin mô tả) vào code, có thể được đọc bởi runtime hoặc các công cụ khác.
C. Tối ưu hóa hiệu suất ứng dụng.
D. Kiểm soát truy cập vào các thành viên của lớp.

22. Reflection trong .NET cho phép chương trình làm gì?

A. Tạo ra mã máy trực tiếp từ mã C#.
B. Kiểm tra metadata của assemblies, modules và types tại runtime.
C. Tự động sửa lỗi trong code.
D. Tăng tốc độ biên dịch.

23. Trong .NET, CLR (Common Language Runtime) chịu trách nhiệm chính cho điều 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ã bytecode và cung cấp các dịch vụ runtime.
C. Tối ưu hóa hiệu suất cơ sở dữ liệu.
D. Xây dựng giao diện người dùng đồ họa.

24. Indexer trong C# cho phép bạn làm gì?

A. Tạo chỉ mục cho cơ sở dữ liệu.
B. Truy cập các đối tượng trong một class giống như truy cập các phần tử trong một array.
C. Tăng tốc độ tìm kiếm dữ liệu.
D. Bảo vệ dữ liệu khỏi bị truy cập trái phép.

25. Boxing và Unboxing trong C# liên quan đến việc chuyển đổi giữa kiểu dữ liệu nào?

A. Từ kiểu số nguyên sang kiểu số thực.
B. Từ value type sang reference type và ngược lại.
C. Từ kiểu string sang kiểu char array.
D. Từ kiểu generic sang kiểu cụ thể.

26. Delegate trong C# hoạt động tương tự như khái niệm nào trong các ngôn ngữ lập trình khác?

A. Class.
B. Interface.
C. Function pointer.
D. Enum.

27. Phương thức 'Dispose()′ và interface 'IDisposable′ được sử dụng để làm gì trong .NET?

A. Giải phóng bộ nhớ ngay lập tức.
B. Quản lý tài nguyên unmanaged (như file handles, database connections) và giải phóng chúng một cách rõ ràng khi không còn cần thiết.
C. Tăng tốc độ thực thi của chương trình.
D. Xử lý ngoại lệ.

28. Async và Await trong C# được sử dụng chủ yếu để giải quyết vấn đề gì?

A. Tăng cường bảo mật cho ứng dụng.
B. Cải thiện hiệu suất xử lý đa luồng.
C. Xử lý các hoạt động I∕O không đồng bộ một cách dễ đọc và dễ quản lý hơn.
D. Giảm dung lượng bộ nhớ sử dụng.

29. 'using′ statement trong C# được sử dụng chủ yếu cho mục đích gì?

A. Import namespaces.
B. Đảm bảo rằng các đối tượng IDisposable được Dispose() đúng cách, kể cả khi có exception xảy ra.
C. Định nghĩa aliases cho namespaces.
D. Tăng tốc độ thực thi của chương trình.

30. Garbage Collector (GC) trong .NET Framework làm nhiệm vụ gì?

A. Biên dịch mã nguồn.
B. Tối ưu hóa truy vấn cơ sở dữ liệu.
C. Tự động thu hồi bộ nhớ không còn được tham chiếu đến.
D. Quản lý phiên bản của các thư viện .NET.

1 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

1. NuGet Package Manager được sử dụng để làm gì trong .NET development?

2 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

2. Sự khác biệt chính giữa `==` và `.Equals()′ khi so sánh string trong C# là gì?

3 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

3. Extension method phải được định nghĩa trong class nào?

4 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

4. Generic trong C# mang lại lợi ích chính nào?

5 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

5. `sealed′ class trong C# có ý nghĩa gì?

6 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

6. Sự khác biệt chính giữa `List` và `ArrayList′ trong .NET Collections là gì?

7 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

7. WPF (Windows Presentation Foundation) trong .NET Framework được dùng để xây dựng loại ứng dụng nào?

8 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

8. Phương thức `virtual′ trong C# cho phép điều gì trong kế thừa?

9 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

9. Trong .NET, thuật ngữ `Assembly′ dùng để chỉ điều gì?

10 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

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

11 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

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

12 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

12. Dependency Injection (DI) là một nguyên tắc thiết kế phần mềm nhằm mục đích gì?

13 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

13. Chức năng chính của `yield return′ trong C# là gì?

14 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

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

15 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

15. Sự khác biệt giữa `throw′ và `throw ex′ trong C# khi xử lý exceptions là gì?

16 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

16. `ref′ và `out′ keywords trong C# được sử dụng để làm gì khi truyền tham số cho phương thức?

17 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

17. Interface trong C# khác biệt cơ bản so với Abstract class ở điểm nào?

18 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

18. Sự khác biệt giữa `StringBuilder′ và `string′ trong C# khi thao tác với chuỗi là gì?

19 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

19. Kiểu dữ liệu `value type′ nào sau đây trong C# được lưu trữ trực tiếp trên stack?

20 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

20. ASP.NET Core khác biệt chính so với ASP.NET Framework truyền thống ở điểm nào?

21 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

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

22 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

22. Reflection trong .NET cho phép chương trình làm gì?

23 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

23. Trong .NET, CLR (Common Language Runtime) chịu trách nhiệm chính cho điều gì?

24 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

24. Indexer trong C# cho phép bạn làm gì?

25 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

25. Boxing và Unboxing trong C# liên quan đến việc chuyển đổi giữa kiểu dữ liệu nào?

26 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

26. Delegate trong C# hoạt động tương tự như khái niệm nào trong các ngôn ngữ lập trình khác?

27 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

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

28 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

28. Async và Await trong C# được sử dụng chủ yếu để giải quyết vấn đề gì?

29 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

29. `using′ statement trong C# được sử dụng chủ yếu cho mục đích gì?

30 / 30

Category: Lập trình .NET

Tags: Bộ đề 13

30. Garbage Collector (GC) trong .NET Framework làm nhiệm vụ gì?