1. DNS (Domain Name System) có chức năng chính là gì?
A. Gán địa chỉ IP cho thiết bị trong mạng LAN.
B. Chuyển đổi tên miền (ví dụ: google.com) thành địa chỉ IP.
C. Định tuyến gói tin dữ liệu trên Internet.
D. Mã hóa dữ liệu truyền trên mạng.
2. Mục đích chính của việc sử dụng `đa luồng` (multithreading) hoặc `đa tiến trình` (multiprocessing) trong lập trình server là gì?
A. Giảm độ trễ mạng.
B. Tăng cường bảo mật cho server.
C. Xử lý đồng thời nhiều kết nối client.
D. Đơn giản hóa mã nguồn server.
3. Trong lập trình socket, hàm `accept()` được sử dụng ở phía server để làm gì?
A. Gửi dữ liệu đến client.
B. Nhận dữ liệu từ client.
C. Chấp nhận một kết nối đến từ client, tạo ra một socket mới cho kết nối đó.
D. Đóng socket lắng nghe.
4. Địa chỉ IP phiên bản IPv6 có độ dài bao nhiêu bit?
A. 32 bit
B. 64 bit
C. 128 bit
D. 256 bit
5. Ưu điểm chính của việc sử dụng giao thức TCP so với UDP trong lập trình mạng là gì?
A. Tốc độ truyền dữ liệu nhanh hơn.
B. Độ tin cậy cao hơn và đảm bảo dữ liệu đến đúng thứ tự.
C. Ít overhead hơn, hiệu quả hơn cho dữ liệu nhỏ.
D. Đơn giản hơn trong việc lập trình.
6. Giao thức nào sau đây KHÔNG phải là giao thức tầng ứng dụng (Application Layer) trong mô hình TCP/IP?
A. HTTP
B. TCP
C. FTP
D. SMTP
7. Giao thức nào sau đây được sử dụng để gửi email?
A. HTTP
B. FTP
C. SMTP
D. DNS
8. Giải pháp `load balancing` (cân bằng tải) trong hệ thống server có mục đích chính là gì?
A. Tăng cường bảo mật cho server.
B. Sao lưu dữ liệu server định kỳ.
C. Phân phối tải công việc (ví dụ: yêu cầu truy cập) đều cho nhiều server, cải thiện hiệu suất và độ tin cậy.
D. Giảm dung lượng ổ cứng sử dụng trên server.
9. Trong lập trình mạng, `blocking socket` có đặc điểm gì?
A. Cho phép nhiều kết nối đồng thời.
B. Ngăn chương trình tiếp tục thực thi cho đến khi thao tác socket hoàn thành.
C. Tự động xử lý lỗi kết nối.
D. Hoạt động nhanh hơn `non-blocking socket`.
10. Điều gì xảy ra khi một server nhận được gói tin SYN từ client trong quá trình thiết lập kết nối TCP?
A. Server gửi lại gói tin ACK để xác nhận.
B. Server gửi lại gói tin SYN-ACK để xác nhận và đồng bộ hóa.
C. Server gửi lại gói tin FIN để kết thúc kết nối.
D. Server bỏ qua gói tin SYN.
11. Trong lập trình socket TCP, hàm `listen()` được sử dụng để làm gì ở phía server?
A. Gửi dữ liệu đến client.
B. Chấp nhận kết nối từ client.
C. Thiết lập socket ở trạng thái lắng nghe kết nối đến.
D. Đóng kết nối socket.
12. Trong lập trình mạng, `serialization` (tuần tự hóa) dữ liệu có nghĩa là gì?
A. Mã hóa dữ liệu để bảo mật.
B. Chuyển đổi cấu trúc dữ liệu phức tạp thành một chuỗi byte để truyền qua mạng.
C. Nén dữ liệu để giảm kích thước truyền.
D. Chia nhỏ dữ liệu thành các gói tin nhỏ hơn.
13. VPN (Virtual Private Network) có tác dụng chính là gì?
A. Tăng tốc độ download và upload.
B. Tạo kết nối an toàn và riêng tư qua mạng công cộng như internet.
C. Ngăn chặn virus và malware xâm nhập.
D. Chia sẻ file giữa các máy tính trong mạng LAN.
14. Trong mô hình TCP/IP, tầng nào tương ứng với tầng Mạng (Network Layer) trong mô hình OSI?
A. Tầng Ứng dụng (Application Layer)
B. Tầng Giao vận (Transport Layer)
C. Tầng Liên mạng (Internet Layer)
D. Tầng Liên kết dữ liệu (Data Link Layer)
15. Phương thức giao tiếp nào phù hợp nhất cho việc truyền tải video trực tuyến (streaming video) thời gian thực, yêu cầu tốc độ và chấp nhận mất mát gói tin?
A. TCP
B. FTP
C. UDP
D. SMTP
16. Phương thức giao tiếp `Client-Server` hoạt động dựa trên mô hình nào?
A. Mô hình ngang hàng (Peer-to-peer)
B. Mô hình quảng bá (Broadcast)
C. Mô hình yêu cầu-phản hồi (Request-Response)
D. Mô hình đa điểm (Multicast)
17. Địa chỉ MAC (Media Access Control) được sử dụng ở tầng nào trong mô hình OSI?
A. Tầng Mạng (Network Layer)
B. Tầng Giao vận (Transport Layer)
C. Tầng Dữ liệu liên kết (Data Link Layer)
D. Tầng Vật lý (Physical Layer)
18. Trong lập trình socket, hàm `bind()` được sử dụng để làm gì?
A. Thiết lập kết nối với server từ client.
B. Gửi dữ liệu qua socket.
C. Liên kết socket với một địa chỉ IP và cổng cụ thể.
D. Ngắt kết nối socket.
19. Cổng (port) số 80 thường được sử dụng cho dịch vụ nào?
A. Email (SMTP)
B. Truy cập web (HTTP)
C. Truyền file (FTP)
D. DNS
20. Trong mô hình OSI, tầng nào chịu trách nhiệm cho việc đảm bảo dữ liệu đến đích một cách đáng tin cậy và theo đúng thứ tự, sử dụng các giao thức như TCP?
A. Tầng Mạng (Network Layer)
B. Tầng Giao vận (Transport Layer)
C. Tầng Phiên (Session Layer)
D. Tầng Dữ liệu liên kết (Data Link Layer)
21. Khái niệm `port forwarding` (chuyển tiếp cổng) trong router được sử dụng để làm gì?
A. Tăng tốc độ kết nối internet.
B. Cho phép truy cập từ internet vào một dịch vụ chạy trên một máy tính trong mạng LAN.
C. Phân chia băng thông internet cho các thiết bị trong mạng.
D. Mã hóa dữ liệu truyền qua router.
22. Khái niệm `network latency` đề cập đến điều gì?
A. Tốc độ truyền dữ liệu tối đa trên mạng.
B. Thời gian trễ giữa thời điểm gửi và nhận dữ liệu trên mạng.
C. Kích thước gói tin dữ liệu tối đa được phép truyền.
D. Số lượng thiết bị tối đa có thể kết nối vào mạng.
23. Firewall trong mạng máy tính có chức năng chính là gì?
A. Tăng tốc độ truyền dữ liệu mạng.
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 (NAT).
D. Phân giải tên miền (DNS).
24. Giao thức UDP khác biệt so với TCP chủ yếu ở điểm nào?
A. UDP cung cấp cơ chế kiểm soát lỗi và phục hồi dữ liệu.
B. UDP đảm bảo dữ liệu đến đích theo đúng thứ tự gửi đi.
C. UDP là giao thức hướng kết nối, trong khi TCP là giao thức phi kết nối.
D. UDP là giao thức phi kết nối và không đảm bảo độ tin cậy, trong khi TCP hướng kết nối và tin cậy.
25. Khi một client gửi yêu cầu kết nối TCP đến server, bước đầu tiên trong `handshake` 3 bước là gì?
A. ACK (Acknowledgement)
B. SYN-ACK (Synchronization-Acknowledgement)
C. SYN (Synchronization)
D. FIN (Finish)
26. Phương thức nào sau đây thường được sử dụng để truyền file giữa client và server?
A. HTTP
B. FTP
C. SMTP
D. Telnet
27. Trong lập trình mạng, `byte order` (thứ tự byte) là gì và tại sao nó quan trọng?
A. Thứ tự các bit trong một byte, quan trọng cho mã hóa dữ liệu.
B. Thứ tự các byte trong một số nguyên (ví dụ: int) khi truyền qua mạng, quan trọng để đảm bảo tính tương thích giữa các hệ thống khác nhau.
C. Thứ tự các gói tin khi truyền qua mạng, quan trọng để đảm bảo dữ liệu đến đúng thứ tự.
D. Kích thước tối đa của một byte, quan trọng để tối ưu hóa hiệu suất mạng.
28. Socket trong lập trình mạng thường được ví như?
A. Một địa chỉ IP duy nhất của máy chủ.
B. Một cổng logic trên máy tính để ứng dụng mạng giao tiếp.
C. Một kênh truyền vật lý giữa hai máy tính.
D. Một giao thức định tuyến gói tin trên mạng.
29. Phương thức nào sau đây thường được sử dụng để truyền tải dữ liệu web (ví dụ, trang HTML) từ server đến trình duyệt web?
A. FTP (File Transfer Protocol)
B. SMTP (Simple Mail Transfer Protocol)
C. HTTP (Hypertext Transfer Protocol)
D. Telnet
30. Nguyên tắc `fail-safe` trong thiết kế hệ thống mạng nhấn mạnh điều gì?
A. Hệ thống phải hoạt động nhanh nhất có thể.
B. Hệ thống phải luôn hoạt động mà không bao giờ gặp lỗi.
C. Khi xảy ra lỗi, hệ thống phải chuyển về trạng thái an toàn, bảo vệ dữ liệu và tránh gây ra hậu quả nghiêm trọng.
D. Hệ thống phải tự động sửa chữa lỗi khi phát hiện.