1. Trong lập trình mạng, thuật ngữ `throughput` dùng để chỉ điều gì?
A. Thời gian trễ giữa việc gửi và nhận dữ liệu.
B. Tổng băng thông của mạng.
C. Lượng dữ liệu thực tế được truyền thành công trong một khoảng thời gian nhất định.
D. Số lượng kết nối đồng thời.
2. Trong lập trình socket, hàm `bind()` được sử dụng để làm gì?
A. Đóng kết nối socket.
B. Thiết lập kết nối đến một socket khác.
C. Gán địa chỉ IP và số cổng cho socket.
D. Nghe các kết nối đến.
3. Giao thức nào sau đây thường được sử dụng để truyền tải email?
A. HTTP
B. FTP
C. SMTP
D. TCP
4. Trong lập trình mạng, thuật ngữ `firewall` dùng để chỉ cái gì?
A. Một thiết bị phần cứng để tăng tốc độ mạng.
B. Một hệ thống bảo mật mạng, kiểm soát lưu lượng truy cập dựa trên các quy tắc được định nghĩa.
C. Một giao thức truyền tải dữ liệu an toàn.
D. Một phương pháp mã hóa dữ liệu.
5. Trong lập trình mạng, thuật ngữ `jitter` dùng để chỉ điều gì?
A. Tổng băng thông của mạng.
B. Sự biến đổi về độ trễ của các gói tin dữ liệu.
C. Lượng dữ liệu thực tế được truyền thành công.
D. Số lượng kết nối đồng thời.
6. Trong mô hình TCP/IP, tầng nào chịu trách nhiệm cho việc định tuyến gói tin giữa các mạng khác nhau?
A. Tầng Giao vận (Transport Layer)
B. Tầng Ứng dụng (Application Layer)
C. Tầng Mạng (Network Layer)
D. Tầng Liên kết dữ liệu (Data Link Layer)
7. Giao thức nào sau đây cung cấp kết nối đáng tin cậy, hướng kết nối trong lập trình mạng?
A. UDP
B. IP
C. TCP
D. ICMP
8. Trong lập trình mạng, thuật ngữ `latency` dùng để chỉ điều gì?
A. Kích thước của gói tin dữ liệu.
B. Thời gian trễ giữa việc gửi và nhận dữ liệu.
C. Tốc độ truyền tải dữ liệu tối đa.
D. Số lượng kết nối đồng thời.
9. Trong lập trình mạng, thuật ngữ `port` dùng để chỉ điều gì?
A. Một loại cáp mạng.
B. Một địa chỉ logic để xác định một ứng dụng cụ thể trên một máy chủ.
C. Một giao thức bảo mật.
D. Một thiết bị định tuyến.
10. Trong mô hình OSI, tầng nào chịu trách nhiệm cho việc đảm bảo dữ liệu được truyền một cách đáng tin cậy giữa hai hệ thống?
A. Tầng Vật lý (Physical Layer)
B. Tầng Mạng (Network Layer)
C. Tầng Giao vận (Transport Layer)
D. Tầng Phiên (Session Layer)
11. Trong lập trình socket, hàm `listen()` được sử dụng để làm gì?
A. Gửi dữ liệu đến một socket khác.
B. Đóng kết nối socket.
C. Chấp nhận một kết nối đến.
D. Bắt đầu lắng nghe các kết nối đến trên một socket.
12. Trong lập trình socket, hàm `accept()` được sử dụng để làm gì?
A. Đóng kết nối socket.
B. Gửi dữ liệu đến một socket khác.
C. Chấp nhận một kết nối đến từ một client.
D. Bắt đầu lắng nghe các kết nối đến.
13. Phương thức nào sau đây được sử dụng để mã hóa dữ liệu trong quá trình truyền tải nhằm bảo vệ thông tin khỏi bị đánh cắp?
A. Multiplexing
B. Encryption
C. Demodulation
D. Framing
14. Phương thức nào sau đây thường được sử dụng để xác thực người dùng trong các ứng dụng web?
A. ARP
B. DHCP
C. OAuth
D. ICMP
15. Giao thức nào sau đây cung cấp một kênh truyền thông an toàn và mã hóa giữa client và server, thường được sử dụng cho các ứng dụng web?
A. HTTP
B. FTP
C. HTTPS
D. SMTP
16. DNS (Domain Name System) có chức năng chính là gì?
A. Cung cấp địa chỉ IP cho các thiết bị trong mạng LAN.
B. Chuyển đổi tên miền thành địa chỉ IP.
C. Quản lý bảo mật mạng.
D. Tăng tốc độ truyền tải dữ liệu.
17. Phương pháp nào sau đây giúp cải thiện hiệu suất truyền dữ liệu bằng cách chia nhỏ dữ liệu thành các gói nhỏ hơn trước khi gửi?
A. Congestion control
B. Segmentation
C. Multiplexing
D. Handshaking
18. Trong lập trình mạng, khi nào nên sử dụng UDP thay vì TCP?
A. Khi cần đảm bảo độ tin cậy và thứ tự của dữ liệu.
B. Khi cần truyền tải dữ liệu lớn.
C. Khi tốc độ truyền tải quan trọng hơn độ tin cậy.
D. Khi cần bảo mật dữ liệu.
19. Giao thức nào sau đây thường được sử dụng để truyền tải file giữa client và server?
A. HTTP
B. SMTP
C. FTP
D. SNMP
20. Trong lập trình mạng, thuật ngữ `MTU` (Maximum Transmission Unit) dùng để chỉ điều gì?
A. Thời gian trễ tối đa cho phép.
B. Kích thước gói tin lớn nhất có thể truyền trên một mạng.
C. Tốc độ truyền tải dữ liệu tối đa.
D. Số lượng kết nối đồng thời tối đa.
21. Socket là gì trong lập trình mạng?
A. Một giao thức truyền tải dữ liệu.
B. Một điểm cuối của một kết nối mạng.
C. Một loại tường lửa bảo vệ mạng.
D. Một thiết bị phần cứng để kết nối mạng.
22. Phương pháp nào sau đây giúp giảm tải cho server bằng cách phân phối yêu cầu của người dùng đến nhiều server khác nhau?
A. Caching
B. Load balancing
C. Firewall
D. Proxy server
23. Giao thức nào sau đây được sử dụng để cấp phát địa chỉ IP động cho các thiết bị trong mạng?
A. DNS
B. ARP
C. DHCP
D. ICMP
24. Phương pháp nào sau đây giúp ẩn địa chỉ IP thực của client bằng cách chuyển tiếp yêu cầu của client thông qua một server trung gian?
A. Load balancing
B. Caching
C. Firewall
D. Proxy server
25. Phương pháp nào sau đây giúp tăng tốc độ truy cập dữ liệu bằng cách lưu trữ các bản sao của dữ liệu ở gần người dùng hơn?
A. Load balancing
B. Caching
C. Firewall
D. Proxy server
26. Trong lập trình mạng, cơ chế nào giúp ngăn chặn một máy chủ bị quá tải bởi một lượng lớn các yêu cầu kết nối giả mạo, thường được sử dụng trong các cuộc tấn công từ chối dịch vụ (DoS)?
A. Congestion Control
B. SYN Cookies
C. Quality of Service (QoS)
D. Traffic Shaping
27. Giao thức nào sau đây được sử dụng để giải quyết địa chỉ IP thành địa chỉ MAC trong mạng cục bộ?
A. DNS
B. ARP
C. DHCP
D. ICMP
28. Phương pháp nào sau đây được sử dụng để kiểm soát lưu lượng dữ liệu giữa máy gửi và máy nhận, ngăn chặn tình trạng quá tải mạng?
A. Error detection
B. Flow control
C. Multiplexing
D. Addressing
29. Giao thức nào sau đây đượ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. SSH
30. Trong lập trình socket, hàm `connect()` được sử dụng để làm gì?
A. Đóng kết nối socket.
B. Gửi dữ liệu đến một socket khác.
C. Thiết lập một kết nối đến một server.
D. Bắt đầu lắng nghe các kết nối đến.