1. Phương pháp nào cho phép một server web phục vụ nhiều tên miền khác nhau trên cùng một địa chỉ IP?
A. Port forwarding
B. Virtual hosting
C. Load balancing
D. Reverse proxy
2. Phương thức nào sau đây được sử dụng để mã hóa dữ liệu truyền qua mạng nhằm bảo vệ tính bảo mật?
A. ARP
B. SSL/TLS
C. ICMP
D. DHCP
3. Trong lập trình mạng, `select()` và `poll()` là các hàm được sử dụng để làm gì?
A. Tạo một socket mới
B. Quản lý I/O đa kênh (multiplexing)
C. Thiết lập kết nối TCP
D. Mã hóa dữ liệu
4. Công nghệ nào cho phép một địa chỉ IP công cộng duy nhất được chia sẻ bởi nhiều thiết bị trong mạng riêng?
A. DNS
B. DHCP
C. NAT
D. VPN
5. Kiểu tấn công mạng nào lợi dụng việc gửi một lượng lớn dữ liệu đến một server để làm quá tải và khiến nó ngừng hoạt động?
A. Phishing
B. Man-in-the-middle
C. DDoS
D. SQL injection
6. Trong mô hình OSI, giao thức TCP hoạt động ở tầng nào?
A. Tầng Mạng (Network Layer)
B. Tầng Giao vận (Transport Layer)
C. Tầng Liên kết Dữ liệu (Data Link Layer)
D. Tầng Vật lý (Physical Layer)
7. Giao thức nào cho phép truyền tải file giữa client và server?
A. HTTP
B. SMTP
C. FTP
D. SNMP
8. Giao thức nào được sử dụng để phân giải tên miền (ví dụ: google.com) thành địa chỉ IP?
A. HTTP
B. SMTP
C. DNS
D. FTP
9. Trong lập trình mạng, giao thức nào được sử dụng để đảm bảo truyền dữ liệu tin cậy giữa hai ứng dụng?
A. UDP
B. ICMP
C. TCP
D. IP
10. Giao thức nào được sử dụng để lấy trang web từ server?
A. SMTP
B. FTP
C. HTTP
D. SNMP
11. Phương pháp nào sau đây được sử dụng để kiểm tra xem một cổng trên một máy chủ có đang mở hay không?
A. Ping
B. Traceroute
C. Port scanning
D. ARP
12. Trong lập trình mạng, hàm `htonl()` được sử dụng để làm gì?
A. Chuyển đổi một địa chỉ IP từ dạng số sang dạng chuỗi
B. Chuyển đổi một số nguyên từ host byte order sang network byte order
C. Chuyển đổi một chuỗi thành một số nguyên
D. Đóng một socket
13. Trong lập trình mạng, hàm `listen()` được sử dụng để làm gì?
A. Chấp nhận một kết nối đến
B. Đóng một socket
C. Lắng nghe các kết nối đến trên một socket
D. Gửi dữ liệu qua socket
14. Địa chỉ IP nào sau đây là địa chỉ loopback?
A. 192.168.1.1
B. 10.0.0.1
C. 127.0.0.1
D. 0.0.0.0
15. Kiểu socket nào cung cấp một luồng dữ liệu liên tục giữa client và server?
A. Datagram socket
B. Raw socket
C. Stream socket
D. Unreliable socket
16. Phương pháp nào giúp phân phối lưu lượng truy cập đến nhiều server để tránh quá tải cho một server duy nhất?
A. CDN
B. NAT
C. Load balancing
D. Firewall
17. Giao thức nào được sử dụng để quản lý và giám sát các thiết bị mạng?
A. HTTP
B. FTP
C. SNMP
D. DHCP
18. Trong lập trình mạng, hàm `accept()` được sử dụng để làm gì?
A. Đóng một socket
B. Thiết lập một kết nối mới với client
C. Lắng nghe các kết nối đến
D. Gửi dữ liệu đến client
19. Giao thức nào được sử dụng để gửi email?
A. HTTP
B. FTP
C. SMTP
D. DNS
20. Địa chỉ IP nào sau đây là địa chỉ multicast?
A. 192.168.1.1
B. 10.0.0.1
C. 224.0.0.1
D. 127.0.0.1
21. Trong lập trình socket, hàm `bind()` được sử dụng để làm gì?
A. Tạo một socket mới
B. Thiết lập kết nối đến một server
C. Gán một địa chỉ IP và số cổng cho socket
D. Đóng một socket
22. Giao thức nào được sử dụng để cấp phát địa chỉ IP động cho các thiết bị trong mạng?
A. DNS
B. SMTP
C. DHCP
D. SNMP
23. Trong lập trình mạng, thuật ngữ `endianness` đề cập đến điều gì?
A. Kích thước của gói tin
B. Thứ tự byte trong bộ nhớ
C. Tốc độ truyền dữ liệu
D. Kiểu mã hóa dữ liệu
24. Socket nào được sử dụng cho các kết nối không tin cậy, không hướng kết nối?
A. Raw socket
B. TCP socket
C. UDP socket
D. Stream socket
25. Trong mô hình client-server, ai là người khởi tạo kết nối?
A. Cả client và server
B. Server
C. Client
D. Một bên thứ ba
26. Phương pháp nào sau đây thường được sử dụng để xử lý đồng thời nhiều kết nối trong một ứng dụng server?
A. Sử dụng một thread duy nhất cho tất cả các kết nối
B. Tạo một process mới cho mỗi kết nối
C. Sử dụng đa luồng (multithreading) hoặc asynchronous I/O
D. Chỉ chấp nhận một kết nối tại một thời điểm
27. Phương pháp nào sau đây giúp cải thiện hiệu suất của một ứng dụng web bằng cách lưu trữ các bản sao của nội dung tĩnh gần người dùng hơn?
A. Load balancing
B. CDN
C. Reverse proxy
D. Firewall
28. Địa chỉ nào sau đây là một địa chỉ IPv6?
A. 192.168.1.1
B. 10.0.0.1
C. 2001:0db8:85a3:0000:0000:8a2e:0370:7334
D. 127.0.0.1
29. Phương pháp nào cho phép một máy chủ ẩn danh địa chỉ IP thực của nó bằng cách chuyển tiếp yêu cầu của client?
A. Firewall
B. Load balancer
C. Reverse proxy
D. VPN
30. Trong lập trình mạng, hàm `shutdown()` được sử dụng để làm gì?
A. Đóng hoàn toàn một socket
B. Tắt một nửa kết nối (gửi hoặc nhận)
C. Chấp nhận một kết nối mới
D. Lắng nghe các kết nối đến