Câu hỏi phỏng vấn Net core
Câu hỏi

Giải thích sự khác biệt giữa Managed code và Unmanaged code trong .NET?

Câu trả lời

Managed code và Unmanaged code là hai khái niệm quan trọng trong .NET, chúng đại diện cho hai cách tiếp cận khác nhau trong việc thực thi và quản lý mã lệnh.

Managed Code

Managed code là mã lệnh được quản lý bởi Common Language Runtime (CLR) trong .NET Framework. Khi mã nguồn được biên dịch, nó không được chuyển thẳng thành mã máy, mà trở thành Intermediate Language (IL), còn được gọi là MSIL hoặc CIL. Khi chạy chương trình, CLR sẽ biên dịch IL thành mã máy tại thời điểm cần thiết (Just-In-Time compilation) và thực thi nó.

Managed code mang lại nhiều lợi ích như:

  • Bảo mật: CLR cung cấp các biện pháp bảo mật như kiểm tra buffer để ngăn chặn buffer overflow.
  • Quản lý bộ nhớ tự động: CLR thực hiện garbage collection, giúp giải phóng bộ nhớ không còn được sử dụng mà không cần sự can thiệp của lập trình viên.
  • Kiểm tra kiểu dữ liệu tại thời điểm chạy: CLR kiểm tra kiểu dữ liệu để đảm bảo tính an toàn của mã.
  • Xử lý ngoại lệ: CLR cung cấp cơ chế xử lý ngoại lệ mạnh mẽ.

Tuy nhiên, managed code cũng có nhược điểm:

  • Hiệu suất: Có thể chậm hơn một chút so với unmanaged code do quá trình quản lý thêm của CLR.
  • Kiểm soát hệ thống thấp: Lập trình viên có ít quyền kiểm soát trực tiếp đ...
middle

middle

Gợi ý câu hỏi phỏng vấn

junior

.NET application domain là gì?

middle

Giải thích việc sử dụng lớp BackgroundService trong Asp.Net Core?

middle

Cái gì chính thức thay thế WCF trong .Net Core?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào