1. Phương pháp nào sau đây giúp ngăn chặn tấn công `man-in-the-middle`?
A. Sử dụng HTTP thay vì HTTPS.
B. Sử dụng xác thực hai yếu tố (two-factor authentication) và mã hóa dữ liệu.
C. Tắt tường lửa.
D. Sử dụng địa chỉ IP tĩnh.
2. Phương pháp nào được sử dụng để chia một mạng lớn thành các mạng nhỏ hơn, dễ quản lý hơn?
A. Routing
B. Subnetting
C. Bridging
D. Switching
3. Trong lập trình mạng, giao thức TCP sử dụng cơ chế nào để đảm bảo dữ liệu được truyền đến đích một cách đáng tin cậy?
A. Sử dụng UDP để truyền lại các gói tin bị mất.
B. Sử dụng cơ chế bắt tay ba bước (three-way handshake) và cơ chế xác nhận (acknowledgment).
C. Gửi tất cả dữ liệu một cách liên tục mà không cần kiểm tra.
D. Sử dụng ICMP để kiểm tra kết nối.
4. Giao thức nào được sử dụng để truyền file giữa client và server?
A. HTTP (Hypertext Transfer Protocol)
B. SMTP (Simple Mail Transfer Protocol)
C. FTP (File Transfer Protocol)
D. SNMP (Simple Network Management Protocol)
5. Trong lập trình mạng, `port number` được sử dụng để làm gì?
A. Xác định địa chỉ IP của một thiết bị.
B. Xác định ứng dụng hoặc dịch vụ cụ thể trên một thiết bị.
C. Mã hóa dữ liệu truyền qua mạng.
D. Kiểm tra lỗi trong quá trình truyền dữ liệu.
6. Trong lập trình mạng, `firewall` có chức năng gì?
A. Tăng tốc độ truyền dữ liệu.
B. Ngăn chặn truy cập trái phép vào hoặc ra khỏi mạng.
C. Chuyển đổi địa chỉ IP.
D. Phân giải tên miền thành địa chỉ IP.
7. Phương pháp nào sau đây thường được sử dụng để bảo mật truyền dữ liệu trên web?
A. HTTP (Hypertext Transfer Protocol)
B. FTP (File Transfer Protocol)
C. SSH (Secure Shell)
D. HTTPS (Hypertext Transfer Protocol Secure)
8. Trong lập trình mạng, thuật ngữ `blocking socket` có nghĩa là gì?
A. Socket không thể gửi hoặc nhận dữ liệu.
B. Socket sẽ chặn (block) tiến trình cho đến khi một hoạt động (ví dụ: đọc hoặc ghi) hoàn thành.
C. Socket chỉ có thể gửi dữ liệu đến một địa chỉ IP cụ thể.
D. Socket chỉ có thể nhận dữ liệu từ một địa chỉ IP cụ thể.
9. Trong lập trình mạng, `buffer overflow` là gì?
A. Một kỹ thuật để tăng tốc độ truyền dữ liệu.
B. Một lỗi xảy ra khi dữ liệu được ghi vượt quá kích thước của bộ đệm được cấp phát.
C. Một phương pháp để nén dữ liệu.
D. Một giao thức để quản lý địa chỉ IP.
10. Trong lập trình mạng, `race condition` có thể xảy ra khi nào?
A. Khi hai hoặc nhiều tiến trình hoặc luồng truy cập và thay đổi dữ liệu dùng chung đồng thời.
B. Khi một socket cố gắng gửi dữ liệu quá nhanh.
C. Khi một địa chỉ IP bị trùng lặp trên mạng.
D. Khi một gói tin bị mất trong quá trình truyền.
11. Trong lập trình mạng, thuật ngữ `daemon` thường được dùng để chỉ cái gì?
A. Một loại virus máy tính.
B. Một chương trình chạy nền và thực hiện các tác vụ hệ thống hoặc mạng.
C. Một công cụ để gỡ lỗi chương trình mạng.
D. Một giao thức để truyền file.
12. Địa chỉ loopback thường được sử dụng để kiểm tra các ứng dụng mạng trên cùng một máy. Địa chỉ loopback IPv4 là gì?
A. 192.168.0.1
B. 10.0.0.1
C. 127.0.0.1
D. 0.0.0.0
13. Địa chỉ IP phiên bản 6 (IPv6) có độ dài bao nhiêu?
A. 32 bit
B. 64 bit
C. 128 bit
D. 256 bit
14. Trong lập trình mạng, thuật ngữ `non-blocking socket` có nghĩa là gì?
A. Socket luôn sẵn sàng để gửi và nhận dữ liệu.
B. Socket sẽ trả về ngay lập tức, ngay cả khi không có dữ liệu để đọc hoặc không thể ghi dữ liệu.
C. Socket chỉ có thể được sử dụng bởi người dùng root.
D. Socket không thể đóng.
15. Kỹ thuật nào được sử dụng để mã hóa dữ liệu trước khi truyền qua mạng, nhằm bảo vệ tính bảo mật của thông tin?
A. Hashing
B. Compression
C. Encryption
D. Segmentation
16. Trong mô hình OSI, tầng nào chịu trách nhiệm cho việc thiết lập, duy trì và kết thúc kết nối giữa các ứng dụng?
A. Tầng Mạng (Network Layer)
B. Tầng Vận chuyển (Transport Layer)
C. Tầng Phiên (Session Layer)
D. Tầng Ứng dụng (Application Layer)
17. Socket trong lập trình mạng là gì?
A. Một loại bộ nhớ đệm.
B. Một giao diện cho phép các ứng dụng giao tiếp với mạng thông qua các giao thức.
C. Một loại virus mạng.
D. Một công cụ để mã hóa dữ liệu.
18. Trong lập trình mạng, `endianness` đề cập đến điều gì?
A. Kích thước tối đa của một gói tin.
B. Thứ tự các byte trong một số nguyên được lưu trữ trong bộ nhớ.
C. Tốc độ truyền dữ liệu trên mạng.
D. Phương pháp mã hóa dữ liệu.
19. Trong lập trình mạng, 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. FTP (File Transfer Protocol)
B. HTTP (Hypertext Transfer Protocol)
C. SNMP (Simple Network Management Protocol)
D. SMTP (Simple Mail Transfer Protocol)
20. Sự khác biệt chính giữa TCP và UDP là gì?
A. TCP nhanh hơn UDP.
B. TCP cung cấp kết nối đáng tin cậy, có thứ tự, trong khi UDP thì không.
C. UDP cung cấp kết nối đáng tin cậy, có thứ tự, trong khi TCP thì không.
D. TCP và UDP đều cung cấp kết nối đáng tin cậy và có thứ tự.
21. Phương pháp nào sau đây được sử dụng để kiểm tra kết nối mạng?
A. TCP (Transmission Control Protocol)
B. UDP (User Datagram Protocol)
C. ICMP (Internet Control Message Protocol)
D. HTTP (Hypertext Transfer Protocol)
22. 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. Chấp nhận một kết nối đến.
C. Đóng một socket.
D. Lắng nghe các kết nối đến trên một socket.
23. Trong lập trình mạng, `Quality of Service (QoS)` đề cập đến điều gì?
A. Tốc độ truyền dữ liệu tối đa.
B. Khả năng cung cấp các mức độ ưu tiên khác nhau cho các loại lưu lượng mạng khác nhau.
C. Số lượng thiết bị tối đa có thể kết nối vào mạng.
D. Kích thước tối đa của một gói tin.
24. Phương pháp nào được sử dụng để chuyển đổi tên miền (ví dụ: google.com) thành địa chỉ IP trong lập trình mạng?
A. ARP (Address Resolution Protocol)
B. DNS (Domain Name System)
C. ICMP (Internet Control Message Protocol)
D. DHCP (Dynamic Host Configuration Protocol)
25. Trong lập trình mạng, `deadlock` có thể xảy ra khi nào?
A. Khi một socket bị đóng đột ngột.
B. Khi hai hoặc nhiều tiến trình hoặc luồng đang chờ đợi lẫn nhau để giải phóng tài nguyên.
C. Khi một gói tin bị hỏng trong quá trình truyền.
D. Khi một địa chỉ IP bị xung đột.
26. Giao thức nào được sử dụng để gửi email?
A. HTTP (Hypertext Transfer Protocol)
B. FTP (File Transfer Protocol)
C. SMTP (Simple Mail Transfer Protocol)
D. TCP (Transmission Control Protocol)
27. 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ột mạng riêng?
A. DNS (Domain Name System)
B. DHCP (Dynamic Host Configuration Protocol)
C. NAT (Network Address Translation)
D. ARP (Address Resolution Protocol)
28. Kỹ thuật nào cho phép một server xử lý đồng thời nhiều kết nối client?
A. Sử dụng một socket duy nhất cho tất cả các kết nối.
B. Sử dụng đa luồng (multithreading) hoặc đa tiến trình (multiprocessing).
C. Chỉ chấp nhận một kết nối tại một thời điểm.
D. Tắt tường lửa.
29. Giao thức nào được sử dụng để tự động gán địa chỉ IP cho các thiết bị trong mạng?
A. DNS (Domain Name System)
B. DHCP (Dynamic Host Configuration Protocol)
C. ARP (Address Resolution Protocol)
D. ICMP (Internet Control Message Protocol)
30. Trong lập trình mạng, giao thức nào được sử dụng để đồng bộ hóa thời gian giữa các hệ thống máy tính?
A. SMTP (Simple Mail Transfer Protocol)
B. HTTP (Hypertext Transfer Protocol)
C. NTP (Network Time Protocol)
D. SNMP (Simple Network Management Protocol)