1. Đâu là mục đích chính của Garbage Collection trong .NET?
A. Tối ưu hóa hiệu suất CPU
B. Quản lý bộ nhớ tự động bằng cách giải phóng bộ nhớ không còn được sử dụng
C. Kiểm soát truy cập đồng thời vào tài nguyên
D. Đảm bảo tính toàn vẹn dữ liệu
2. 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 suất cơ sở dữ liệu
B. Một mẫu thiết kế giúp giảm sự phụ thuộc giữa các thành phần, tăng tính module hóa và dễ bảo trì
C. Một phương pháp kiểm thử phần mềm tự động
D. Một công cụ quản lý bộ nhớ
3. Reflection trong .NET là gì và ứng dụng của nó?
A. Một kỹ thuật mã hóa dữ liệu
B. Khả năng kiểm tra và thao tác metadata, kiểu dữ liệu, thành viên của assembly và types tại runtime, cho phép viết mã động và linh hoạt
C. Một phương pháp tối ưu hóa hiệu suất
D. Một công cụ để quản lý lỗi
4. Code signing trong .NET được sử dụng để làm gì?
A. Tăng tốc độ thực thi mã
B. Xác thực nguồn gốc và tính toàn vẹn của assembly, đảm bảo rằng mã không bị giả mạo hoặc sửa đổi
C. Mã hóa mã nguồn
D. Tối ưu hóa bộ nhớ
5. Entity Framework Core (EF Core) là gì trong .NET?
A. Một framework để xây dựng giao diện người dùng web
B. Một ORM (Object-Relational Mapper) giúp tương tác với cơ sở dữ liệu bằng các đối tượng .NET
C. Một công cụ để quản lý các package và thư viện .NET
D. Một framework để phát triển ứng dụng di động đa nền tảng
6. gRPC trong .NET được sử dụng để làm gì?
A. Xây dựng giao diện người dùng đồ họa
B. Phát triển các dịch vụ microservices hiệu suất cao, sử dụng giao thức truyền thông nhanh chóng dựa trên Protocol Buffers
C. Quản lý cơ sở dữ liệu phân tán
D. Phân tích dữ liệu lớn
7. Phương thức mở rộng (Extension methods) trong C# cho phép làm gì?
A. Thay đổi hành vi của lớp hiện có
B. Thêm phương thức mới vào lớp hiện có mà không cần sửa đổi mã nguồn của lớp đó
C. Tạo ra lớp con từ lớp hiện có
D. Ẩn các phương thức của lớp hiện có
8. Common Language Runtime (CLR) là gì và vai trò của nó trong .NET?
A. Một ngôn ngữ lập trình
B. Môi trường thực thi cho các ứng dụng .NET, quản lý bộ nhớ, thực thi mã, và cung cấp các dịch vụ khác
C. Một công cụ thiết kế giao diện người dùng
D. Một hệ thống quản lý cơ sở dữ liệu
9. Phương thức `Console.WriteLine()` trong .NET Framework thuộc namespace nào?
A. System.IO
B. System.Text
C. System
D. System.Net
10. Đâu là cách khai báo biến số nguyên có tên 'age′ trong C#?
A. int age;
B. variable age as integer;
C. age: integer;
D. integer age;
11. Kestrel trong ASP.NET Core là gì?
A. Một ngôn ngữ lập trình mới của Microsoft
B. Một web server đa nền tảng, mã nguồn mở, được tích hợp sẵn trong ASP.NET Core
C. Một công cụ để debug ứng dụng .NET
D. Một hệ thống quản lý cơ sở dữ liệu NoSQL
12. LINQ (Language Integrated Query) trong .NET 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 (collection, database, XML…)
C. Quản lý phiên bản mã nguồn
D. Xây dựng ứng dụng web
13. Razor Pages trong ASP.NET Core là gì?
A. Một cách tiếp cận mới để xây dựng giao diện người dùng web trong ASP.NET Core, dựa trên trang (page-based) thay vì MVC
B. Một công cụ để tạo báo cáo động trong ứng dụng web
C. Một thư viện JavaScript tích hợp sẵn trong ASP.NET Core
D. Một hệ thống quản lý nội dung (CMS) cho .NET
14. Trong ASP.NET Core MVC, Controller có vai trò gì?
A. Hiển thị dữ liệu lên giao diện người dùng
B. Xử lý logic nghiệp vụ và tương tác giữa Model và View
C. Định nghĩa cấu trúc dữ liệu và quy tắc nghiệp vụ
D. Xác thực và phân quyền người dùng
15. Interface trong C# có thể chứa thành phần nào sau đây?
A. Các trường (fields) có giá trị khởi tạo
B. Các phương thức đã được triển khai (implemented methods)
C. Các sự kiện (events)
D. Các hàm tạo (constructors)
16. NuGet Package Manager được sử dụng để làm gì trong .NET development?
A. Quản lý bộ nhớ
B. Quản lý các thư viện và packages bên ngoài cho dự án .NET
C. Biên dịch mã nguồn C#
D. Triển khai ứng dụng lên server
17. Serialization và Deserialization trong .NET dùng để làm gì?
A. Bảo mật dữ liệu
B. Chuyển đổi đối tượng thành một chuỗi byte để lưu trữ hoặc truyền tải, và ngược lại (chuyển chuỗi byte thành đối tượng)
C. Tối ưu hóa bộ nhớ
D. Tăng tốc độ truy cập dữ liệu
18. Docker containerization mang lại lợi ích gì cho việc phát triển và triển khai ứng dụng .NET?
A. Giảm chi phí license cho .NET Framework
B. Đóng gói ứng dụng và các dependency vào một container, đảm bảo tính nhất quán môi trường và dễ dàng triển khai trên nhiều nền tảng
C. Tăng tốc độ biên dịch mã nguồn
D. Cải thiện hiệu suất cơ sở dữ liệu
19. Unit testing là gì và tại sao nó quan trọng trong phát triển phần mềm .NET?
A. Kiểm thử hiệu năng của ứng dụng
B. Kiểm thử từng đơn vị mã (ví dụ: phương thức, lớp) để đảm bảo chúng hoạt động đúng như mong đợi, giúp phát hiện lỗi sớm và cải thiện chất lượng mã
C. Kiểm thử tích hợp giữa các module
D. Kiểm thử giao diện người dùng
20. Minimal APIs trong ASP.NET Core là gì và ưu điểm của chúng?
A. Một loại API bảo mật cao
B. Một cách đơn giản hóa việc xây dựng HTTP APIs trong ASP.NET Core, giảm thiểu boilerplate code và cấu hình, phù hợp cho các microservices và API nhỏ
C. API chỉ dành cho ứng dụng mobile
D. API để truy cập cơ sở dữ liệu NoSQL
21. Async và Await trong C# được sử dụng để làm gì?
A. Tăng tốc độ xử lý dữ liệu tuần tự
B. Thực hiện các thao tác bất đồng bộ (asynchronous) mà không block luồng chính
C. Quản lý bộ nhớ đa luồng
D. Bảo vệ ứng dụng khỏi tấn công SQL Injection
22. Just-In-Time (JIT) compilation trong .NET là gì?
A. Biên dịch mã nguồn trước khi thực thi
B. Biên dịch mã MSIL (Microsoft Intermediate Language) sang mã máy (native code) ngay trước khi thực thi, giúp tối ưu hóa hiệu suất cho môi trường cụ thể
C. Thông dịch mã nguồn từng dòng một
D. Một kỹ thuật nén mã
23. Delegates trong C# được sử dụng để làm gì?
A. Quản lý bộ nhớ tự động
B. Định nghĩa kiểu dữ liệu tùy chỉnh
C. Tham chiếu đến phương thức
D. Xử lý ngoại lệ
24. Từ khóa nào trong C# được sử dụng để định nghĩa một lớp kế thừa từ một lớp khác?
A. implements
B. inherits
C. extends
D. colon (:)
25. Tính chất nào sau đây KHÔNG phải là đặc điểm của lập trình hướng đối tượng (OOP) trong .NET?
A. Tính đóng gói (Encapsulation)
B. Tính đa hình (Polymorphism)
C. Tính kế thừa (Inheritance)
D. Tính tuần tự (Sequential)
26. Attribute trong C# được sử dụng để làm gì?
A. Định nghĩa kiểu dữ liệu mới
B. Cung cấp metadata (dữ liệu về dữ liệu) cho các thành phần mã (lớp, phương thức, thuộc tính…)
C. Thực hiện các phép toán số học
D. Quản lý bộ nhớ
27. Trong .NET, kiểu dữ liệu nào sau đây được sử dụng để biểu diễn một giá trị logic, có thể là đúng hoặc sai?
A. int
B. string
C. bool
D. char
28. Blazor trong .NET là gì và nó khác biệt so với ASP.NET MVC∕Razor Pages như thế nào?
A. Một ngôn ngữ lập trình mới thay thế C#
B. Một framework để xây dựng giao diện web tương tác, cho phép chạy code C# trên trình duyệt (Client-side Blazor) hoặc trên server (Server-side Blazor), khác với MVC∕Razor Pages chủ yếu render HTML trên server
C. Một hệ thống quản lý nội dung (CMS)
D. Một công cụ kiểm thử hiệu năng web
29. Cross-platform development với .NET MAUI (Multi-platform App UI) nghĩa là gì?
A. Phát triển ứng dụng web chỉ chạy trên nhiều trình duyệt
B. Phát triển ứng dụng di động, desktop có thể chạy trên nhiều hệ điều hành (iOS, Android, Windows, macOS) từ một codebase duy nhất
C. Phát triển ứng dụng server-side chỉ chạy trên Linux
D. Phát triển ứng dụng database độc lập với hệ điều hành
30. Middleware trong ASP.NET Core pipeline là gì?
A. Thành phần xử lý yêu cầu HTTP trong pipeline, mỗi middleware thực hiện một nhiệm vụ cụ thể (ví dụ: xác thực, logging)
B. Một loại component giao diện người dùng
C. Một công cụ để quản lý trạng thái phiên (session state)
D. Một cơ chế bảo mật để chống lại tấn công CSRF