Tải bản đầy đủ (.pdf) (31 trang)

Tổng hợp đề thi lập trình mạng căn bản có đáp án

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.65 MB, 31 trang )

ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC
CÔNG NGHỆ THÔNG TIN

Mã học phần:
Lớp:

ĐỀ THI KẾT THÚC HỌC PHẦN
Tên học phần: Lập trình mạng căn bản
Thời gian làm bài: 75 phút;
(50 câu trắc nghiệm)

- Số tín chỉ (hoặc đvht):

Mã đề thi
128

(Thí sinh không được sử dụng tài liệu)
Họ, tên thí sinh:..................................................................... Mã sinh viên: .............................
Câu 1: Chọn phát biểu đúng:
A. Để xác định tiêu đề (chủ đề) email với SMTP Server, lệnh SUBJECT phải nằm trong thân của
lệnh MAIL TO
B. Để xác định tiêu đề (chủ đề) email với SMTP Server, lệnh SUBJECT phải nằm trong thân của
lệnh DATA
C. Để xác định tiêu đề (chủ đề) email với SMTP Server, lệnh SUBJECT phải được gửi riêng trực
tiếp đến server
D. Để xác định tiêu đề (chủ đề) email với SMTP Server, lệnh SUBJECT phải nằm trong thân của
lệnh RCPT TO
Câu 2: Cho đoạn chương trình: int[] x = new int[25];

Chọn phát biểu đúng:


A. x[24] không tồn tại
B. Giá trị của x[24] là 0
C. Giá trị của x[24] là null
D. A, B, C đều sai
Câu 3: Các phương pháp dùng thread:
A. Định thì.
B. Bất đồng bộ.
C. Đồng bộ.
D. B, C đều đúng
Câu 4: Kết quả màn hình sau khi thực thi đoạn mã sau là?
bool condition = false;
if (condition)
if (5 < 10) Console.WriteLine("5 lon hon 10”);
else
Console.WriteLine("5 nho hon 10”);
A. Không in gì cả
B. false
C. 5 nho hon 10
D. 5 lon hon 10
Câu 5: Cho đoạn code như sau:

Nêu không dùng Thread mà gọi trực tiếp hàm syncRead() thì chương trình sẽ bị ảnh hưởng thế
nào?
A. Con trỏ lệnh sẽ thực thi hàm Start()
B. Con trỏ lệnh sẽ chạy hết hàm syncRead() cho đến khi thực thi các khối lệnh khác
C. Con trỏ lệnh sẽ thực thi các khối lệnh khác hàm syncRead()
D. Chương trình không bị ảnh hưởng
Câu 6: FTP dùng những port nào sau đây?
A. 21, 25
B. 80, 8080

C. 110, 25
D. 20, 21
Câu 7: Nêu một ví dụ cho thấy ảnh hưởng của việc dùng phương pháp truy cập đồng bộ.
A. Khi có nhiều client kết nối vào Web server
B. Khi mở một file Word có kích thước rất lớn.
C. Khi có nhiều client kết nối vào FTP server
Trang 1/6 - Mã đề thi 128


D. Khi có nhiều client kết nối vào Email server
Câu 8: Đoạn chương trình sau nhằm mục đích gì?

try {
cn = new SqlConnection(strCon);
cn.Open();
}
catch (Exception e){
MessageBox.Show(e.Message);
};
A. Hiển thị một thông báo lỗi về kết nối đến cơ sở dữ liệu
B. Hiển thị một kết quả về kết nối đến cơ sở dữ liệu
C. Thực hiện một kết nối đến cơ sở dữ liệu được mô tả trong biến strCon
D. Hiển thị một thông báo về kết nối đến cơ sở dữ liệu
Câu 9: Muốn FTP server nhận dữ liệu không phải ở port mặc định thì phải dùng lệnh gì?
A. RESPONSE
B. SENT
C. RCVD
D. PASV
Câu 10: Phương thức Socket.Bind thực hiện công việc?
A. Liên kết một socket với một IPAddress

B. Liên kết một socket với một IPEndPoint
C. Liên kết một socket với một Address
D. Liên kết một socket với một AddressFamily
Câu 11: Để đặt Socket vào chế độ sẵn sàng nhận dữ liệu, dùng?
A. Socket socket = listener.Ready();
B. Socket socket = listener.Accept();
C. Socket socket = listener.Listen();
D. A, B, C đều sai
Câu 12: Một ứng dụng đa tiến trình (multithread) cùng tham chiếu đến biến counter, làm thế nào để
tăng biến counter lên 1?
A. lock(counter){counter++;}
B. counter++;
C. counter = counter + 1;
D. ++counter;
Câu 13: Khi lập trình mạng, chúng ta có cần quan tâm đến việc định tuyến giữa các router không?
Nêu rõ lý do.
A. Không. Do vai trò đóng gói giữa các tầng trong chồng giao thức Internet
B. Cần. Do vai trò đóng gói giữa các tầng trong chồng giao thức Internet
C. A, B đều đúng
D. A, B đều sai
Câu 14: Địa chỉ 127.0.0.1 còn được gọi là:
A. Local address
B. Loopback address
C. Cả A và B đều đúng
D. Cả A và B đều sai
Câu 15: Giả sử delegate MovedEventHandler được xác định bởi phát biểu delegate void
MovedEventHandler(). Cách khai báo sự kiện MovedEvent đúng là:
A. public MovedEventHandler MovedEvent;
B. public event MovedEventHandler MovedEvent;
C. public event Action MovedEvent;

D. B, C đều đúng.
Câu 16: Kết thúc một lệnh trong C# khi giao tiếp với Email server là chuỗi ký tự?
A. "\n"
B. "\r\n"
C. "\r"
D. “Enter”
Câu 17: Để xác định địa chỉ email của người gửi với SMTP Server, dùng lệnh?
A. MAIL FROM
B. RCPT FROM:
C. MAIL FROM:
D. RCPT FROM
Câu 18: Đoạn chương trình sau nhằm mục đích gì?
try {
tcp = new TcpClient(“192.168.1.3”, 110);
}
catch (Exception e) {
MessageBox.Show(e.Message);
Trang 2/6 - Mã đề thi 128


};
A. Hiển thị một thông báo lỗi về kết nối đến cơ sở dữ liệu
B. Thực hiện một kết nối TCP đến máy chủ ở IP 192.168.1.3 và port 110
C. Thực hiện một kết nối UDP đến máy chủ ở IP 192.168.1.3 và port 110
D. Hiển thị một kết quả về kết nối đến cơ sở dữ liệu
Câu 19: Port có vai trò gì trong các ứng dụng mạng?
A. Port có vai trò phân biệt các ứng dụng mạng
B. Port có vai trò phân biệt các ứng dụng server
C. Port có vai trò phân biệt các ứng dụng server và client
D. Port có vai trò phân biệt các ứng dụng client

Câu 20: Cho đoạn code sau:

Nếu không dùng thread ở đây, chương trình sẽ dừng khi?
A. Hàm Explore() thực thi xong
B. Không xác định được
C. Có máy khác kết nối đến
D. A, B, C đều sai
Câu 21: Số lượng port number trong mỗi host là?
A. 1023
B. 65535
C. 1024
D. 65536
Câu 22: Cho khai báo sau: Int[] mySet = new int[5];
Biến mySet thừa kế từ?
A. System.Collection.List
B. System.Array
C. System.Collection
D. A, B, C đều sai.
Câu 23: Để lập trình với .NET framework nhằm mục đích truyền thông với các ứng dụng phân tán thì có
thể dùng?
A. Web Service
B. .NET remoting
C. A, B đều đúng
D. A, B đều sai
Câu 24: Cho khai báo hàm sau:

public void InfoMessage(String info)
{
if (tbResults.InvokeRequired) {
InfoMessageDel method = new InfoMessageDel(InfoMessage);

tbResults.Invoke(method, new object[] { info });
return;
}
tbResults.Text = info;
}
Mục đích khai báo hàm InfoMessage là?
A. Để gán giá trị info cho đối tượng tbResults
B. Để kích hoạt đối tượng tbResults hoạt động
C. Để tránh vấn đề tranh chấp bởi các thread cùng tham chiếu đến đối tượng tbResults
D. Để kích hoạt hàm InfoMessageDel
Câu 25: Để phân biệt giữa 2 máy trên mạng Internet, ta nên dùng cấu trúc dữ liệu nào?
A. IPEndPoint
B. DNS
C. IPAddress
D. UDPClient
Trang 3/6 - Mã đề thi 128


Câu 26: Khai báo delegate nào sau đây là hợp lệ:
A. private delegate MyDelegate(float x);
B. private delegate float MyDelegate(float);
C. private delegate MyDelegate(x);
D. private delegate void MyDelegate(float x);
Câu 27: Đoạn chương trình sau nhằm mục đích gì?

public void WriteToLogs(string msg, FileStream file)
{
byte[] bData = Encoding.ASCII.GetBytes(msg.ToCharArray());
file.Write(bData, 0, bData.Length);
file.Flush();

}
A. Kiểm tra kích thước (số byte) của mảng bData
B. Kiểm tra kích thước (số byte) văn bản trong một file
C. Ghi vào một file với nội dung văn bản là msg
D. A, B, C đều sai
Câu 28: Đọc/ghi file hiệu quả nhất khi thao tác với từng khối dữ liệu chiếm?
A. 4096 byte
B. 2048 byte
C. 1024 byte
D. 1000 byte
Câu 29: Cho đoạn code như sau:

Nêu ảnh hưởng của việc bỏ khối lệnh trong lệnh if(…) .
A. Hàm InfoMessage(…) sẽ gây lỗi thực thi
B. Sẽ dẫn đến vấn đề tranh chấp trong việc truy xuất vào đối tượng info (do info vừa được đọc
và vừa được hiển thị)
C. Hàm InfoMessage(…) sẽ gây lỗi biên dịch
D. A, B, C đều đúng
Câu 30: Khi lập trình quản lý luồng trong môi trường mạng, cần khai báo namespace sau:
A. System.Data
B. System.Threading C. System
D. System.IO
Câu 31: Để kiểm tra hệ điều hành có hỗ trợ IPv6 hay không thì sử dụng?
A. Socket.OSSupportsIPv6
B. Socket.SupportsIPv6
C. Socket.OSIPv6
D. A, B, C đều sai
Câu 32: Lựa chọn phát biểu đúng nhất:
A. Kết nối với Email server bằng TCP ở port 110 để gửi mail.
B. Kết nối với Email server bằng TCP ở port 25 để gửi mail.

C. Kết nối với Email server bằng TCP ở port 110 để nhận mail.
D. B, C đúng
Câu 33: Để cho phép server lắng nghe trên mọi interface của nó, ta dùng?
A. Socket socket = listener.Accept();
socket.Bind(new IPEndPoint(IPAddress.IPv6Any, PORT));
B. Socket listener = new Socket(AddressFamily.InterNetworkV6, SocketType.Stream,
ProtocolType.Tcp);
listener.Bind(new IPEndPoint(IPAddress.IPv6Any, PORT));
C. Socket socket = listener.Ready();
socket.Bind(new IPEndPoint(IPAddress.IPv6Any, PORT));
Trang 4/6 - Mã đề thi 128


D. Socket socket = listener.Listen();

socket.Bind(new IPEndPoint(IPAddress.IPv6Any, PORT));
Câu 34: Đoạn lệnh trong thân vòng lặp dưới đây thực hiện mấy lần?
int value = 0;
do {
Console.WriteLine (value);
} while value > 10;
A. 1
B. 10
C. 0
D. 9
Câu 35: Chọn phát biểu sai:
A. Sử dụng thành phần của lớp (class) một cách không trực tiếp (thông qua đối tượng của lớp),
cần phải khai báo thành phần với từ khóa private
B. Sử dụng thành phần của lớp (class) một cách không trực tiếp (thông qua đối tượng của lớp),
cần phải khai báo thành phần với từ khóa public

C. Sử dụng thành phần của lớp (class) một cách không trực tiếp (thông qua đối tượng của lớp),
cần phải khai báo thành phần với từ khóa protected
D. Sử dụng thành phần của lớp (class) một cách không trực tiếp (thông qua đối tượng của lớp),
cần phải khai báo thành phần với từ khóa static
Câu 36: Nếu muốn duyệt qua các phần tử trong một mảng arrNumbers các số integer thì dùng
vòng lặp nào thích hợp nhất?
A. foreach (number in arrNumbers){}
B. for each (int number in arrNumbers){}
C. for (int i; each i in arrNumbers; i++){}
D. foreach (int number in arrNumbers){}
Câu 37: Để chuyển đổi một mảng byte thành String dùng phát biểu nào sau đây?
A. Encoding.GetString()
B. Encoding.UTF8.GetByte()
C. Encoding.UTF8.GetString()
D. Encoding.GetByte()
Câu 38: Để khai báo một lớp (class) có đặc tính remoting thì điều cần thiết là tạo lớp đó dẫn xuất từ?
A. System.MarshalByRefObject
B. System.IO
C. System.Security
D. System.Data
Câu 39: Chọn phát biểu đúng nhất sau đây:
A. Lập trình mạng có những điểm tương đồng với lập trình Web
B. Lập trình web là một nhánh của lập trình mạng
C. Một chương trình mạng là chương trình dùng mạng máy tính để truyền thông tin đến/từ ứng

dụng khác
D. Lập trình mạng là một nhánh của lập trình web
Câu 40: Vùng port number dùng cho các ứng dụng quan trọng trên hệ điều hành là?
A. 49152 – 65535 (Dynamic)
B. 1024 – 49151 (Registered)

C. 0 – 1023 (Well-know)
D. A, B, C đều sai
Câu 41: Một đối tượng IPEndPoint chứa những thành phần nào?
A. IPAddress và Port number
B. IPAddress và MAC number
C. IPAddress và MACAddress
D. MACAddress và Port number
Câu 42: Chọn phát biểu đúng nhất sau đây:
A. 192.618.0.1 là private IP
B. 81.98.59.133 là public IP
C. Cả A và B đều đúng
D. Cả A và B đều sai
Câu 43: Địa chỉ 10.2.3.4 khi thể hiện ở dạng số (kiểu long) có giá trị là?
A. 167904004
B. 31168192
C. 33663168
D. 67305994
Câu 44: Hai stream quan trọng trong khi thực hiện input/output trong môi trường mạng là:
A. thread và fileStream
B. networkStream và thread
C. networkStream và fileStream
D. networkStream và byteStream
Câu 45: Constructors của lớp (class) có vai trò gì?
A. Dùng để khởi tạo đối tượng của lớp
B. Dùng để khởi tạo các biến của lớp
Trang 5/6 - Mã đề thi 128


C. Dùng để khởi tạo các hàm của lớp
Câu 46: Cho đoạn chương trình sau:


D. Dùng để khởi tạo các phương thức của lớp

1.
class MyClass
2.
{
3.
void myMethod( int i ){ Console.Write (“int version”); }
4.
void myMethod( String s) { Console.Write (“String version”); }
5.
public static void main( String args[])
6.
{
7.
MyClass obj = new MyClass();
8.
char ch = ‘c’;
9.
obj.myMethod(ch);
10.
}
11.
}
Hãy chọn phát biểu đúng:
A. Dòng 4 không thể biên dịch vì không thể override các phương thức có kiểu trả về là
void
B. Dòng số 9 sẽ phát sinh 1 biệt lệ (exception)
C. Dòng số 9 không thể biên dịch vì phương thức myMethod không nhận tham số kiểu

char
D. Đoạn chương trình thi hành và in ra kết quả là: int version
Câu 47: Đoạn mã sau sai chỗ nào?
public class Question
{
public static void Main(String[] args)
{
Boolean b = true;
if (b)
{
for (Integer i = 0; i < 10; ++i)
Console.Write(i);
}
Console.ReadLine();
}
}
A. Đoạn mã không có lỗi
B. Điều kiện của câu lệnh if phải có kiểu boolean chứ không phải Boolean
C. Biến i trong câu lệnh for phải là int chứ không phải Integer
D. Khai báo là bool chứ không phải là Boolean
Câu 48: Để bắt đầu một phiên làm việc với SMTP Server, dùng lệnh?
A. HELO
B. HI
C. BYE
D. HELLO
Câu 49: Phương pháp để bắt các ngoại lệ (exceptions):
A. Dùng cấu trúc try-catch-finally.
B. Đánh dấu ô thích hợp trong Advanced Build Settings và dùng cấu trúc try-catch-finally.
C. Dùng cấu trúc checked và cấu trúc try-catch-finally.
D. B, C đều đúng

Câu 50: Lệnh Socket socket = listener.Accept(); nhằm mục đích gì?
A. Thực hiện lắng nghe vô thời hạn và nhận dữ liệu được gửi tới
B. Thực hiện tạo một kết nối mới hơn kết nối đang dùng
C. Thực hiện lắng nghe có thời hạn và nhận dữ liệu được gửi tới
D. A, B, C đều sai
-----------------------------------------------

----------- HẾT ----------

Trang 6/6 - Mã đề thi 128


ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC
CÔNG NGHỆ THÔNG TIN

Mã học phần:
Lớp:

ĐỀ THI KẾT THÚC HỌC PHẦN
Tên học phần: Lập trình mạng căn bản
Thời gian làm bài: 75 phút;
(50 câu trắc nghiệm)

- Số tín chỉ (hoặc đvht):

Mã đề thi
132

(Thí sinh không được sử dụng tài liệu)

Họ, tên thí sinh:..................................................................... Mã sinh viên: .............................
Câu 1: Cho khai báo class như sau:
class Sample {
public int MyFun(int i) {Console.WriteLine("Welcome to IndiaBIX.com !" ); return 0; }
}
Cách gọi hàm MyFun đúng nhất?
A. delegate int del(int i); Sample s = new Sample(.); del = new delegate(ref MyFun); del(10);
B. delegate int del(int i); del d; Sample s = new Sample(); d = new del(ref s.MyFun); d(10);
C. delegate void del(int i); Sample s = new Sample(); deld = new del(ref s.MyFun); d(10);
D. Sample s = new Sample(); delegate void del = new delegate(ref MyFun); del(10);
Câu 2: Ứng dụng nào cho phép biên dịch file mã nguồn C#.NET thành file thực thi?
A. WSDL.EXE
B. CSHARPC.EXE
C. CSC.EXE
D. CSHARP.EXE
Câu 3: Nhận xét về dòng lệnh this.btSend.Click += OnbtSendClick; với btSend là tên của một button:
A. Cộng chuỗi trong biến OnbtSendClick vào Click của btSend
B. Dòng lệnh bị lỗi
C. Khai báo hàm xử lý event Click của btSend có tên là OnbtSendClick
D. Nối chuỗi trong biến OnbtSendClick vào Click của btSend
Câu 4: Mã hóa nguyên bản "network" với khóa k = 4 bằng phương pháp Caesar cho ra bản mã là?
A. rixasvo
B. ofuxpsl
C. qhwzrun
D. zsgwftr
Câu 5: Lệnh nào sau đây bị lỗi?
A. IPAddress IPAdd = Dns.GetHostAddresses("Localhost")[0];
B. IPAddress IPAdd = Dns.GetHostAddresses("Localhost")[2];
C. IPAddress IPAdd = Dns.GetHostAddresses("Localhost")[1];
D. IPAddress IPAdd = Dns.GetHostAddresses("Localhost");

Câu 6: Điều gì xảy ra khi đoạn lệnh sau đây biên dịch/thực thi?
Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
IPEndPoint iep = new IPEndPoint(IPAddress.Any, 9050);
sock.Bind(iep); EndPoint ep = (EndPoint)iep; byte[] data = new byte[1024];
int recv = sock.ReceiveFrom(data, ref ep);
A. Một SocketException xuất hiện
B. Đoạn lệnh bị báo lỗi biên dịch
C. Nhận dữ liệu từ bất kỳ máy nào gửi đến
D. Nhận dữ liệu từ bất kỳ máy nào gửi đến port 9050
Câu 7: Chuỗi kết nối string strCon = "Data Source=CLIENT; Initial Catalog=TEST; Persist Security
Info=True;User ID=sa;Password=123456"; thích hợp đối với hệ quản trị cơ sở dữ liệu nào?
A. MS Access
B. SQL server
C. MS Excel
D. File Text
Câu 8: Ý nghĩa của việc ứng dụng Web Service và .NET Remoting vào trong lập trình?
A. Truyền thông với các ứng dụng phân tán
B. Trừu tượng hóa cơ sở hạ tầng mạng
C. Những vấn đề phức tạp phía sau đã được che dấu, công việc của người lập trình trở nên đơn giản
hơn nhiều
D. A, B, C đều đúng
Câu 9: Để gán một IP có hợp lệ vào biến ip thì nên dùng đoạn mã lệnh nào?
A. IPAddress ip = new IPAddress("10.0.0.5");
Trang 1/5 - Mã đề thi 132


B. IPAddress ip; IPAddress.TryParse("10.0.0.5", out ip);
C. IPAddress ip = IPAddress.Parse("10.0.0.5");
D. IPAddress ip = new IPAddress(); ip.Parse("10.0.0.5");
Câu 10: Đoạn lệnh sau làm gì?

TcpClient client = new TcpClient("192.168.44.3", 25); string Data = "Helo";
StreamWriter sw = new StreamWriter(client.GetStream()); sw.WriteLine(Data); sw.Flush();
A. Khởi động phiên làm việc với SMTP Mail server, nhưng phải sửa Data = "Hello"
B. Khởi động phiên làm việc với SMTP Mail server
C. Đoạn lệnh trên sẽ gây ra lỗi biên dịch
D. Khởi tạo TcpClient và gửi chuỗi "Helo" trên đường truyền
Câu 11: Khi giao tiếp với FTP Server và SMTP, POP3 Mail server thì có điểm giống là:
A. Cũng dùng NetworkStream để gửi các lệnh dưới dạng text
B. Cuối mỗi dòng lệnh phải kết thúc bằng "\r\n"
C. Khi client đã kết nối được với server thì server luôn trả lời với mã là 220
D. A, B, C đều đúng
Câu 12: Chọn phát biểu đúng:
A. Một constructor được dùng để thiết lập các giá trị mặc định cho đối tượng
B. Destructors cũng được dùng cho cả class và struct
C. Một class có thể có nhiều hơn một destructor
D. A, B, C đều sai
Câu 13: Sau khi thực hiện dòng lệnh CSC /t:library TEST.CS thành công thì file kết quả thu được là?
A. TEST.DLL
B. TEST.EXE
C. TEST.OBJ
D. TEST.COM
Câu 14: Điều gì xảy ra khi đoạn lệnh sau đây biên dịch/thực thi?
Socket
sock
=
new
Socket(AddressFamily.InterNetwork,
SocketType.Dgram,
ProtocolType.Udp); IPEndPoint iep = new IPEndPoint(IPAddress.Parse("192.168.1.255"), 9050); string
hostname = Dns.GetHostName(); byte[] data = Encoding.ASCII.GetBytes(hostname);

sock.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, 1);
sock.SendTo(data, iep); sock.Close();
A. Một SocketException xuất hiện
B. Gửi chuỗi tên máy đến tất cả các host cùng mạng 192.168.1.0/24
C. Đoạn lệnh bị báo lỗi biên dịch
D. Gửi chuỗi tên máy đến host 192.168.1.255
Câu 15: Với C#.NET và .NET Framework version 3.5 và sau này thì dòng lệnh nào sẽ gây ra lỗi khi biên
dịch đoạn mã sau:
FileStream
fs
=
new
FileStream("D:\\test.txt",
FileMode.OpenOrCreate);
fs.Seek(0, SeekOrigin.Begin);
byte[] fileContents = new byte[fs.Length];
fs.Read(fileContents, 0, (int)fs.Length);
tbContent.Text = Encoding.UTF8.GetString(fileContents);
fs.Close();

A. fs.Seek(0, SeekOrigin.Begin);
B. FileStream fs = new FileStream("D:\\test.txt", FileMode.OpenOrCreate);
C. tbContent.Text = Encoding.UTF8.GetString(fileContents);
D. fs.Read(fileContents, 0, (int)fs.Length);
Câu 16: Chọn phát biểu đúng về Exception:
A. Exception xảy ra trong suốt thời gian biên dịch
B. Exception xảy ra trong thời gian thực thi chương trình (run-time)
C. Exception xảy ra ngay khi thực thi chương trình
D. Exception xảy ra ngay khi thực hiện biên dịch Just-In-Time
Câu 17: Đoạn mã lệnh nào không gây lỗi?

A. IPAddress[] add; Dns myDNS = new Dns(); add = myDNS.GetHostAddresses("localhost");
B. IPAddress add; Dns myDNS = new Dns(); add = myDNS.GetHostAddresses("localhost");
C. IPAddress[] add = Dns.GetHostAddresses("localhost");
Trang 2/5 - Mã đề thi 132


D. IPAddress add = Dns.GetHostAddresses("localhost");
Câu 18: Exception class nào sau đây không có trong .NET framework?
A. OutOfMemoryException
B. Exception
C. StackMemoryException
D. DivideByZeroException
Câu 19: Trong cú pháp của câu lệnh CSC /r: TEST.DLL TEST.CS thì ý nghĩa của khóa /r là?
A. Tham chiếu đến thư viện TEST.DLL
B. Chỉ thị trình biên dịch dịch kết quả ra file .EXE
C. Chỉ thị trình biên dịch dịch kết quả ra file .COM
D. A, B, C đều sai
Câu 20: Tác dụng của hàm Flush() trong lớp System.IO.StreamWriter?
A. Cho phép biến đối tượng thuộc lớp tự giải phóng các tài nguyên đang chiếm giữ trước khi bị thu hồi
bởi bộ thu hồi rác tự động (garbage collection)
B. Làm cho tất cả các biến mảng trong phiên làm việc hiện hành có giá trị null
C. Khởi tạo lại giá trị ban đầu cho biến đối tượng thuộc lớp
D. Xóa tất cả các bộ đệm cho writer hiện hành và làm cho bất kỳ dữ liệu đã buffer phải được ghi vào
stream bên dưới
Câu 21: Điểm giống nhau khi hiện thực các hàm mã hóa, giải mã của thuật toán DES, RSA trong
C#.NET?
A. Input, output của chúng là 1 ký tự
B. Input, output của chúng là chuỗi (string)
C. Input, output của chúng là 1 byte
D. Input, output của chúng là mảng byte

Câu 22: Chọn phát biểu đúng về hàm static trong C#.NET:
1. Hàm static chỉ truy xuất được dữ liệu static
2. Hàm static không thể gọi các loại hàm khác
3. Cần phải khởi tạo trị ban đầu cho dữ liệu static
4. Các loại hàm khác có thể gọi hàm static và truy xuất dữ liệu static
5. this được dùng để tham chiếu đến các hàm static
A. 3, 4
B. 2, 3, 5
C. 1, 2, 4
D. 4, 5
Câu 23: Mã hóa nguyên bản "network" với khóa là "MONARCHY" bằng phương pháp Playfair cho ra
bản mã là?
A. mgqznmiz
B. ofuxpsl
C. qhwzrun
D. A, B, C đều sai
Câu 24: Khi tạo một Web Service Server thì file lưu trữ sẽ có phần mở rộng là?
A. ASP
B. ASPX
C. ASMX
D. CS
Câu 25: Chọn phát biểu đúng về constructors trong C#.NET:
1. Constructors không thể overloaded.
2. Constructors luôn có cùng tên với class.
3. Constructors không bao giờ được gọi tường minh.
4. Constructors không bao giờ trả về trị cho nơi gọi.
5. Constructors cấp phát không gian bộ nhớ cho object.
A. 1, 3, 5
B. 4, 5
C. 2, 3, 4

D. 3, 5
Câu 26: Muốn tạo project để khi biên dịch project trên để thu được file DLL thì cần phải khai báo kiểu
là?
A. Console Application
B. Class Library
C. Windows Forms
D. WPF Application
Câu 27: Kết quả trên màn hình sau khi thực hiện đoạn chương trình sau:
int index = 6, val = 44; int[] a = new int[5]; try { a[index] = val;}
catch(IndexOutOfRangeException e) { Console.Write("Index out of bounds ");}
finally {Console.Write("Remaining program");}
A. Index out of bounds
B. Remaining program
C. Index out of bounds Remaining program
D. Biên dịch lỗi tại dòng: a[index] = val;
Câu 28: Các bước cần thiết để dùng TCP/IP truyền file?
A. Tạo một stream tương ứng file  Đọc nội dung file vào buffer array  Gửi buffer array trên đường
truyền
Trang 3/5 - Mã đề thi 132


B. Tạo một đối tượng TCP ứng với địa chỉ IP và port Đọc nội dung file vào buffer array  Gửi
buffer array trên đối tượng đó
C. Tạo một đối tượng IPAddress  Đọc nội dung file vào buffer array  Gửi buffer array trên đối
tượng đó
D. Tạo một đối tượng IPHostEntry  Đọc nội dung file vào buffer array  Gửi buffer array trên đối
tượng đó
Câu 29: Cho đoạn lệnh sau: IPAddress Ip3 = IPAddress.Parse("172.16.1.12"); Byte[] b=
Ip3.GetAddressBytes(); thì b trong bộ nhớ sẽ có giá trị là?
A.


B.

C.
D. A, B, C đều sai
Câu 30: Điều kiện tiên quyết để tạo một web service bằng C#.NET trong Windows là?
A. Cài đặt IIS server
B. Cài đặt ASP.NET
C. Cài đặt một web browser
D. A, B, C đều sai
Câu 31: Khi lập trình giao tiếp với SMTP, POP3 Mail server thì cuối mỗi dòng lệnh phải kết thúc bằng:
A. "\r\n"
B. "\n"
C. "\r"
D. "enter"
Câu 32: Điều gì sẽ xảy ra nếu nhập giá trị "ABC" khi đoạn chương trình sau thực thi:
int index = 6, val = 44; int[] a = new int[5]; try { a[index] = val;}
catch(FormatException e) { Console.Write("Bad Format "); }
catch(IndexOutOfRangeException e) { Console.Write("Index out of bounds ");}
finally {Console.Write("Remaining program");}
A. Biên dịch lỗi tại dòng: a[index] = val;
B. Biên dịch lỗi tại dòng: catch(FormatException e) { Console.Write("Bad Format "); }
C. Màn hình xuất hiện: Bad Format Remaining program
D. Biên dịch lỗi tại dòng: catch(IndexOutOfRangeException e)
Câu 33: Chọn phát biểu đúng về FTP Passive Mode:
1. Dùng lệnh PASV để chuyển chế độ
2. Dùng lệnh PASSIVE để chuyển chế độ
3. Khi cần gửi/nhận dữ liệu không phải trên port mặc định
4. Không phải trình FTP server nào cũng hỗ trợ chế độ làm việc này
A. 1, 2, 3

B. 1, 3, 4
C. 2, 3, 4
D. 1, 2, 3, 4
Câu 34: Đoạn lệnh sau có ý nghĩa gì?
Process[] allProcs = Process.GetProcesses();
foreach(Process thisProc in allProcs) { Console.Write(thisProc.ProcessName); }
A. In ra tên của tất cả các tiến trình (process) đang chạy trên máy hiện hành
B. In ra tên một tiến trình (process) đang chạy trên máy hiện hành
C. Đoạn lệnh bị báo lỗi biên dịch
D. In ra tên một tiến trình (process) đầu tiên đang chạy trên máy hiện hành
Câu 35: Sau khi thực hiện dòng lệnh WSDL HTTP://LOCALHOST/TEST.ASMX thành công thì file kết
quả thu được là?
A. TEST.EXE
B. TEST.CS
C. TEST.COM
D. TEST.DLL
Câu 36: Để dùng các thuật toán mã hóa được cài đặt sẵn trong C#.NET, cần khai báo?
A. using System.Security.Cryptography;
B. using System.Security.Security;
C. using System.IO;
D. using System.Security. Encrypt;
Câu 37: Khai báo đối tượng kết nối đến máy chủ DNS: UdpClient dnsClient = new
UdpClient("203.113.188.2", myPort); thì biến myPort phải có giá trị là?
A. 53
B. 443
C. 80
D. 21
Câu 38: Để sinh ra các chứng chỉ X.509 trong C#.NET thì cần khai báo?
A. using System.Security.Cryptography.X509Certificates;
B. using System.Security.Cryptography;

C. using System.Security.Cryptography.X509;
Trang 4/5 - Mã đề thi 132


D. using System.Security. Encrypt;
Câu 39: Class dùng để quản lý thread hiệu quả nhất trong C#.NET là?
A. ThreadPoll
B. ThreadPooling
C. Threads
D. ThreadPool
Câu 40: Để lập trình được với Thread trong C#.NET thì cần phải khai báo namespace?
A. System. Threads
B. System.Thread
C. System.IO
D. System.Threading
Câu 41: Khi kết nối vào cơ sở dữ liệu được SQL Server chứng thực 2 lớp (Windows Authentication,
SQL Server Authentication) thì cần khai báo trong chuỗi kết nối có giá trị Integrated security = ?
A. True
B. Không cần
C. True hoặc False
D. False
Câu 42: Điều gì xảy ra khi đoạn lệnh sau đây biên dịch/thực thi?
Socket
sock
=
new
Socket(AddressFamily.InterNetwork,
SocketType.Dgram,
ProtocolType.Udp); IPEndPoint iep = new IPEndPoint(IPAddress.Broadcast, 9050);
byte[] data = Encoding.ASCII.GetBytes("This is a test message"); sock.SendTo(data, iep);

sock.Close();
A. Gửi chuỗi "This is a test message" đến tất cả các host cùng mạng
B. Một SocketException xuất hiện
C. Đoạn lệnh bị báo lỗi biên dịch
D. Gửi chuỗi "This is a test message" đến tất cả các host
Câu 43: Đoạn lệnh sau đây làm gì?
Long DiaChi = 1 * 256 ^ 3 + 127 * 256 ^ 0; IPEndPoint LocalEP = new IPEndPoint(DiaChi, 1400);
TcpClient tcp = new TcpClient(LocalEP);
A. Tạo một đối tượng TCP kết nối đến địa chỉ IP và port ở trên
B. Đoạn lệnh bị lỗi
C. Tạo một đối tượng TCP ứng với địa chỉ IP chưa biết và port 1400
D. Tạo một đối tượng TCP ứng với địa chỉ IP và port ở trên
Câu 44: Để lập trình giả lập ứng dụng Ping bằng C#.NET thì cần phải import DLL nào sau đây?
A. PING.DLL
B. SMTP.DLL
C. ICMP.DLL
D. SNMP.DLL
Câu 45: Hàm Thread.Sleep() có tác dụng gì?
A. Giải phóng thread khỏi bộ nhớ
B. Đặt thread vào chế độ nghỉ tích cực
C. Thao tác chuẩn bị trước khi đóng thread
D. A, B, C đều sai
Câu 46: Điều gì xảy ra khi đoạn lệnh sau đây biên dịch/thực thi?
MailMessage newmessage = new MailMessage(); MailAttachment newfile = new
MailAttachment("c:\\testfile.bmp"); newmessage.Attachments.Add(newfile);
newmessage.From = ""; newmessage.To = " ";
SmtpMail.SmtpServer = "192.168.1.100"; SmtpMail.Send(newmessage);
A. Đoạn lệnh bị báo lỗi biên dịch
B. Một SocketException xuất hiện
C. Một WebMailException xuất hiện

D. Gửi email có đính kèm file
Câu 47: Để lệnh MailMessage newmessage = new MailMessage(); không báo lỗi biên dịch thì cần khai
báo namespace nào?
A. System.Web.Mail
B. System.Net.Sockets C. System.Threading
D. System.Net
Câu 48: Loại nào sau đây không phát ra một exception?
A. StackOverflow
B. Insufficient Memory
C. Biểu thức toán bị sai
D. Division By Zero
Câu 49: Khi lập trình socket thì khoảng giá trị port nào người lập trình được khuyến cáo phải tuân theo?
A. 49152 – 65535
B. 0 – 1023
C. 0 – 65535
D. 1024 – 49151
Câu 50: Khi client đã kết nối được với SMTP Mail server thì server luôn trả lời với mã là?
A. 220
B. 330
C. +OK
D. –ERR
-----------------------------------------------

----------- HẾT ----------

Trang 5/5 - Mã đề thi 132


PHIẾU TRẢ LỜI TRẮC NGHIỆM
MÔN Lập trình mạng căn bản


TRƯỜNG ĐẠI HỌC
CÔNG NGHỆ THÔNG TIN

Thời gian làm bài: 75 phút;
(50 câu trắc nghiệm)
Giám thị 2 (họ tên và chữ ký)

Giám thị 1 (họ tên và chữ ký)

Số phách:


Giám khảo 1
(họ tên và chữ ký)

Giám khảo 2
(họ tên và chữ ký)

Điểm số

Số phách:

Họ, tên thí sinh:..........................................................................
SBD/MSSV:...............................................................................

Mã đề thi

Hướng dẫn làm bài:
- Thí sinh phải ghi Mã đề thi vào ô bên phải

- Chọn: Gạch chéo Bỏ chọn: Khoanh tròn ô bỏ, gạch chéo ô chọn

Chọn lại: Tô đen ô chọn cuối cùng

1

2

3

4

5

6

7

8

9

10

11

12

13


14

15

16

17

18

19

20

21

22

23

24

25

26

27

28


29

30

31

32

33

34

35

36

37

38

39

40

41

42

43


44

45

46

47

48

49

50

A
B
C
D

A
B
C
D

A
B
C
D

Trang 1/7 - Mã đề thi 134



ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC
CÔNG NGHỆ THÔNG TIN

Mã học phần:
Lớp:

ĐỀ THI KẾT THÚC HỌC PHẦN
Tên học phần: Lập trình mạng căn bản
Thời gian làm bài: 75 phút;
(50 câu trắc nghiệm)

- Số tín chỉ (hoặc đvht):

Mã đề thi
134

(Thí sinh không được sử dụng tài liệu)
Họ, tên thí sinh:..................................................................... Mã sinh viên: .............................
Câu 1: Cho khai báo class như sau:
class Sample {
public int MyFun(int i) {Console.WriteLine("Welcome to BIX.com !" ); return 0; }
}
Cách gọi hàm MyFun đúng nhất?
A. delegate int del(int i); Sample s = new Sample(.); del = new delegate(ref MyFun); del(10);
B. delegate int del(int i); del d; Sample s = new Sample(); d = new del(ref s.MyFun); d(10);
C. delegate void del(int i); Sample s = new Sample(); deld = new del(ref s.MyFun); d(10);
D. Sample s = new Sample(); delegate void del = new delegate(ref MyFun); del(10);

Câu 2: Ứng dụng nào cho phép biên dịch file mã nguồn C#.NET thành file thực thi?
A. WSDL.EXE
B. CSHARPC.EXE
C. CSC.EXE
D. CSHARP.EXE
Câu 3: Nhận xét về dòng lệnh this.btSend.Click += OnbtSendClick; với btSend là tên của một button:
A. Cộng chuỗi trong biến OnbtSendClick vào Click của btSend
B. Dòng lệnh bị lỗi
C. Khai báo hàm xử lý event Click của btSend có tên là OnbtSendClick
D. Nối chuỗi trong biến OnbtSendClick vào Click của btSend
Câu 4: Đoạn chương trình sau nhằm mục đích gì?
public byte[] Encrypt(byte[] Data, string PublicKeyIn) {
RSA.FromXmlString(PublicKeyIn);
return RSA.Encrypt(Data, false);
}
A. Mã hóa khối dữ liệu trong Data bằng giải thuật RSA
B. Tạo khóa mã PublicKey bằng giải thuật RSA
C. Mã hóa khối dữ liệu trong Data bằng giải thuật DES
D. Mã hóa khối dữ liệu trong Data bằng giải thuật RSA, kết quả là một mảng byte được trả về
Câu 5: Lệnh nào sau đây bị lỗi?
A. IPAddress IPAdd = Dns.GetHostAddresses("Localhost")[0];
B. IPAddress IPAdd = Dns.GetHostAddresses("Localhost");
C. IPAddress IPAdd = Dns.GetHostAddresses("Localhost")[1];
D. IPAddress IPAdd = Dns.GetHostAddresses("Localhost")[2];
Câu 6: Điều gì xảy ra khi đoạn lệnh sau đây biên dịch/thực thi?
Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
IPEndPoint iep = new IPEndPoint(IPAddress.Any, 9050);
sock.Bind(iep); EndPoint ep = (EndPoint)iep; byte[] data = new byte[1024];
int recv = sock.ReceiveFrom(data, ref ep);
A. Một SocketException xuất hiện

B. Đoạn lệnh bị báo lỗi biên dịch
C. Nhận dữ liệu từ bất kỳ máy nào gửi đến
D. Nhận dữ liệu từ bất kỳ máy nào gửi đến port 9050
Câu 7: Chuỗi kết nối string strCon = "Data Source=CLIENT; Initial Catalog=TEST; Persist Security
Info=True;User ID=sa;Password=123456"; thích hợp đối với hệ quản trị cơ sở dữ liệu nào?
A. SQL server
B. MS Access
C. MS Excel
D. File Text
Trang 2/7 - Mã đề thi 134


Câu 8: Ý nghĩa của việc ứng dụng Web Service và .NET Remoting vào trong lập trình?
A. Truyền thông với các ứng dụng phân tán
B. Trừu tượng hóa cơ sở hạ tầng mạng
C. Những vấn đề phức tạp phía sau đã được che dấu, công việc của người lập trình trở nên đơn giản hơn
nhiều
D. A, B, C đều đúng
Câu 9: Để gán một IP có hợp lệ vào biến ip thì nên dùng đoạn mã lệnh nào?
A. IPAddress ip; IPAddress.TryParse("10.0.0.5", out ip);
B. IPAddress ip = new IPAddress("10.0.0.5");
C. IPAddress ip = IPAddress.Parse("10.0.0.5");
D. IPAddress ip = new IPAddress(); ip.Parse("10.0.0.5");
Câu 10: Đoạn lệnh sau làm gì?
TcpClient client = new TcpClient("192.168.44.3", 25); string Data = "Helo";
StreamWriter sw = new StreamWriter(client.GetStream()); sw.WriteLine(Data); sw.Flush();
A. Khởi động phiên làm việc với SMTP Mail server, nhưng phải sửa Data = "Hello"
B. Khởi động phiên làm việc với SMTP Mail server
C. Đoạn lệnh trên sẽ gây ra lỗi biên dịch
D. Khởi tạo TcpClient và gửi chuỗi "Helo" trên đường truyền

Câu 11: Khi giao tiếp với FTP Server và SMTP hoặc POP3 Mail server thì có điểm giống là:
A. Cũng dùng NetworkStream để gửi các lệnh dưới dạng text
B. Cuối mỗi dòng lệnh phải kết thúc bằng "\r\n"
C. Khi client đã kết nối được với server thì server luôn trả lời với mã là 220
D. A, B, C đều đúng
Câu 12: Các câu lệnh xử lý Exception sẽ được đặt trong khối nào?
A. try
B. finally
C. catch
D. final
Câu 13: Sau khi thực hiện dòng lệnh CSC /t:library TEST.CS thành công thì file kết quả thu được là?
A. TEST.DLL
B. TEST.EXE
C. TEST.OBJ
D. TEST.COM
Câu 14: Điều gì xảy ra khi đoạn lệnh sau đây biên dịch/thực thi?
Socket
sock
=
new
Socket(AddressFamily.InterNetwork,
SocketType.Dgram,
ProtocolType.Udp); IPEndPoint iep = new IPEndPoint(IPAddress.Parse("192.168.1.255"), 9050); string
hostname = Dns.GetHostName();
byte[] data = Encoding.ASCII.GetBytes(hostname);
sock.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, 1); sock.SendTo(data,
iep); sock.Close();
A. Một SocketException xuất hiện
B. Gửi chuỗi tên máy đến tất cả các host cùng mạng 192.168.1.0/24
C. Đoạn lệnh bị báo lỗi biên dịch

D. Gửi chuỗi tên máy đến host 192.168.1.255
Câu 15: Với C#.NET và .NET Framework version 3.5 và sau này thì dòng lệnh nào sẽ gây ra lỗi khi biên
dịch đoạn mã sau:
FileStream
fs
=
new
FileStream("D:\\test.txt",
FileMode.OpenOrCreate);
fs.Seek(0, SeekOrigin.Begin);
byte[] fileContents = new byte[fs.Length];
fs.Read(fileContents, 0, (int)fs.Length);
tbContent.Text=Encoding.UTF8.GetString(fileContents);
fs.Close();
A. fs.Seek(0, SeekOrigin.Begin);
B. FileStream fs = new FileStream("D:\\test.txt", FileMode.OpenOrCreate);
C. tbContent.Text = Encoding.UTF8.GetString(fileContents);
D. fs.Read(fileContents, 0, (int)fs.Length);
Câu 16: Chọn phát biểu đúng về Exception:
A. Exception xảy ra trong suốt thời gian biên dịch
Trang 3/7 - Mã đề thi 134


B. Exception xảy ra trong thời gian thực thi chương trình (run-time)
C. Exception xảy ra ngay khi thực thi chương trình
D. Exception xảy ra ngay khi thực hiện biên dịch Just-In-Time
Câu 17: Đoạn mã lệnh nào không gây lỗi?
A. IPAddress[] add; Dns myDNS = new Dns(); add = myDNS.GetHostAddresses("localhost");
B. IPAddress add; Dns myDNS = new Dns(); add = myDNS.GetHostAddresses("localhost");
C. IPAddress[] add = Dns.GetHostAddresses("localhost");

D. IPAddress add = Dns.GetHostAddresses("localhost");
Câu 18: Chọn phát biểu đúng bên dưới với đoạn mã sau:
public class Sample {
public virtual void fun()
{}
}
public class DerivedSample : Sample {
new public void fun()
{}
}
A. Khai báo public virtual void fun() bị lỗi
B. Lớp DerivedSample che hàm fun() của lớp cha
C. Hàm fun() của lớp DerivedSample sẽ gọi hàm fun() của lớp cha
D. Không thể dùng new public void fun() trong lớp DerivedSample
Câu 19: Khi dùng phương pháp I/O nào thì luồng (thread) tương ứng sẽ tạm ngưng đến khi tác vụ hoàn
thành hoặc lỗi xảy ra?
A. Bất đồng bộ
B. Đồng bộ
C. Cả 2 phương pháp đồng bộ và bất đồng bộ
D. System.Threading
Câu 20: Địa chỉ IP 10.15.1.7 khi thể hiện ở dạng số (kiểu long) có giá trị là?
A. “10.15.1.7”
B. 168755463
C. 101517
D. 117509898
Câu 21: Điểm giống nhau khi hiện thực các hàm mã hóa, giải mã của thuật toán DES, RSA trong C#.NET?
A. Input, output của chúng là khối ký tự
B. Input, output của chúng là chuỗi (string)
C. Input, output của chúng là khối byte
D. Input, output của chúng là mảng byte

Câu 22: Chọn phát biểu đúng về hàm static trong C#.NET:
1. Hàm static chỉ truy xuất được dữ liệu static
2. Hàm static không thể gọi các loại hàm khác
3. Cần phải khởi tạo trị ban đầu cho dữ liệu static
4. Các loại hàm khác có thể gọi hàm static và truy xuất dữ liệu static
5. this được dùng để tham chiếu đến các hàm static
A. 3, 4
B. 2, 3, 5
C. 1, 2, 4
D. 4, 5
Câu 23: Trong .NET framework có những phương pháp serialization nào?
A. XmlSerializer
B. BinaryFormatter
C. SoapFormatter
D. Cả A, B, C
Câu 24: Khi tạo một Web Service Server thì file lưu trữ sẽ có phần mở rộng là?
A. ASP
B. ASPX
C. ASMX
D. CS
Câu 25: Chọn phát biểu đúng về constructors trong C#.NET:
1. Constructors không thể overloaded.
2. Constructors luôn có cùng tên với class.
3. Constructors không bao giờ được gọi tường minh.
4. Constructors không bao giờ trả về trị cho nơi gọi.
5. Constructors cấp phát không gian bộ nhớ cho object.
A. 1, 3, 5
B. 4, 5
C. 2, 3, 4
D. 3, 5

Câu 26: Kết quả in ra console của đoạn chương trình sau:
class SampleProgram{
static void Main(string[] args) {
int a = 5; int s = 0, c = 0; Proc(a, ref s, ref c); Console.WriteLine(s + " " + c);
}
Trang 4/7 - Mã đề thi 134


static void Proc(int x, ref int ss, ref int cc) {
ss = x * x; cc = x * x * x;
}
}
A. 25 25
B. 0 0
C. 25 125
D. 125 125
Câu 27: Kết quả trên màn hình sau khi thực hiện đoạn chương trình sau:
int index = 6, val = 44; int[] a = new int[5]; try { a[index] = val;}
catch(IndexOutOfRangeException e) { Console.Write("Index out of bounds ");}
finally {Console.Write("Remaining program");}
A. Index out of bounds
B. Remaining program
C. Index out of bounds Remaining program
D. Biên dịch lỗi tại dòng: a[index] = val;
Câu 28: Các bước cần thiết để dùng TCP/IP truyền file?
A. Tạo một stream tương ứng file  Đọc nội dung file vào buffer array  Gửi buffer array trên đường
truyền
B. Tạo một đối tượng TCP ứng với địa chỉ IP và port Đọc nội dung file vào buffer array  Gửi buffer
array trên đối tượng đó
C. Tạo một đối tượng IPAddress  Đọc nội dung file vào buffer array  Gửi buffer array trên đối tượng

đó
D. Tạo một đối tượng IPHostEntry  Đọc nội dung file vào buffer array  Gửi buffer array trên đối
tượng đó
Câu 29: Cho đoạn lệnh sau: IPAddress Ip3 = IPAddress.Parse("172.16.1.12"); Byte[] b=
Ip3.GetAddressBytes(); thì b trong bộ nhớ sẽ có giá trị là?
A.

B.

C.
D. A, B, C đều sai
Câu 30: Điều kiện tiên quyết để tạo một web service bằng C#.NET trong Windows là?
A. Cài đặt IIS server
B. Cài đặt ASP.NET
C. Cài đặt một web browser
D. A, B, C đều sai
Câu 31: Để cho phép server lắng nghe trên mọi interface của nó, ta dùng đoạn code nào hợp lý nhất dưới
đây?
A. Socket socket = listener.Listen();
socket.Bind(new IPEndPoint(IPAddress.IPv6Any, PORT));
B. Socket socket = listener.Accept();
socket.Bind(new IPEndPoint(IPAddress.IPv6Any, PORT));
C. Socket socket = listener.Ready();
socket.Bind(new IPEndPoint(IPAddress.IPv6Any, PORT));
D. Socket listener = new Socket(AddressFamily.InterNetworkV6, SocketType.Stream,
ProtocolType.Tcp);
listener.Bind(new IPEndPoint(IPAddress.IPv6Any, PORT));
Câu 32: Điều gì sẽ xảy ra nếu nhập giá trị "ABC" khi đoạn chương trình sau thực thi:
int index = 6, val = 44; int[] a = new int[5]; try { a[index] = val;}
catch(FormatException e) { Console.Write("Bad Format "); }

catch(IndexOutOfRangeException e) { Console.Write("Index out of bounds ");}
finally {Console.Write("Remaining program");}
A. Biên dịch lỗi tại dòng: a[index] = val;
B. Biên dịch lỗi tại dòng: catch(FormatException e) { Console.Write("Bad Format "); }
C. Màn hình xuất hiện: Bad Format Remaining program
D. Biên dịch lỗi tại dòng: catch(IndexOutOfRangeException e)
Câu 33: Chọn phát biểu đúng về FTP Passive Mode:
1. Dùng lệnh PASV để chuyển chế độ
2. Dùng lệnh PASSIVE để chuyển chế độ
3. Khi cần gửi/nhận dữ liệu không phải trên port mặc định
Trang 5/7 - Mã đề thi 134


4. Không phải trình FTP server nào cũng hỗ trợ chế độ làm việc này
A. 1, 2, 3
B. 1, 3, 4
C. 2, 3, 4
D. 1, 2, 3, 4
Câu 34: Đoạn lệnh sau có ý nghĩa gì?
Process[] allProcs = Process.GetProcesses();
foreach(Process thisProc in allProcs) { Console.Write(thisProc.ProcessName); }
A. In ra tên của tất cả các tiến trình (process) đang chạy trên máy hiện hành
B. In ra tên một tiến trình (process) đang chạy trên máy hiện hành
C. Đoạn lệnh bị báo lỗi biên dịch
D. In ra tên một tiến trình (process) đầu tiên đang chạy trên máy hiện hành
Câu 35: Sau khi thực hiện dòng lệnh WSDL HTTP://LOCALHOST/TEST.ASMX thành công thì file kết
quả thu được là?
A. TEST.EXE
B. TEST.CS
C. TEST.COM

D. TEST.DLL
Câu 36: Để dùng các thuật toán mã hóa được cài đặt sẵn trong C#.NET, cần khai báo?
A. using System.Security.Cryptography;
B. using System.Security.Security;
C. using System.IO.Encrypt;
D. using System.Security.Encrypt;
Câu 37: Với các phương thức của lớp Dns như Resolve,GetHostname, GetHostEntry thì cách gọi thế nào là
chính xác?
A. Gọi thông qua các đối tượng của lớp
B. Gọi trực tiếp thông qua tên lớp
C. A, B đều đúng
D. A, B đều sai
Câu 38: Để sinh ra các chứng chỉ X.509 trong C#.NET thì cần khai báo?
A. using System.Security.Cryptography;
B. using System.Security.Cryptography.X509Certificates;
C. using System.Security.Cryptography.X509;
D. using System.Security. Encrypt;
Câu 39: Class dùng để quản lý thread hiệu quả nhất trong C#.NET là?
A. ThreadPoll
B. ThreadPooling
C. Threads
D. ThreadPool
Câu 40: Để lập trình được với Thread trong C#.NET thì cần phải khai báo namespace?
A. System.Threading
B. System.Thread
C. System.IO
D. System. Threads
Câu 41: Khi kết nối vào cơ sở dữ liệu được SQL Server chứng thực 2 lớp (Windows Authentication, SQL
Server Authentication) thì cần khai báo trong chuỗi kết nối có giá trị Integrated security = ?
A. True

B. Không cần
C. True hoặc False
D. False
Câu 42: Điều gì xảy ra khi đoạn lệnh sau đây biên dịch/thực thi?
Socket
sock
=
new
Socket(AddressFamily.InterNetwork,
SocketType.Dgram,
ProtocolType.Udp); IPEndPoint iep = new IPEndPoint(IPAddress.Broadcast, 9050);
byte[] data = Encoding.ASCII.GetBytes("This is a test message"); sock.SendTo(data, iep); sock.Close();
A. Một SocketException xuất hiện
B. Gửi chuỗi "This is a test message" đến tất cả các host cùng mạng
C. Đoạn lệnh bị báo lỗi biên dịch
D. Gửi chuỗi "This is a test message" đến tất cả các host
Câu 43: Đoạn lệnh sau đây làm gì?
Long DiaChi = 1 * 256 ^ 3 + 127 * 256 ^ 0; IPEndPoint LocalEP = new IPEndPoint(DiaChi, 1400);
TcpClient tcp = new TcpClient(LocalEP);
A. Tạo một đối tượng TCP kết nối đến địa chỉ IP và port ở trên
B. Đoạn lệnh bị lỗi
C. Tạo một đối tượng TCP ứng với địa chỉ IP chưa biết và port 1400
D. Tạo một đối tượng TCP ứng với địa chỉ IP và port ở trên
Câu 44: Để đặt Socket vào chế độ sẵn sàng nhận dữ liệu, dùng?
A. Socket socket = listener.Listen();
B. Socket socket = listener.Accept();
C. Socket socket = listener.Ready();
D. A, B, C đều sai
Câu 45: Hàm Thread.Sleep() có tác dụng gì?
A. Đặt thread vào chế độ nghỉ tích cực

B. Giải phóng thread khỏi bộ nhớ
C. Thao tác chuẩn bị trước khi đóng thread
D. A, B, C đều sai
Câu 46: Điều gì xảy ra khi đoạn lệnh sau đây biên dịch/thực thi?
Trang 6/7 - Mã đề thi 134


MailMessage newmessage = new MailMessage(); MailAttachment newfile = new
MailAttachment("c:\\testfile.bmp"); newmessage.Attachments.Add(newfile);
newmessage.From = ""; newmessage.To = " ";
SmtpMail.SmtpServer = "192.168.1.100"; SmtpMail.Send(newmessage);
A. Đoạn lệnh bị báo lỗi biên dịch
B. Một SocketException xuất hiện
C. Một WebMailException xuất hiện
D. Gửi email có đính kèm file
Câu 47: Giả sử một ứng dụng dùng cơ chế .NET remoting có server chạy trên localhost đã được khởi tạo
dùng lệnh “HttpChannel chan = new HttpChannel(8950);”, cung cấp dịch vụ chứa trong MathClass. Vậy
client phải khai báo như thế nào để kết nối được với dịch vụ đó trên server?
A. MathClass obj = (MathClass)Activator.GetObject(typeof(MathClass),
"http://127.0.0.1:8950/MyMathServer");
B. MathClass obj = (MathClass)Activator.GetObject(typeof(MathClass),
"http://localhost:8950/MyMathServer");
C. MathClass obj = (MathClass)Activator.GetObject(typeof(MathClass),
"http://local:8950/MyMathServer");
D. A, B, C đều sai
Câu 48: Loại nào sau đây không phát ra một exception?
A. StackOverflow
B. Insufficient Memory C. Biểu thức toán bị sai D. Division By Zero
Câu 49: Phát biểu Dns.GetHostAddresses("Localhost") sẽ trả về giá trị nào hợp lý nhất?
A. Địa chỉ IP 127.0.0.0

B. Các địa chỉ IP gắn liền với host có tên Localhost
C. Địa chỉ IP 192.168.1.1
D. Địa chỉ IP 127.0.0.1
Câu 50: Khi client đã kết nối được với SMTP Mail server thì server luôn trả lời với mã là?
A. 220
B. 330
C. +OK
D. –ERR
----------- HẾT ----------

Trang 7/7 - Mã đề thi 134


ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC
CÔNG NGHỆ THÔNG TIN

Mã học phần:
Lớp:

ĐỀ THI KẾT THÚC HỌC PHẦN

- Số tín chỉ (hoặc đvht):

Tên học phần: Lập trình mạng
Thời gian làm bài: 75 phút;
(50 câu trắc nghiệm)
Mã đề thi
145


(Thí sinh không được sử dụng tài liệu)
Họ, tên thí sinh:..................................................................... Mã sinh viên: .............................
Câu 1: Nếu người dùng nhập dữ liệu không hợp lệ vào một textbox, hành động nào sau đây mà

chương trình nên tránh?
A. Âm thầm hủy ký tự không hợp lệ này
B. Hiển thị hộp thoại thông báo lỗi
C. Thay đổi màu nền của textbox đó
D. Hiển thị dấu ? bên cạnh textbox để cảnh báo lỗi
Câu 2: Khi lập trình quản lý luồng (thread) trong môi trường mạng, cần khai báo namespace sau:
A. System.Data
B. System.Thread
C. System.IO
D. System.Threading
Câu 3: Đoạn chương trình sau nhằm mục đích gì?
try {
tcp = new TcpClient(“192.168.1.3”, 110);
}
catch (Exception e)
{
MessageBox.Show(e.Message);
};
A. Hiển thị một thông báo lỗi về kết nối đến cơ sở dữ liệu
B. Thực hiện một kết nối TCP đến máy chủ ở IP 192.168.1.3 và port 110
C. Thực hiện một kết nối UDP đến máy chủ ở IP 192.168.1.3 và port 110
D. Hiển thị một kết quả về kết nối đến cơ sở dữ liệu
Câu 4: Nếu muốn duyệt qua các phần tử trong một mảng arrNumbers các số nguyên thì dùng
vòng lặp nào thích hợp nhất?
A. foreach (int number in arrNumbers){}
B. for each (int number in arrNumbers){}

C. for (int i; each i in arrNumbers; i++){}
D. foreach (number in arrNumbers){}
Câu 5: Các phương pháp dùng thread:
A. Định thì.
B. Bất đồng bộ.
C. Đồng bộ.
D. B, C đều đúng
Câu 6: Đoạn mã lệnh nào dưới đây là hợp lệ?
A. IPAddress IPAdd = new IPAddress();IPAdd = Dns.GetHostAddresses("Localhost")[0];
B. IPAddress IPAdd = new IPAddress();IPAdd = Dns.GetHostAddresses("Localhost");
C. IPAddress IPAdd = new IPAddress();IPAdd = DNS.GetHostAddresses("Localhost")[0];
D. IPAddress IPAdd = new IPAddress();IPAdd = Dns.GetHostAddresses([Localhost]);
Câu 7: Chọn phát biểu đúng khi nói về cấu trúc try-catch-finally:
A. Khối lệnh trong catch{…} chỉ thực thi nếu có ngoại lệ xảy ra.
B. Khối lệnh trong finally{…} luôn thực thi dù có ngoại lệ hay không.
C. Là phương pháp để bắt (catch) và xử lý các ngoại lệ (exceptions).
D. A, B, C đều đúng
Câu 8: Khai báo delegate nào sau đây là hợp lệ:
A. private delegate float MyDelegate(float); B. private delegate MyDelegate(float x);
C. private delegate void MyDelegate(float x); D. private delegate MyDelegate(x);
Câu 9: Chọn phát biểu đúng:
Trang 1/6 - Mã đề thi 145


A. Để xác định tiêu đề (chủ đề) email với SMTP Server, lệnh SUBJECT phải được gửi riêng

trực tiếp đến server
B. Để xác định tiêu đề (chủ đề) email với SMTP Server, lệnh SUBJECT phải nằm trong thân
của lệnh MAIL TO
C. Để xác định tiêu đề (chủ đề) email với SMTP Server, lệnh SUBJECT phải nằm trong thân

của lệnh RCPT TO
D. Để xác định tiêu đề (chủ đề) email với SMTP Server, lệnh SUBJECT phải nằm trong thân
của lệnh DATA
Câu 10: Lệnh Socket socket = listener.Accept(); nhằm mục đích gì?
A. Thực hiện tạo một kết nối mới hơn kết nối đang dùng
B. Thực hiện lắng nghe vô thời hạn và nhận dữ liệu được gửi tới
C. Thực hiện lắng nghe có thời hạn và nhận dữ liệu được gửi tới
D. A, B, C đều sai
Câu 11: Để cho phép server lắng nghe trên mọi interface của nó, ta dùng?
A. Socket socket = listener.Ready();
socket.Bind(new IPEndPoint(IPAddress.IPv6Any, PORT));
B. Socket socket = listener.Listen();
socket.Bind(new IPEndPoint(IPAddress.IPv6Any, PORT));
C. Socket socket = listener.Accept();
socket.Bind(new IPEndPoint(IPAddress.IPv6Any, PORT));
D. Socket listener = new Socket(AddressFamily.InterNetworkV6, SocketType.Stream,
ProtocolType.Tcp);
listener.Bind(new IPEndPoint(IPAddress.IPv6Any, PORT));
Câu 12: Cho khai báo sau: Int[] mySet = new int[5];
Biến mySet thừa kế từ?
A. System.Collection
B. System.Collection.List
C. System.Array
D. A, B, C đều sai.
Câu 13: Port có vai trò gì trong các ứng dụng mạng?
A. Port có vai trò phân biệt các ứng dụng mạng
B. Port có vai trò phân biệt các ứng dụng server
C. Port có vai trò phân biệt các ứng dụng client
D. Port có vai trò phân biệt các ứng dụng server và client
Câu 14: FTP server/client dùng những port nào sau đây?

A. 20, 21
B. 80, 8080
C. 110, 25
D. 21, 22
Câu 15: Một đối tượng IPEndPoint chứa những thành phần nào?
A. MACAddress và Port number
B. IPAddress và Port number
C. IPAddress và MACAddress
D. IPAddress và MAC number
Câu 16: Chọn phát biểu đúng nhất bên dưới:
A. Ngay khi chương trình phía TCP client thực thi, nó khởi tạo kết nối với TCP server, nếu
chương trình phía server chưa chạy thì kết nối này bị lỗi
B. Giao thức TCP cần các bước theo thứ tự: chương trình phía TCP client thực thi rồi đến
chương trình phía TCP server
C. Với ứng dụng client-server trên TCP, chương trình phía server phải thực thi trước phía
client
D. A, C đều đúng
Câu 17: Muốn FTP server gửi/nhận dữ liệu không phải ở port mặc định thì client phải dùng lệnh
gì?
A. SENT
B. RESPONSE
C. PASV
D. PASSIVE
Câu 18: Tại sao UDP server thường chỉ dùng 1 socket, trái lại TCP server cần ít nhất 2?
Trang 2/6 - Mã đề thi 145


A. UDP server chỉ cho phép mở 1 socket, trái lại TCP server cho phép mở nhiều
B. Tất cả dữ liệu đến UDP server thông qua 1 socket, trái lại TCP server có 1 socket chờ sẵn và


khi mỗi TCP client kết nối đến lại cần thêm 1 socket để quản lý
C. A, B đều đúng
D. A, B đều sai
Câu 19: Đoạn chương trình sau nhằm mục đích gì?
try {
cn = new SqlConnection(strCon);
cn.Open();
}
catch (Exception e)
{
MessageBox.Show(e.Message);
};
A. Thực hiện một kết nối đến cơ sở dữ liệu được mô tả trong biến strCon
B. Hiển thị một kết quả về kết nối đến cơ sở dữ liệu
C. Hiển thị một thông báo lỗi về kết nối đến cơ sở dữ liệu
D. Hiển thị một thông báo về kết nối đến cơ sở dữ liệu
Câu 20: Một ứng dụng có đa tiến trình (multithread) cùng tham chiếu đến biến counter, làm thế
nào để tăng biến counter lên 1?
A. ++counter;
B. counter++;
C. counter = counter + 1;
D. lock(counter){counter++;}
Câu 21: Để khai báo một lớp (class) có đặc tính remoting thì điều cần thiết là tạo lớp đó dẫn xuất
từ?
A. System.Data
B. System.IO
C. System.MarshalByRefObject
D. System.Security
Câu 22: Để phân biệt giữa các ứng dụng trên 2 máy tính vào mạng Internet, ta nên dùng cấu trúc
nào?

A. UDPClient
B. IPAddress
C. IPEndPoint
D. TCPClient
Câu 23: Giả sử đã có khai báo HashAlgorithm sha;. Đoạn mã nào thực hiện hàm băm (hashing)
mảng byte có tên là userData?
A. sha.GetHash(userData);
B. sha.ComputeHash(userData);
C. sha.EncryptHash(userData);
D. userData.GetHashCode(sha);
Câu 24: Chọn phát biểu sai:
A. Sử dụng thành phần của lớp (class) một cách gián tiếp (thông qua đối tượng của lớp), cần
phải khai báo thành phần với từ khóa public
B. Sử dụng thành phần của lớp (class) một cách gián tiếp (thông qua đối tượng của lớp), cần
phải khai báo thành phần với từ khóa private
C. Sử dụng thành phần của lớp (class) một cách gián tiếp (thông qua đối tượng của lớp), cần
phải khai báo thành phần với từ khóa static
D. Sử dụng thành phần của lớp (class) một cách gián tiếp (thông qua đối tượng của lớp), cần
phải khai báo thành phần với từ khóa protected
Câu 25: Để khai báo biến myVar có kiểu số nguyên và gán giá trị 0 cho nó, dùng?
A. int myVar = 0;
B. declare myVar as 0;
C. int myVar = 0
D. myVar = 0;
Câu 26: Giả sử delegate MovedEventHandler được xác định bởi phát biểu delegate void
MovedEventHandler(). Cách khai báo sự kiện MovedEvent đúng là:
A. public MovedEventHandler MovedEvent;
B. public event MovedEventHandler MovedEvent;
C. public event Action MovedEvent;
Trang 3/6 - Mã đề thi 145



D. B, C đều đúng.
Câu 27: Chọn phát biểu đúng nhất bên dưới:
A. Kết nối với Email server bằng TCP ở port 110 để gửi mail.
B. Kết nối với Email server bằng TCP ở port 25 để gửi mail.
C. Kết nối với Email server bằng TCP ở port 110 để nhận mail.
D. B, C đúng
Câu 28: Phương thức Socket.Bind thực hiện công việc gì?
A. Liên kết một socket với một IPAddress
B. Liên kết một socket với một IPEndPoint
C. Liên kết một socket với một AddressFamily
D. Liên kết một socket với một Address
Câu 29: Cần phải khai báo namespace nào để dùng được chương trình mã hóa RSA có sẵn trong

.NET framework?
A. Security.Cryptography
B. System.Security.Cryptography
C. System.Security
D. System.Cryptography
Câu 30: Cho khai báo hàm sau:
public void DelegateMess (string s) {
if (tbResults.InvokeRequired) {
InfoMessageDel method = new InfoMessageDel(DelegateMess);
tbResults.Invoke(method, new object[] { info });
return;
}
tbResults.Text = s;
}
Mục đích sử dụng hàm DelegateMess là?

A. Để gán giá trị s cho đối tượng tbResults
B. Để kích hoạt hàm InfoMessageDel
C. Để kích hoạt đối tượng tbResults hoạt động
D. Để tránh vấn đề tranh chấp bởi các thread cùng tham chiếu đến đối tượng tbResults
Câu 31: Để đặt Socket vào chế độ sẵn sàng nhận dữ liệu, dùng?
A. Socket socket = listener.Accept();
B. Socket socket = listener.Listen();
C. Socket socket = listener.Ready();
D. A, B, C đều sai
Câu 32: Chọn phát biểu đúng nhất bên dưới:
A. Với ứng dụng UDP, chương trình phía client không cần bất kỳ kết nối nào trực tiếp ngay
sau khi thực thi cho nên UDP client chạy trước UDP server không gây ra lỗi
B. Khi chương trình phía UDP client thực thi, nó khởi tạo kết nối với UDP server, nếu chương
trình phía server chưa chạy thì kết nối này bị lỗi
C. Với ứng dụng client-server trên UDP, chương trình phía server phải thực thi trước phía
client
D. B, C đúng
Câu 33: Làm thế nào để thực thi một method như một task?
A. Tạo đối tượng Task mới, sau đó gọi method Start của đối tượng đó
B. Tạo task thông qua method Task.Run.
C. Tạo task thông qua method Task.Factory.StartNew.
D. A, B, C đều đúng.
Câu 34: Vùng port number dùng cho các ứng dụng quan trọng trên hệ điều hành là?
A. 1024 – 49151
B. 0 – 1023
C. 49152 – 65535
D. 0 – 256
Câu 35: Để đảm bảo an toàn thì trong các phiên bản .NET mới, người ta khuyến cáo nên dùng
phương thức nào của lớp (class) Dns dưới đây?
Trang 4/6 - Mã đề thi 145



A. Resolve()
B. GetHostByName()
C. GetHostByAddress ()
D. GetHostEntry()
Câu 36: Nhận xét việc biên dịch và thực thi (nếu có thể) đoạn lệnh sau đây:

IPAddress ip; String Ip = "999.0.0.1"; IPAddress.TryParse(Ip, out ip).ToString();
A. ip chứa giá trị null
B. Bị báo lỗi vì khai báo trùng tên biến (ip và Ip)
C. ip chứa giá trị 0.0.0.0
D. ip chứa giá trị 999.0.0.1
Câu 37: Để chuyển đổi một mảng byte thành String dùng phát biểu nào sau đây?
A. Encoding.UTF8.GetString()
B. Encoding.UTF8.GetByte()
C. Encoding.GetString()
D. Encoding.GetByte()
Câu 38: Đoạn lệnh trong thân vòng lặp dưới đây thực hiện mấy lần?
int value = 0;
do {
Console.WriteLine (value);
} while (value > 10);
A. 10
B. 1
C. 0
D. 9
Câu 39: Phương pháp an toàn nhất cần thực hiện khi gửi dữ liệu đến một máy tính khác?
A. X509Certificate
B. Mã hóa bất đối xứng

C. Hashing
D. Mã hóa đối xứng
Câu 40: Phương pháp mã hóa và khôi phục dữ liệu lưu trữ cục bộ trên máy tính nào sau đây đáp
ứng yêu cầu an toàn?
A. Mã hóa đối xứng
B. Mã hóa bất đối xứng
C. Hashing
D. X509Certificate
Câu 41: Nêu một ví dụ cho thấy ảnh hưởng của việc dùng phương pháp truy cập đồng bộ.
A. Khi có nhiều client kết nối vào FTP server
B. Khi có nhiều client kết nối vào Email server
C. Khi mở một file Word có kích thước rất lớn.
D. Khi có nhiều client kết nối vào Web server
Câu 42: Bạn được yêu cầu để thực hiện một phương pháp để xử lý mã hóa mật khẩu mà không
thể khôi phục lại mật khẩu đó. Phương pháp đúng là:
A. Mã hóa đối xứng
B. Mã hóa bất đối xứng
C. Hashing
D. X509Certificate
Câu 43: Đọc/ghi file hiệu quả nhất khi thao tác với từng khối dữ liệu chiếm?
A. 2 KB
B. 1000 byte
C. 1 KB
D. 4 KB
Câu 44: Hai stream quan trọng trong khi thực hiện input/output trong môi trường mạng là:
A. thread và fileStream
B. networkStream và thread
C. networkStream và fileStream
D. networkStream và byteStream
Câu 45: Cho đoạn chương trình: int[] x = new int[25];

Chọn phát biểu đúng bên dưới:
A. Giá trị của x[24] là null
B. x[24] không tồn tại
C. Giá trị của x[24] là 0
D. A, B, C đều sai
Câu 46: Cho đoạn chương trình sau:
1.
class MyClass {
2.
void myMethod( int i ){ Console.Write (“int version”); }
3.
void myMethod( String s) { Console.Write (“String version”); }
4.
public static void Main( String[] args) {
5.
MyClass obj = new MyClass();
6.
char ch = ‘c’;
Trang 5/6 - Mã đề thi 145


7.
obj.myMethod(ch);
8.
}
9.
}
Hãy chọn phát biểu đúng:
A. Dòng 3 không thể biên dịch vì không thể override các phương thức có kiểu trả về là
void

B. Dòng số 7 sẽ phát sinh một biệt lệ (exception)
C. Dòng số 7 không thể biên dịch vì phương thức myMethod không nhận tham số kiểu
char
D. Đoạn chương trình thi hành và in ra kết quả là: int version
Câu 47: Đoạn mã sau sai chỗ nào?
public class Question
{
public static void Main(String[] args)
{
Boolean b = true;
if (b) {
for (Integer i = 0; i < 10; ++i)
Console.Write(i);
}
Console.ReadLine();
}
}
A. Đoạn mã không có lỗi
B. Điều kiện của câu lệnh if phải có kiểu boolean chứ không phải Boolean
C. Biến i trong câu lệnh for phải là int chứ không phải Integer
D. Khai báo là bool chứ không phải là Boolean
Câu 48: Để bảo vệ tài nguyên của FTP server thì nếu có client mở kết nối đến mà sau khoảng thời
gian timeout không có hoạt động truyền/nhận dữ liệu gì thì server sẽ tự động đóng kết nối này.
Muốn tránh hiện tượng trên thì client dùng lệnh gì để thông báo?
A. SLEEP
B. PASV
C. NOOP
D. WAIT
Câu 49: Nếu người dùng nhập ký tự không hợp lệ vào một textbox và sau đó di chuyển (focus)
sang textbox khác thì hành động nào sau đây của chương trình được xem là không thích hợp?

A. Thay đổi font chữ của textbox gây lỗi để cảnh báo
B. Bắt quay ngược (focus) trở lại textbox gây lỗi
C. Hiển thị dấu ? bên cạnh textbox đó để cảnh báo
D. Thay đổi màu nền của textbox gây lỗi để cảnh báo
Câu 50: Sau khi FTP client phát ra lệnh PASV, FTP server phản hồi trở về bằng thông điệp chứa
danh sách 6 số như sau: “172,16,8,3,9,14”. Điều này có ý nghĩa gì?
A. FTP server sẵn sàng nhận dữ liệu trên port 2318
B. FTP server sẵn sàng nhận dữ liệu trên port 914
C. FTP server sẵn sàng nhận dữ liệu trên port 149
D. FTP server sẵn sàng nhận dữ liệu trên port 2309
-----------------------------------------------

----------- HẾT ---------NGƯỜI DUYỆT

GIẢNG VIÊN RA ĐỀ

Trang 6/6 - Mã đề thi 145


ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC
CÔNG NGHỆ THÔNG TIN

Mã học phần:
Lớp:

ĐỀ THI KẾT THÚC HỌC PHẦN
Tên học phần: Lập trình mạng căn bản
Thời gian làm bài: 75 phút;
(50 câu trắc nghiệm)


- Số tín chỉ (hoặc đvht):

Mã đề thi
129

(Thí sinh được sử dụng tài liệu)
Câu 1: Cho biết kết quả khi thực thi chương trình đoạn chương trình sau:
class Student {
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
class Program
{
static void Main(string[] args)
{
Student s = new Student();
s.Name = "ABC"; //Name viet hoa
Console.WriteLine("Name: {0}", s.Name);
}
}
}
A. Name: {0}
B. Name: ABC
C. Chương trình báo lỗi
D. Name: s.Name
Câu 2: Sau khi thực hiện dòng lệnh CSC /t:library TEST.CS thành công thì file kết quả thu được là?

A. TEST.DLL
B. TEST.OBJ
C. TEST.EXE
D. TEST.COM
Câu 3: Chọn phát biểu đúng về Exception:
A. Exception xảy ra ngay khi thực hiện biên dịch Just-In-Time
B. Exception xảy ra trong suốt thời gian biên dịch
C. Exception xảy ra ngay khi thực thi chương trình
D. Exception xảy ra trong thời gian thực thi chương trình (run-time)
Câu 4: Ý nghĩa của việc ứng dụng Web Service và .NET Remoting vào trong lập trình?
A. Che dấu những vấn đề phức tạp để công việc của người lập trình đơn giản hơn
B. Truyền thông với các ứng dụng phân tán
C. Tập trung việc xử lý, tính toán vào server, client chỉ cần triệu gọi (call) khi cần
D. A, B, C đều đúng
Câu 5: Để cho phép server lắng nghe trên mọi interface của nó, dùng?
A. Socket listener = new Socket(AddressFamily.InterNetworkV6, SocketType.Stream,
ProtocolType.Tcp);
listener.Bind(new IPEndPoint(IPAddress.IPv6Any, PORT));
B. Socket socket = listener.Ready();
socket.Bind(new IPEndPoint(IPAddress.IPv6Any, PORT));
C. Socket socket = listener.Accept();
socket.Bind(new IPEndPoint(IPAddress.IPv6Any, PORT));
D. Socket socket = listener.Listen();
socket.Bind(new IPEndPoint(IPAddress.IPv6Any, PORT));
Câu 6: Để xác định các trục trặc trong ứng dụng multithreaded, cơ chế theo vết (tracing) nên dùng là?
A. System.Diagnostics
B. System.Diagnostics.Tracing
C. System.Diagnostics.Debug
D. System.Diagnostics.Trace
Câu 7: Để đặt Socket vào chế độ sẵn sàng nhận dữ liệu, dùng?

A. Socket socket = listener.Accept();
B. Socket socket = listener.Ready();
C. Socket socket = listener.Listen();
D. A, B, C đều sai
Trang 1/7 - Mã đề thi 129


×