Đăng ký Đăng nhập
Trang chủ Công nghệ thông tin Kỹ thuật lập trình Tổng hợp đề thi lập trình mạng căn bản có đáp án...

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

.PDF
31
9655
97

Mô tả:

ĐẠ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 = "[email protected]"; newmessage.To = " [email protected]"; 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 = "[email protected]"; newmessage.To = " [email protected]"; 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
- Xem thêm -

Tài liệu liên quan