50 câu hỏi phỏng vấn VB.Net hàng đầu và câu trả lời (2025)
Dưới đây là những câu hỏi phỏng vấn Visual Basic .NET và câu trả lời dành cho người mới bắt đầu cũng như ứng viên lập trình viên VB.NET có kinh nghiệm để có được công việc mơ ước của mình.
1) Siêu dữ liệu là gì?
Siêu dữ liệu được gọi là “Dữ liệu về nội dung của dữ liệu” và được tìm thấy trong danh mục của các thư viện. Thực tế, nó được sử dụng ở mặt sau của sách để xem chủ đề cần thiết.
2) Sự khác biệt giữa VB và VB.Net là gì?
Sau đây là những điểm khác biệt giữa VB và VB.Net:
VB | VB.Net |
---|---|
Phụ thuộc vào nền tảng | Nền tảng độc lập |
VB tương thích ngược | VB.Net không tương thích ngược |
Giải thích | Ngôn ngữ biên dịch |
Xử lý ngoại lệ bằng 'On Error…..Goto' | Xử lý ngoại lệ bằng 'Try….Catch' |
Không thể phát triển các ứng dụng đa luồng | Có thể phát triển các ứng dụng đa luồng |
Tải xuống PDF miễn phí: Câu hỏi và câu trả lời phỏng vấn VB.Net
3) Sự khác biệt giữa C# và VB.Net là gì?
Bảng sau đây đưa ra sự khác biệt giữa C# và VB.Net:
VB.Net | C# |
---|---|
Các tham số tùy chọn được chấp nhận | Các tham số tùy chọn không được chấp nhận |
Không phân biệt chữ hoa chữ thường | Trường hợp nhạy cảm |
Không có gì được sử dụng để giải phóng các tài nguyên không được quản lý | 'Sử dụng' được sử dụng để giải phóng các tài nguyên không được quản lý |
Hỗ trợ xử lý lỗi có cấu trúc và không có cấu trúc | Xử lý lỗi không có cấu trúc |
4) Không gian tên là gì?
Không gian tên là một cách có tổ chức để biểu diễn Lớp, Cấu trúc và giao diện có trong ngôn ngữ .NET. Không gian tên là chỉ mục có cấu trúc phân cấp của thư viện lớp, có sẵn cho tất cả các Ngôn ngữ .NET.
5) Không gian tên nào được sử dụng để truy cập dữ liệu?
Không gian tên System.Data được sử dụng để truy cập và quản lý dữ liệu từ nguồn dữ liệu cần thiết. Không gian tên này chỉ xử lý dữ liệu từ cơ sở dữ liệu được chỉ định.
6) JIT là gì?
JIT được gọi là trình biên dịch Just in Time được sử dụng như một phần của môi trường thực thi thời gian chạy. Có ba loại JIT và chúng là:
- Tiền JIT – Biên dịch tại thời điểm triển khai ứng dụng
- Kinh tế JIT – Biên dịch các phương thức được gọi trong thời gian chạy
- JIT bình thường – Biên dịch các phương thức được gọi khi chạy và chúng được biên dịch lần đầu tiên khi được gọi

7) Assembly là gì và công dụng của nó?
Assembly là một trong những thành phần của ứng dụng .NET và được coi là đơn vị chính của tất cả các ứng dụng .NET. Assembly này có thể là DLL hoặc tệp thực thi.
8) Tên mạnh trong ngôn ngữ lập trình .NET là gì?
Strong Name là một tính năng quan trọng của .Net và được sử dụng để xác định duy nhất assembly được chia sẻ. Strong Name đã giải quyết vấn đề tạo ra các đối tượng khác nhau có cùng tên và có thể được gán với sự trợ giúp của Sn.exe.
9) Có những loại lắp ráp nào?
Có hai loại lắp ráp –
- Riêng tư - Một phiên bản riêng thường được một ứng dụng duy nhất sử dụng và được lưu trữ trong thư mục của ứng dụng.
- Công cộng - Một assembly công khai hoặc assembly chia sẻ được lưu trữ trong Global Assembly Cache (GAC) có thể được chia sẻ bởi nhiều ứng dụng
10) Sự khác biệt giữa Namespace và Assembly là gì?
Assembly là nhóm vật lý của tất cả các đơn vị và Namespace nhóm các lớp một cách logic. Namespace có thể có nhiều assembly.
11) Từ khóa INTERNAL trong .Net Framework là gì?
Từ khóa INTERNAL là một trong những chỉ định truy cập sẽ hiển thị trong một assembly nhất định, tức là trong tệp DLL. Điều này tạo thành một thành phần nhị phân duy nhất và hiển thị trong toàn bộ assembly.
12) Option Strict và Option Explicit là gì?
.Net thường cho phép chuyển đổi ngầm bất kỳ kiểu dữ liệu nào. Để tránh mất dữ liệu trong quá trình chuyển đổi kiểu dữ liệu, từ khóa Option Strict được sử dụng và đảm bảo thông báo thời gian biên dịch về các kiểu chuyển đổi này.
Option Explicit là từ khóa được sử dụng trong tệp để khai báo rõ ràng tất cả các biến bằng cách sử dụng các từ khóa khai báo như Dim, Private, Public hoặc Protected. Nếu tên biến chưa khai báo vẫn tồn tại, lỗi sẽ xảy ra tại thời điểm biên dịch.
13) Từ khóa New có tác dụng gì?
Từ khóa new được sử dụng với constructor trong đó nó có thể được sử dụng như một modifier hoặc một toán tử. Khi nó được sử dụng như một modifier, nó ẩn thành viên kế thừa khỏi thành viên lớp cơ sở. Khi nó được sử dụng như một toán tử, nó tạo ra một đối tượng để gọi constructor.
Dim frm As New Form1 frm.show()
14) Từ khóa ReDim là gì và cách sử dụng nó?
Từ khóa Redim được sử dụng riêng cho mảng và được sử dụng để thay đổi kích thước của một hoặc nhiều chiều của một mảng đã được khai báo. Redim có thể giải phóng hoặc thêm các phần tử vào mảng bất cứ khi nào cần thiết.
Dim intArray(7, 7) As Integer ReDim Preserve intArray(7, 8) ReDim intArray(7, 7)
15) Mảng răng cưa trong VB.Net là gì?
Mảng Jagged không gì khác ngoài một mảng của các mảng. Mỗi mục trong mảng là một mảng khác có thể chứa bất kỳ số lượng mục nào.
16) Manifest là gì?
Manifest là một tệp văn bản được sử dụng để lưu trữ thông tin siêu dữ liệu của các assembly .NET. Loại tệp Manifest có thể được lưu dưới dạng loại PE. Tên Assembly, Phiên bản, Văn hóa và mã thông báo khóa có thể được lưu dưới dạng Manifest.
17) Sự khác biệt giữa Dispose và Finalize() là gì?
Phương thức Finalize được gọi bởi Garbage collector giúp chúng ta giải phóng các tài nguyên không được quản lý. Có một số tài nguyên khác như xử lý cửa sổ, kết nối cơ sở dữ liệu được xử lý bởi giao diện iDisposable.
Phương thức Dispose được xử lý bởi giao diện IDisposable để giải phóng rõ ràng các tài nguyên chưa sử dụng. Dsipose có thể được gọi ngay cả khi các tham chiếu khác đến đối tượng vẫn còn hoạt động.
18) Thu gom rác là gì?
Thu gom rác còn được gọi là quản lý bộ nhớ tự động, được sử dụng để tự động tái chế bộ nhớ được phân bổ động. Thu gom rác được thực hiện bởi Garbage collector, sẽ tái chế bộ nhớ nếu chứng minh được rằng bộ nhớ sẽ không được sử dụng.
19) Có những loại thế hệ nào trong bộ thu gom rác?
Có ba loại thế hệ trong trình thu gom rác.
Thế hệ 0 - Điều này xác định một đối tượng mới được tạo chưa bao giờ được đánh dấu để thu thập.
Thế hệ 1 - Điều này xác định một đối tượng đã được đánh dấu là bộ sưu tập nhưng chưa bị xóa.
Thế hệ 2 - Tính năng này xác định một đối tượng đã tồn tại qua hơn một lần quét của trình thu gom rác.
20) Công dụng của Option explicit là gì?
Biến phải được khai báo bắt buộc khi Option Explicit được đặt ở trạng thái BẬT. Nếu Option Explicit được đặt ở trạng thái TẮT, biến có thể được sử dụng mà không cần khai báo.
21) Sự khác biệt giữa lớp System.String và System.StringBuilder là gì?
Lớp System.string không thể cập nhật và nó sẽ tạo đối tượng chuỗi mới thay vì cập nhật đối tượng chuỗi cũ. Nhưng có thể cập nhật trong cùng một đối tượng chuỗi đối với lớp String. Stringbuilder. Vì vậy, thao tác trên trình tạo chuỗi nhanh hơn và hiệu quả hơn lớp chuỗi.
22) Sự khác biệt giữa int và int32 là gì?
Int32 biểu thị số nguyên có dấu 32 bit trong khi int không phải là từ khóa được sử dụng trong VB.Net.
23) Hashtable là gì?
Hashtable được thiết lập để là các mục có cặp khóa và giá trị. Khóa được gọi là chỉ mục và có thể thực hiện tìm kiếm nhanh cho các giá trị bằng cách tìm kiếm qua các khóa.
24) Lớp lồng nhau là gì?
Một lớp có thể được khai báo trong phạm vi của một lớp khác. Các lớp này được coi là nằm trong phạm vi của lớp được bao quanh và có sẵn trong lớp hoặc phạm vi đó.
25) Enumerator là gì?
Enumerator hoặc Enum là một kiểu giá trị với một tập hợp các hằng số được cung cấp cho tập hợp danh sách. Enumeration được sử dụng khi cần định nghĩa cho nhiều hơn một số.
26) Delegate là gì?
Một delegate được định nghĩa là một đối tượng có thể tham chiếu đến một phương thức. Bất cứ khi nào một delegate được gán cho một phương thức, nó sẽ hoạt động chính xác như phương thức đó.
Ví dụ:
public delegate int performaddition(int z, int b);
27) Toàn cầu hóa là gì?
Toàn cầu hóa không gì khác hơn là biến ứng dụng thành quốc tế hóa và bản địa hóa sang các ngôn ngữ hoặc nền văn hóa khác. Văn hóa không gì khác hơn là sự kết hợp giữa ngôn ngữ (tiếng Anh) và vị trí địa lý như Mỹ hoặc Anh.
28) Sự khác biệt giữa Dataset và Datareader là gì?
Trình đọc dữ liệu | Bộ dữ liệu |
---|---|
Datareader chỉ có quyền đọc dữ liệu và được thiết lập để chỉ chuyển tiếp. | Bộ dữ liệu có thể chứa nhiều hơn một bảng từ cùng một nguồn dữ liệu. Nó thậm chí còn lưu trữ mối quan hệ giữa các bảng. |
Datareader không thể lưu trữ nội dung vì nó chỉ đọc | Bộ dữ liệu có thể lưu trữ nội dung |
Datareader là kiến trúc được kết nối | Bộ dữ liệu là kiến trúc ngắt kết nối |
29) Sự khác biệt giữa kiểu giá trị và kiểu tham chiếu là gì?
Kiểu giá trị lưu trữ trực tiếp dữ liệu và được phân bổ vào ngăn xếp. Kiểu tham chiếu lưu trữ tham chiếu đến địa chỉ bộ nhớ của giá trị và được phân bổ vào heap.
30) TRACE trong VB.Net là gì?
TRACE cho phép người dùng xem chi tiết cách mã được thực thi. Điều này cho biết mã đang hoạt động như thế nào.
31) Xác thực và Ủy quyền là gì?
Xác thực là quá trình lấy thông tin xác thực từ người dùng và xác minh danh tính của người dùng. Ủy quyền là quá trình cấp quyền truy cập vào các tài nguyên đã xác thực. Xác thực dẫn đến Ủy quyền.
32) Có những loại Xác thực nào?
Có ba loại Xác thực và chúng là –
- Windows Authentication
- Xác thực biểu mẫu
- Xác thực hộ chiếu
33) Global Assembly Cache (GAC) là gì?
GAC được sử dụng ở nơi chứa shared .NET assembly. Nó được sử dụng trong các tiêu chí sau:
- Nếu lắp ráp .Net có yêu cầu bảo mật đặc biệt
- Nếu ứng dụng .Net phải được chia sẻ với các ứng dụng khác
34) CLR là gì?
CLR được viết tắt là Common Language Runtime và nó tạo thành trái tim của .NET framework. Trách nhiệm của runtime là đảm nhiệm việc thực thi mã của chương trình. CLR đảm nhiệm những việc sau:
- Thu gom rác thải
- Xác minh mã
- Bảo mật truy cập mã
- IL (Ngôn ngữ trung cấp)
35) CTS là gì?
CTS là Common Type System được sử dụng để giao tiếp trôi chảy giữa các ngôn ngữ. Ví dụ, nếu VB có kiểu dữ liệu Integer và C++ có kiểu dữ liệu long và các kiểu dữ liệu này không tương thích.
Để tương thích, CTS có thể được sử dụng như một giao diện giữa hai ngôn ngữ.
36) CLS là gì?
Common Language Specification là một tập hợp con của CTS và được sử dụng để hợp nhất tất cả các ngôn ngữ thành một khối. Điều này mở rộng để hỗ trợ tất cả các ngôn ngữ .NET thành một đơn vị.
37) Mã được quản lý là gì?
Managed Code được sử dụng để chạy bên trong môi trường CLR và được gọi là thời gian chạy .NET. Tất cả ngôn ngữ trung gian (IL) đều được thiết lập là Managed Code.
38) Tuần tự hóa trong .Net là gì?
Serialization được định nghĩa là quá trình chuyển đổi một đối tượng thành luồng byte. Quá trình này chủ yếu được sử dụng để vận chuyển các đối tượng.
39) .Net hỗ trợ bao nhiêu ngôn ngữ?
Sau đây là các ngôn ngữ được VB.Net hỗ trợ:
- C#
- VB.Net
- COBOL
- Perl
40) Sự khác biệt giữa phương thức Convert.tostring và i.tostring là gì?
Convert.tostring xử lý Null và i.tostring không xử lý null.
41) Hai phần chính của .NET là gì?
Chúng bao gồm – Common Language Runtime (CLR) và thư viện lớp .NET Framework.
42) Sự khác biệt giữa luồng và tiến trình là gì?
Luồng được sử dụng để thực thi nhiều chương trình cùng lúc. Trong khi đó, Tiến trình chỉ thực thi một chương trình tại một thời điểm.
43) Kiểu gõ mạnh và kiểu gõ yếu là gì?
Kiểu mạnh là kiểm tra kiểu biến tại thời điểm biên dịch và kiểu yếu là kiểm tra kiểu hệ thống muộn nhất có thể, tức là thời gian chạy.
44) Một DLL .NET có thể chứa bao nhiêu ngôn ngữ .NET?
Mỗi DLL chỉ hỗ trợ một ngôn ngữ.
45) Lớp nào cho phép truy cập vào một phần tử bằng khóa Unique?
Bảng băm là lớp tập hợp cho phép truy cập một phần tử bằng khóa duy nhất.
46) Bảo mật mã là gì?
.NET framework cung cấp các tính năng bảo mật để bảo vệ mã khỏi người dùng trái phép. Có hai loại bảo mật trong .NET:
- Bảo mật dựa trên vai trò – Cho phép người dùng
- Bảo mật truy cập mã – Bảo vệ tài nguyên hệ thống khỏi các cuộc gọi trái phép
47) DLL nào được sử dụng cho microsoft Thời gian chạy .NET?
Mscoree.dll được sử dụng cho Microsoft .NET runtime DLL.
48) Một DLL có thể chứa bao nhiêu lớp?
Một DLL có thể chứa số lượng lớp không giới hạn.
49) Làm thế nào chúng ta có thể lưu trữ dữ liệu thập phân trong .NET?
BinaryWriter được sử dụng để lưu trữ dữ liệu thập phân trong .NET.
50) Bản sao sâu là gì?
Sao chép sâu không gì khác ngoài việc tạo một đối tượng mới rồi sao chép các trường không tĩnh của đối tượng hiện tại sang đối tượng mới.
Những câu hỏi phỏng vấn này cũng sẽ giúp ích cho bài thi viva(orals) của bạn
Bạn đã viết rằng vb. net là nền tảng độc lập và dùng cho cả xử lý lỗi có cấu trúc và không có cấu trúc,
Nhưng tại sao trong bài kiểm tra bạn lại đánh dấu sai?
Khá hữu ich
Có chút hữu ích
Vui lòng sửa 2 xung đột. Đầu tiên, bạn nói rằng vb.net là ngôn ngữ độc lập với nền tảng trong câu hỏi trả lời nhưng trong bài kiểm tra, bạn lại nói rằng vb.net không phải là ngôn ngữ độc lập với nền tảng, thứ hai, vb.net xử lý lỗi có cấu trúc và không có cấu trúc nhưng trong bài kiểm tra, bạn lại nói rằng chỉ hỗ trợ xử lý lỗi có cấu trúc.
Bài kiểm tra có lỗi. Đã sửa ngay!
Tốt và công bằng 3 sao
cảm ơn rất nhiều..