Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng - Đề 05 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.
Câu 1: Trong mô hình OSI, tầng nào chịu trách nhiệm chính cho việc đảm bảo truyền dữ liệu tin cậy giữa hai hệ thống đầu cuối, bao gồm việc kiểm soát lỗi và kiểm soát luồng?
- A. Tầng Mạng (Network Layer)
- B. Tầng Liên kết Dữ liệu (Data Link Layer)
- C. Tầng Giao vận (Transport Layer)
- D. Tầng Ứng dụng (Application Layer)
Câu 2: Một ứng dụng truyền video trực tuyến yêu cầu độ trễ thấp và có thể chấp nhận mất mát gói dữ liệu ở mức độ nhất định. Giao thức tầng giao vận nào phù hợp nhất cho ứng dụng này?
- A. TCP (Transmission Control Protocol)
- B. UDP (User Datagram Protocol)
- C. IP (Internet Protocol)
- D. HTTP (Hypertext Transfer Protocol)
Câu 3: Xét đoạn mã socket server sau (giả định ngôn ngữ C#):
```csharp
TcpListener listener = new TcpListener(IPAddress.Any, 8080);
listener.Start();
Socket clientSocket = listener.AcceptSocket();
```
Đoạn mã này minh họa cơ chế lập trình socket nào ở phía server?
- A. Đồng bộ (Synchronous)
- B. Bất đồng bộ (Asynchronous)
- C. Đa luồng (Multithreaded)
- D. Đa tiến trình (Multiprocessing)
Câu 4: Trong lập trình mạng với socket, phương thức `bind()` thường được sử dụng cho socket phía server với mục đích chính là gì?
- A. Thiết lập kết nối đến một server khác
- B. Gửi dữ liệu đến client
- C. Gán địa chỉ IP và số cổng cho socket
- D. Chấp nhận kết nối từ client
Câu 5: Phương thức `connect()` được sử dụng trong lập trình socket TCP ở phía client để thực hiện hành động nào?
- A. Đóng kết nối với server
- B. Thiết lập kết nối TCP với server
- C. Nghe kết nối từ server
- D. Gửi dữ liệu đến server
Câu 6: Địa chỉ IP "127.0.0.1" thường được gọi là địa chỉ loopback. Mục đích sử dụng chính của địa chỉ này trong lập trình mạng là gì?
- A. Kết nối đến Internet
- B. Giao tiếp với các máy tính trong mạng LAN
- C. Định tuyến gói tin trong mạng
- D. Kiểm thử ứng dụng mạng trên máy cục bộ
Câu 7: DNS (Domain Name System) đóng vai trò quan trọng trong việc truy cập website bằng tên miền (ví dụ: google.com). Chức năng chính của DNS là gì?
- A. Phân giải tên miền thành địa chỉ IP
- B. Mã hóa dữ liệu truyền trên mạng
- C. Quản lý kết nối mạng không dây
- D. Cấp phát địa chỉ IP động
Câu 8: Giao thức HTTP sử dụng cổng mặc định nào cho giao tiếp?
Câu 9: HTTPS là phiên bản bảo mật của HTTP. Cơ chế bảo mật chính mà HTTPS sử dụng là gì?
- A. Mã hóa đối xứng (Symmetric encryption)
- B. Tường lửa (Firewall)
- C. Xác thực hai yếu tố (Two-factor authentication)
- D. Mã hóa SSL/TLS (Secure Sockets Layer/Transport Layer Security)
Câu 10: Trong mô hình client-server, ai là người chủ động khởi tạo kết nối?
- A. Server
- B. Client
- C. Cả client và server đồng thời
- D. Tùy thuộc vào giao thức
Câu 11: Phương thức giao tiếp mạng nào sau đây mô tả việc một máy chủ gửi dữ liệu đến tất cả các máy khách trong mạng con?
- A. Broadcast
- B. Multicast
- C. Unicast
- D. Anycast
Câu 12: Phương thức giao tiếp mạng nào hiệu quả hơn Broadcast khi muốn gửi dữ liệu đến một nhóm máy khách xác định?
- A. Broadcast
- B. Multicast
- C. Unicast
- D. Cả Broadcast và Multicast đều hiệu quả như nhau
Câu 13: Trong lập trình socket, sự khác biệt chính giữa socket "blocking" và "non-blocking" là gì?
- A. Socket blocking nhanh hơn socket non-blocking
- B. Socket non-blocking chỉ dùng cho UDP, socket blocking chỉ dùng cho TCP
- C. Socket blocking tạm dừng chương trình cho đến khi thao tác hoàn tất, non-blocking thì không
- D. Socket blocking bảo mật hơn socket non-blocking
Câu 14: Khi thiết kế một hệ thống chat server có khả năng phục vụ hàng ngàn kết nối đồng thời, mô hình lập trình server nào phù hợp nhất?
- A. Iterative Server
- B. Concurrent Server
- C. Sequential Server
- D. Single-process Server
Câu 15: Phương thức nào sau đây KHÔNG phải là một cơ chế để xây dựng Concurrent Server?
- A. Iterative Processing (Tuần tự)
- B. Multithreading (Đa luồng)
- C. Multiprocessing (Đa tiến trình)
- D. Asynchronous I/O (Bất đồng bộ IO)
Câu 16: Trong giao thức TCP, cơ chế "bắt tay ba bước" (three-way handshake) được sử dụng để làm gì?
- A. Mã hóa dữ liệu
- B. Thiết lập kết nối
- C. Giải phóng kết nối
- D. Kiểm soát lỗi
Câu 17: Cơ chế "cửa sổ trượt" (sliding window) trong TCP dùng để cải thiện hiệu suất truyền dữ liệu bằng cách nào?
- A. Giảm độ trễ truyền tin
- B. Tăng cường bảo mật
- C. Cho phép gửi nhiều gói tin liên tiếp mà không cần ACK ngay lập tức
- D. Sửa lỗi dữ liệu
Câu 18: Công cụ nào sau đây thường được sử dụng để phân tích lưu lượng mạng, giúp gỡ lỗi và giám sát kết nối mạng?
- A. Ping
- B. Traceroute
- C. Netstat
- D. Wireshark
Câu 19: Tường lửa (firewall) trong hệ thống mạng có chức năng chính là gì?
- A. Tăng tốc độ truyền dữ liệu
- B. Kiểm soát và lọc lưu lượng mạng, bảo vệ hệ thống
- C. Phân giải tên miền
- D. Cấp phát địa chỉ IP
Câu 20: VPN (Virtual Private Network) được sử dụng để tạo ra kết nối mạng an toàn và riêng tư. VPN hoạt động bằng cách nào?
- A. Tăng băng thông mạng
- B. Thay đổi địa chỉ MAC
- C. Tạo kênh kết nối mã hóa qua mạng công cộng
- D. Ngăn chặn virus
Câu 21: Trong lập trình web, giao thức WebSocket cung cấp kiểu giao tiếp nào giữa client và server?
- A. Half-duplex (Bán song công)
- B. Full-duplex (Song công)
- C. Simplex (Đơn công)
- D. Duplex giả
Câu 22: So sánh giao thức HTTP và WebSocket, điểm khác biệt chính về kiểu kết nối là gì?
- A. HTTP là giao thức hướng kết nối, WebSocket là giao thức không kết nối
- B. Cả HTTP và WebSocket đều duy trì kết nối liên tục
- C. Cả HTTP và WebSocket đều là giao thức không trạng thái
- D. HTTP là giao thức không trạng thái, WebSocket duy trì kết nối liên tục
Câu 23: Trong lập trình socket UDP, có cần thiết phải thiết lập kết nối trước khi gửi dữ liệu không?
- A. Có, bắt buộc phải thiết lập kết nối
- B. Không, không cần thiết lập kết nối
- C. Chỉ cần thiết lập kết nối cho dữ liệu lớn
- D. Tùy thuộc vào cài đặt hệ thống
Câu 24: Khi một gói tin IP có TTL (Time To Live) bằng 0, điều gì sẽ xảy ra?
- A. Gói tin được chuyển tiếp đến đích ngay lập tức
- B. TTL được tự động tăng lên
- C. Gói tin bị hủy và thông báo lỗi ICMP có thể được gửi lại nguồn
- D. Gói tin được lưu trữ và chuyển tiếp sau
Câu 25: Phương thức mã hóa nào sau đây thường được sử dụng để bảo vệ dữ liệu "dữ liệu khi nghỉ" (data at rest), ví dụ như dữ liệu lưu trữ trên ổ cứng?
- A. Mã hóa toàn bộ ổ đĩa hoặc mã hóa file/thư mục
- B. Mã hóa SSL/TLS
- C. Mã hóa IPsec
- D. Mã hóa хе хе
Câu 26: Trong ngữ cảnh bảo mật mạng, tấn công DDoS (Distributed Denial of Service) nhằm mục đích chính là gì?
- A. Đánh cắp dữ liệu nhạy cảm
- B. Xâm nhập và kiểm soát hệ thống
- C. Phát tán mã độc
- D. Làm gián đoạn dịch vụ, khiến hệ thống không khả dụng
Câu 27: Giao thức nào sau đây được sử dụng để gửi email?
- A. POP3
- B. SMTP
- C. IMAP
- D. FTP
Câu 28: Giao thức nào sau đây được sử dụng để tải email về từ server?
- A. SMTP
- B. HTTP
- C. POP3 hoặc IMAP
- D. DNS
Câu 29: Trong lập trình mạng, "Network Address Translation" (NAT) giải quyết vấn đề gì?
- A. Thiếu hụt địa chỉ IPv4 công cộng
- B. Tốc độ truyền dữ liệu chậm
- C. Bảo mật kém
- D. Khả năng mở rộng mạng LAN
Câu 30: IPv6 được phát triển để thay thế IPv4 chủ yếu vì lý do nào?
- A. Tăng tốc độ truyền dữ liệu
- B. Giải quyết vấn đề cạn kiệt địa chỉ IPv4
- C. Tăng cường bảo mật
- D. Đơn giản hóa cấu hình mạng