Đề 8 – 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

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

1. CI∕CD (Continuous Integration∕Continuous Delivery) pipeline trong .NET giúp ích gì cho quy trình phát triển phần mềm?

A. Tự động viết code.
B. Tự động hóa các bước build, test, và triển khai ứng dụng khi có thay đổi code, giúp phát hành phần mềm nhanh hơn và giảm thiểu lỗi.
C. Tăng cường bảo mật ứng dụng.
D. Quản lý yêu cầu người dùng.

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

A. Giải phóng bộ nhớ ngay khi đối tượng không còn được tham chiếu đến.
B. Giải phóng bộ nhớ theo chu kỳ, tự động tìm và thu hồi bộ nhớ không còn được sử dụng.
C. Yêu cầu lập trình viên phải tự giải phóng bộ nhớ thủ công.
D. Chỉ giải phóng bộ nhớ khi ứng dụng kết thúc.

3. Entity Framework (EF) Core là một ORM (Object-Relational Mapper) trong .NET. ORM có vai trò gì?

A. Tăng cường bảo mật cho ứng dụng.
B. Ánh xạ dữ liệu giữa cơ sở dữ liệu quan hệ và các đối tượng trong code, giúp thao tác dữ liệu dễ dàng hơn.
C. Tối ưu hiệu suất truy vấn cơ sở dữ liệu.
D. Tạo giao diện quản trị cơ sở dữ liệu.

4. Razor Pages và MVC (Model-View-Controller) trong ASP.NET Core khác nhau cơ bản ở điểm nào?

A. Razor Pages nhanh hơn MVC về hiệu suất.
B. Razor Pages tập trung vào page-centric development, MVC tập trung vào request-centric development với controller.
C. MVC hỗ trợ tốt hơn cho ứng dụng lớn và phức tạp.
D. Razor Pages chỉ dùng cho frontend, MVC dùng cho cả frontend và backend.

5. Trong .NET, CLR (Common Language Runtime) đóng vai trò 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ạo giao diện người dùng cho ứng dụng Windows.
D. Kết nối cơ sở dữ liệu và thực hiện truy vấn SQL.

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

A. Kế thừa (Inheritance).
B. Đa hình (Polymorphism).
C. Delegate và multicast delegate.
D. Reflection.

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

A. Định nghĩa các thuộc tính của một class.
B. Cung cấp metadata (thông tin mô tả) cho các thành phần code (class, method, property,…).
C. Tạo ra các biến toàn cục.
D. Kiểm soát quyền truy cập vào các thành viên của class.

8. NuGet Package Manager trong .NET dùng để làm gì?

A. Quản lý bộ nhớ ứng dụng.
B. Quản lý và cài đặt các thư viện và công cụ bên ngoài (packages) vào dự án .NET.
C. Biên dịch mã nguồn thành mã máy.
D. Tạo báo cáo và log ứng dụng.

9. MediatR trong .NET giúp đơn giản hóa việc quản lý logic nghiệp vụ bằng cách nào?

A. Tự động tạo database schema.
B. Hiện thực pattern Mediator, tách biệt request handlers khỏi controllers, và hỗ trợ CQRS (Command Query Responsibility Segregation).
C. Tối ưu hiệu suất ứng dụng.
D. Quản lý bộ nhớ.

10. Trong ASP.NET Core, Middleware là gì?

A. Thành phần quản lý cơ sở dữ liệu.
B. Thành phần xử lý các request HTTP đến ứng dụng, tạo thành một pipeline.
C. Thành phần tạo giao diện người dùng web.
D. Thành phần quản lý phiên (session) người dùng.

11. Ngôn ngữ lập trình chính được sử dụng rộng rãi nhất trong .NET Framework là gì?

A. Java
B. Python
C. C#
D. C++

12. Interface trong C# khác biệt chính so với Abstract class là gì?

A. Interface có thể chứa code thực thi, Abstract class thì không.
B. Class có thể kế thừa nhiều Interface, nhưng chỉ kế thừa được một Abstract class.
C. Abstract class nhanh hơn Interface về hiệu suất.
D. Interface chỉ dùng cho kiểu giá trị, Abstract class chỉ dùng cho kiểu tham chiếu.

13. SOLID principles là tập hợp các nguyên tắc thiết kế hướng đối tượng. Nguyên tắc chữ 'S′ trong SOLID đại diện cho điều gì?

A. Single Responsibility Principle (Nguyên tắc đơn nhiệm).
B. Open∕Closed Principle (Nguyên tắc đóng mở).
C. Liskov Substitution Principle (Nguyên tắc thay thế Liskov).
D. Interface Segregation Principle (Nguyên tắc phân tách interface).

14. Delegate trong C# có chức năng tương tự như khái niệm nào trong các ngôn ngữ lập trình khác?

A. Biến toàn cục.
B. Con trỏ hàm (function pointer) hoặc callback.
C. Class trừu tượng.
D. Namespace.

15. Serilog và NLog là các thư viện logging phổ biến trong .NET. Chúng cung cấp lợi ích chính nào?

A. Tăng tốc độ ứng dụng.
B. Ghi log (nhật ký) ứng dụng một cách cấu trúc, linh hoạt cấu hình, và có thể ghi log vào nhiều sinks (file, database, console, cloud,…).
C. Bảo mật ứng dụng.
D. Tạo giao diện người dùng.

16. Kiểu dữ liệu `Nullable` trong C# được dùng để làm gì?

A. Lưu trữ các giá trị số lớn hơn kiểu `T`.
B. Cho phép kiểu giá trị (value type) `T` có thể nhận giá trị `null`.
C. Tạo ra một kiểu dữ liệu mới từ kiểu `T`.
D. Chuyển đổi kiểu tham chiếu (reference type) thành kiểu giá trị.

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

A. Tăng tốc độ xử lý số học.
B. Thực hiện các tác vụ không đồng bộ (asynchronous operations) mà không block thread chính (UI thread).
C. Bảo mật dữ liệu trong ứng dụng.
D. Giảm dung lượng bộ nhớ sử dụng.

18. IActionResult trong ASP.NET Core MVC được sử dụng để làm gì?

A. Xử lý lỗi và ngoại lệ.
B. Trả về kết quả (response) từ action method của controller, bao gồm dữ liệu, status code, và header.
C. Định nghĩa route cho các endpoint API.
D. Xác thực người dùng.

19. gRPC trong .NET thường được sử dụng để xây dựng loại ứng dụng nào?

A. Ứng dụng game 3D.
B. Microservices và các hệ thống phân tán, yêu cầu hiệu suất cao và giao tiếp real-time.
C. Ứng dụng desktop truyền thống.
D. Ứng dụng mobile.

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

A. Tăng tốc độ thực thi code.
B. Kiểm tra metadata và thông tin kiểu của các assembly, module, type, member,… tại runtime, và có thể tạo và gọi code động.
C. Tạo giao diện người dùng đồ họa.
D. Quản lý cơ sở dữ liệu.

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

A. Kỹ thuật mã hóa và giải mã dữ liệu.
B. Quá trình chuyển đổi giữa kiểu giá trị (value type) và kiểu tham chiếu (reference type) của .NET.
C. Cơ chế xử lý ngoại lệ trong .NET.
D. Cách thức đóng gói và giải nén file trong .NET.

22. Unit testing trong .NET có mục đích chính là gì?

A. Kiểm tra hiệu suất ứng dụng.
B. Kiểm thử từng đơn vị code nhỏ nhất (method, function, class) để đảm bảo chúng hoạt động đúng như mong đợi.
C. Kiểm tra giao diện người dùng.
D. Kiểm tra bảo mật ứng dụng.

23. Phương thức `Dispose()` trong .NET đượ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 tài nguyên không được quản lý (unmanaged resources) một cách chủ động.
C. Khởi tạo lại đối tượng về trạng thái ban đầu.
D. Đóng kết nối mạng hoặc file.

24. Kestrel trong ASP.NET Core là gì?

A. Một ORM (Object-Relational Mapper).
B. Một web server đa nền tảng, mã nguồn mở, mặc định cho ASP.NET Core.
C. Một công cụ kiểm thử hiệu suất ứng dụng web.
D. Một framework frontend JavaScript.

25. JWT (JSON Web Token) thường được sử dụng cho mục đích gì trong ứng dụng .NET?

A. Mã hóa dữ liệu.
B. Xác thực và ủy quyền người dùng (authentication and authorization) trong API và ứng dụng web.
C. Tối ưu hiệu suất ứng dụng.
D. Quản lý bộ nhớ.

26. DI Container (Dependency Injection Container) như Autofac hoặc Microsoft.Extensions.DependencyInjection giúp gì trong ứng dụng .NET?

A. Tăng tốc độ ứng dụng.
B. Quản lý vòng đời của dependencies, inject dependencies vào các class, và cấu hình bindings.
C. Bảo mật ứng dụng.
D. Tạo giao diện người dùng.

27. Policy-based Authorization trong ASP.NET Core cho phép định nghĩa quyền truy cập dựa trên điều gì?

A. Tên người dùng.
B. Claims của người dùng và logic tùy chỉnh (policies) để xác định quyền truy cập.
C. Địa chỉ IP.
D. Loại trình duyệt.

28. LINQ (Language Integrated Query) trong .NET Framework cung cấp khả năng gì?

A. Tạo giao diện người dùng đồ họa.
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ớ và tối ưu hiệu suất ứng dụng.
D. Xây dựng các dịch vụ web API.

29. Docker containerization có lợi ích gì trong phát triển và triển khai ứng dụng .NET?

A. Tăng tốc độ biên dịch code.
B. Đóng gói ứng dụng và các dependencies vào container, đảm bảo môi trường chạy nhất quán trên các nền tảng khác nhau và đơn giản hóa việc triển khai.
C. Tự động sửa lỗi code.
D. Giảm chi phí bản quyền phần mềm.

30. Dependency Injection (DI) trong .NET giúp đạt được mục tiêu chính nào?

A. Tăng tốc độ thực thi chương trình.
B. Giảm sự phụ thuộc giữa các thành phần (loose coupling), tăng tính module hóa và khả năng bảo trì.
C. Tự động sửa lỗi trong quá trình chạy.
D. Đơn giản hóa việc triển khai ứng dụng lên server.

1 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

1. CI∕CD (Continuous Integration∕Continuous Delivery) pipeline trong .NET giúp ích gì cho quy trình phát triển phần mềm?

2 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

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

3 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

3. Entity Framework (EF) Core là một ORM (Object-Relational Mapper) trong .NET. ORM có vai trò gì?

4 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

4. Razor Pages và MVC (Model-View-Controller) trong ASP.NET Core khác nhau cơ bản ở điểm nào?

5 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

5. Trong .NET, CLR (Common Language Runtime) đóng vai trò gì?

6 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

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

7 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

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

8 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

8. NuGet Package Manager trong .NET dùng để làm gì?

9 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

9. MediatR trong .NET giúp đơn giản hóa việc quản lý logic nghiệp vụ bằng cách nào?

10 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

10. Trong ASP.NET Core, Middleware là gì?

11 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

11. Ngôn ngữ lập trình chính được sử dụng rộng rãi nhất trong .NET Framework là gì?

12 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

12. Interface trong C# khác biệt chính so với Abstract class là gì?

13 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

13. SOLID principles là tập hợp các nguyên tắc thiết kế hướng đối tượng. Nguyên tắc chữ `S′ trong SOLID đại diện cho điều gì?

14 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

14. Delegate trong C# có chức năng tương tự như khái niệm nào trong các ngôn ngữ lập trình khác?

15 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

15. Serilog và NLog là các thư viện logging phổ biến trong .NET. Chúng cung cấp lợi ích chính nào?

16 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

16. Kiểu dữ liệu `Nullable` trong C# được dùng để làm gì?

17 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

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

18 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

18. IActionResult trong ASP.NET Core MVC được sử dụng để làm gì?

19 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

19. gRPC trong .NET thường được sử dụng để xây dựng loại ứng dụng nào?

20 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

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

21 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

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

22 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

22. Unit testing trong .NET có mục đích chính là gì?

23 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

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

24 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

24. Kestrel trong ASP.NET Core là gì?

25 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

25. JWT (JSON Web Token) thường được sử dụng cho mục đích gì trong ứng dụng .NET?

26 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

26. DI Container (Dependency Injection Container) như Autofac hoặc Microsoft.Extensions.DependencyInjection giúp gì trong ứng dụng .NET?

27 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

27. Policy-based Authorization trong ASP.NET Core cho phép định nghĩa quyền truy cập dựa trên điều gì?

28 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

28. LINQ (Language Integrated Query) trong .NET Framework cung cấp khả năng gì?

29 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

29. Docker containerization có lợi ích gì trong phát triển và triển khai ứng dụng .NET?

30 / 30

Category: Lập trình .NET

Tags: Bộ đề 6

30. Dependency Injection (DI) trong .NET giúp đạt được mục tiêu chính nào?