Logo

101 câu hỏi phỏng vấn .NET thường gặp và gợi ý trả lời

Lượt xem: 945
Ngày đăng: 17/03/2024

Tổng hợp các câu hỏi phỏng vấn C#/.Net thường gặp và gợi ý trả lời. Nếu bạn là một lập trình viên đang chuẩn bị ứng tuyển vào một vị trí nào đó của một công ty phần mềm thì đừng bỏ qua bài viết này. 

101 câu hỏi phỏng vấn NET thường gặp và gợi ý trả lời

>> Xem ngay: 1001 câu hỏi phỏng vấn thường gặp và cách trả lời hay nhất - Kinh nghiệm phỏng vấn ViecLamVui

Những câu hỏi phỏng vấn cơ bản về .NET

Sau đây là những câu hỏi phỏng vấn cơ bản về .NET

.NET là gì?

Nhà tuyển dụng có thể hỏi: giả sử rằng tôi không biết gì về .NET. Hãy giải thích cho tôi .NET là gì? NET viết tắt của cái gì? 

Gợi ý cách trả lời: .NET là là một khung phát triển phần mềm và trang web, nó là một trong những framework tốt và đáng tin cậy. Bất kỳ ngôn ngữ nào trong .NET đều có thể sử dụng code được viết bằng ngôn ngữ khác. "NET'' không phải là từ viết tắt cho một cụm từ nào hết, thuật ngữ đầy đủ là Microsoft .NET, vì Microsoft đã sáng tạo ra khung framework này.

.NET hỗ trợ bao nhiêu ngôn ngữ?

Tại thời điểm hiện tại thì .NET hỗ trợ 44 ngôn ngữ khác nhau.

Tuổi thọ của các mục trong ViewState là bao lâu?

 Các mục trong ViewState sẽ tồn tại cho đến khi trang mà chứa chúng ngừng hoạt động.

'CTS' là gì?

CTS là từ viết tắt của Common-Type System (Hệ thống loại chung). Đây là hệ thống ra lệnh các loại dữ liệu được sử dụng trong hệ thống. 

Encapsulation là gì?

Là chức năng bao gồm phương pháp, dữ liệu khác nhau ở trong cùng một dự án.

Điểm khác biệt giữa 'class' (lớp) và 'object' (đối tượng) là gì?

Một "object" (đối tượng) là một cái gì đó xảy ra hoặc nằm trong "class" (lớp). Lớp (class) định hình đối tượng trông như thế nào, cách chúng hoạt động và loại thuộc tính nào chúng có. Đổi lại, các đối tượng hoạt động tương tự tạo nên các lớp đó.

Có sự khác biệt giữa 'debug' và 'trace' hay không?

Có sự khác biệt giữa 'debug' và 'trace' hay không? Có, lớp Trace có thể được dùng để gỡ lỗi và phát hành một số bản dựng nhất định, còn Debug chỉ được dùng để gỡ lỗi.

Điểm khác biệt giữa 'in-process' và 'out-of-process' là gì?

  • In-process (quá trình lưu trữ trong): lưu trữ tất cả dữ liệu từ một phiên phát triển trên máy chủ web
  • Out-of-process  (quy trình lưu trữ ngoài): lưu trữ cùng một dữ liệu trên một khu vực quản lý bộ nhớ ngoài

Điểm khác biệt giữa 'managed code' và 'unmanaged code' là gì?

Managed code (Mã được quản lý) là một loại mã code được tạo và biên dịch trong .NET framework

Unmanaged code (mã không được quản lý) đến từ một khung framework xây dựng phần mềm khác và mang theo tất cả các tính năng và cài đặt của khung khác.

MSIL là gì?

MSIL – Microsoft Intermediate Language – ngôn ngữ trung gian của nền tảng Microsoft.

'int' và 'System.Int32' có khác biệt hay không?

Không có sự khác biệt nhiều giữa "int" và "System.Int32". "Int" có thể được hiểu đơn giản là một phiên bản ngắn hơn của  "System.Int32".

Định nghĩa 'caching'

Caching (Bộ nhớ đệm) là một quá trình khi bạn giữ các tệp và dữ liệu thường được dùng nhất trong một bộ nhớ riêng. Vị trí riêng biệt này - bộ đệm cache - là nơi bạn có thể truy cập tất cả các tệp được chỉ định. Bộ nhớ đệm tiết kiệm cho các nhà lập trình .NET rất nhiều thời gian và tăng khả năng quản lý bộ nhớ.

'assembly' là gì?

Assembly là nơi chứa tất cả các công cụ cần thiết để xây dựng trang web và chương trình sử dụng .NET. Một nhà phát triển có thể cần có nơi tập trung private (riêng) và shared (chung).

Một số câu hỏi về kinh nghiệm và kiến thức

  • Trước đây bạn đã sử dụng .NET chưa?
  • Để thiết kế các ứng dụng Bạn thường sử dụng framework nào ?
  • Bạn có Portfolio các dự án về .NET không?
  • Bạn đã làm việc trên bao nhiêu app?
  • Bạn thích phương pháp phát triển nào hơn?
  • Bạn thích làm việc cá nhân hay làm việc theo nhóm?
  • Bạn thông thạo ngôn ngữ lập trình nào?
  • Bạn có kinh nghiệm gì với việc coding?
  • Loại dự án mà bạn yêu thích làm việc là gì?
  • bạn đã hỗ trợ phát triển App nào?

Câu hỏi phỏng vấn ngôn ngữ lập trình .Net nâng cao

Sau đây là tổng hợp các câu hỏi ngôn ngữ lập trình .Net nâng cao.

Có thể cài đặt thủ công bộ đếm thời gian 'session out' không?

Có thể cài đặt thủ công bộ đếm thời gian 'session out' không? Câu trả lời là có. Và thường câu hỏi này sẽ mở rộng thêm có thể là "Bằng cách nào" Lúc này, bạn phải thực sự thực hiện và truy cập web.config

Có thể kết hợp các ngôn ngữ khác nhau trong thư mục 'App_Code' không?

Bạn không thể kết hợp các ngôn ngữ khác nhau trong thư mục 'App_Code', tập tin bạn đang làm việc phải được viết bằng một mã code cụ thể.

Tập tin '.dll' là gì?

Tập tin '.dll' là những tập tin cần được ẩn. Đây là từ viết tắt của Dynamic Link Library. Các thư viện này rất rộng lớn, chứa một lượng lớn tệp và lệnh. DLL cũng có thể được chia sẻ giữa các chương trình và ứng dụng khác.

Có sự khác biệt giữa 'stack' và 'queue' hay không?

Có sự khác biệt giữa 'stack' và 'queue' hay không? Có, vì stacks là LIFO và queues là FIFO.

LIFO có nghĩa là Last in, first out ("nhập sau, xuất trước"). Stack xử lý các loại giá trị theo hệ thống phân cấp từ trên xuống. Mặt khác, FIFO có nghĩa là First-in, first-out ("nhập trước, xuất trước"). Queues tuân theo nguyên tắc này và chèn các mục từ phía dưới trong khi xóa các mục ở phía trên.

'boxing' là gì? unboxing là gì?

Boxing là một quá trình khi bạn tạo các đối tượng từ các loại giá trị nhất định. Các quy trình này là ẩn. Và unboxing là quá trình ngược lại của boxing.

Làm thế nào để xác thực dữ liệu đã có trên trang Web?

Client-side validation (Xác thực phía khách hàng) là cách để xác thực dữ liệu từ trang web.

Điểm khác biệt chính giữa 'functions' và 'stored procedures' là gì?

  • Features (Tính năng) có thể thực hiện một số nhiệm vụ khác nhau
  • stored procedure (quy trình được lưu trữ) chỉ được thiết kế cho một nhiệm vụ duy nhất.

LINQ là gì?

LINQ (Language Integrated Query) là một truy vấn tích hợp ngôn ngữ. Đây là một mô hình do Microsoft tạo ra với cú pháp cụ thể riêng. LINQ dựa trên ngôn ngữ lập trình C # và có thể được triển khai như một thư viện sang các ngôn ngữ coding khác.

Có sự khác biệt giữa 'stacks' và 'heaps' không?

Câu trả lời là có, stacks lưu trữ các loại giá trị, còn heaps lưu trữ các loại tham chiếu.

Garbage Collector là gì?

Garbage collectors (Gom rác) là những công cụ đặc biệt trong .NET được thiết kế để giải phóng không gian không sử dụng và giúp cho framework chạy và hoạt động nhanh hơn.

'tuple' là gì?

Tuples (Bộ dữ liệu) là bộ sưu tập các loại dữ liệu cùng loại hoặc khác nhau. Các kích thước của bộ dữ liệu luôn được cố định (1 - 8) - nhà phát triển phải áp dụng kích thước mà họ muốn tại thời điểm khai báo "declaration".

Có bao nhiêu loại chỉ mục trong .NET?

Có 2 loại chỉ mục trong .NET là chỉ mục cụm clustered và chỉ mục không phân cụm non-clustered.

Dịch vụ Web .NET là gì?

Dịch vụ web là một thành phần có thể tái sử dụng mà các developer có thể sử dụng để làm cho ứng dụng của họ có thể truy cập qua internet và tương tác với các ứng dụng hoặc chương trình online khác. 

Các dịch vụ này sử dụng các giao thức web và định dạng dữ liệu như HTTP, XML và SOAP để truy cập dữ liệu trên các nền tảng và ngôn ngữ lập trình. .NET bao gồm nhiều class khác nhau cho phép tương tác với các dịch vụ web khác nhau.

OOP liên quan đến .NET là gì?

OOP là viết tắt của lập trình hướng đối tượng, các nhà phát triển có thể sử dụng nó trong .NET để tạo các class mới với các phương thức, thuộc tính, sự kiện và hơn thế nữa. Ngoài ra nó cho phép các developer tạo các chương trình module mà họ có thể sử dụng làm nền tảng cho các ứng dụng mới. Các OOP thường có 4 đặc điểm chung, đó là tính đóng gói, tính đa hình, tính kế thừa và tính trừu tượng.

Khi nào sử dụng .NET Web Forms thay vì ASP.NET MVC là tốt nhất?

ASP .NET MVC thích hợp sử dụng khi cần chia nhỏ các ứng dụng thành các mô hình, khung nhìn và bộ điều khiển rời rạc, giúp việc kiểm tra chúng trở nên dễ dàng. Còn NET framework và các Web Forms của nó có thể thích hợp khi muốn  tạo các ứng dụng đơn giản một cách nhanh chóng, vì việc sử dụng .NET Web Forms không yêu cầu họ học các ngôn ngữ lập trình hoặc mã hóa mới.

.NET khác với Laravel như thế nào?

Laravel là một framework phát triển khác mà các nhà Web Developer có thể quen thuộc. .Net và Laravel khác nhau về các khía cạnh như ngôn ngữ chúng sử dụng, các biện pháp bảo mật mà chúng thực hiện và việc sử dụng thư viện bên thứ ba.

Sự khác biệt giữa .NET Core và .NET Framework là gì?

.NET Core và .NET Framework (đối với hầu hết các phần) đều có mối quan hệ subset-superset. .NET Core được đặt tên là "Core" vì nó chứa các tính năng cốt lõi từ .NET Framework, cho cả các thư viện runtime và framework. 

.NET Core được tạo ra để .NET có thể là mã nguồn mở, đa nền tảng và được sử dụng trong nhiều môi trường bị hạn chế về tài nguyên hơn.

100 câu hỏi phỏng vấn về .NET Framework tiếng Anh

Tổng hợp 100 câu hỏi phỏng vấn  tiếng Anh đơn giản & ngắn gọn bao hàm tất cả các công nghệ trong .NET Framework hữu ích dành cho các lập trình viên.

XEM TRƯỚC 10 TRANG

TẢI FULL TÀI LIỆU

 

Các câu hỏi phỏng vấn .NET khác có thể gặp

  • Hãy giới thiệu về bản thân? – Chỉ nên giới thiệu ngắn gọn về họ tên, tuổi, kinh nghiệm trong vòng 2 – 3 phút?
  • Dự định tương lai trong 3 – 5 năm tới là gì?
  • Bạn đã tìm hiểu về công ty cũng như vị trí làm việc này chưa?
  • Bạn có câu hỏi gì không?
  • Ngoài những công cụ phục vụ cho việc lập trình .NET, bạn có thành thạo công cụ nào khác hay không?

1001 CÂU HỎI PHỎNG VẤN

Tổng hợp các câu hỏi phỏng vấn C#/.Net thường gặp và gợi ý trả lời. Nếu bạn là một lập trình viên đang chuẩn bị ứng tuyển vào một vị trí nào đó của một công ty phần mềm thì đừng bỏ qua bài viết này.

Trên đây là 101 câu hỏi phỏng vấn NET thường gặp và gợi ý trả lời ViecLamVui - chuyên trang tìm việc làm miễn phí - gửi đến bạn. Hy vọng tài liệu trên có thể hỗ trợ các bạn thật hiệu quả.

Bạn có thể đăng tin tuyển dụng miễn phí, tìm việc làm miễn phí các vị trí công việcViệc Làm IT. Bài viết thuộc danh mụcBlog Việc Làm IT trên ViecLamVui