1. Trong lập trình mạng, giao thức TCP (Transmission Control Protocol) đảm bảo độ tin cậy bằng cách nào?
A. Sử dụng broadcast để gửi dữ liệu đến tất cả các host.
B. Thiết lập kết nối ba bước và cơ chế báo nhận (acknowledgement).
C. Không yêu cầu báo nhận, dữ liệu được gửi đi một chiều.
D. Sử dụng địa chỉ IP động để tránh mất gói tin.
2. Hàm `listen()` trong lập trình socket có vai trò gì?
A. Gửi dữ liệu đến client.
B. Thiết lập kết nối với client.
C. Chuyển socket sang trạng thái lắng nghe kết nối đến.
D. Đóng kết nối socket.
3. Websocket khác biệt so với HTTP ở điểm chính nào?
A. Websocket nhanh hơn HTTP.
B. Websocket là giao thức không kết nối.
C. Websocket cung cấp giao tiếp song công (full-duplex) liên tục.
D. Websocket không sử dụng port 80.
4. Trong lập trình socket, hàm `bind()` thường được sử dụng cho socket phía nào?
A. Socket phía client (máy khách).
B. Socket phía server (máy chủ).
C. Cả socket client và server.
D. Không cần thiết cho cả client và server.
5. Port (cổng) trong TCP∕IP được sử dụng để làm gì?
A. Xác định địa chỉ vật lý của thiết bị mạng.
B. Phân biệt các ứng dụng khác nhau trên cùng một máy chủ.
C. Mã hóa dữ liệu trước khi truyền đi.
D. Kiểm soát tốc độ truyền dữ liệu.
6. Khái niệm 'port forwarding′ (chuyển tiếp cổng) trong router dùng để làm gì?
A. Tăng tốc độ router.
B. Cho phép truy cập từ Internet vào một dịch vụ chạy trên máy tính trong mạng LAN.
C. Bảo mật router.
D. Chia sẻ kết nối Internet.
7. DNS (Domain Name System) có chức năng chính là gì?
A. Gán địa chỉ IP cho các thiết bị trong mạng LAN.
B. Chuyển đổi tên miền (domain name) thành địa chỉ IP.
C. Cung cấp dịch vụ email trên Internet.
D. Bảo mật kết nối mạng bằng mã hóa.
8. Hàm `accept()` trong lập trình socket trả về giá trị gì?
A. Địa chỉ IP của client.
B. Socket mới cho kết nối đã được chấp nhận.
C. Số lượng byte đã nhận được.
D. Mã lỗi nếu có lỗi xảy ra.
9. Đị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.
10. SNMP (Simple Network Management Protocol) được sử dụng để làm gì trong quản lý mạng?
A. Mã hóa dữ liệu mạng.
B. Giám sát và quản lý các thiết bị mạng.
C. Định tuyến gói tin mạng.
D. Cấu hình địa chỉ IP cho thiết bị mạng.
11. Load balancing (cân bằng tải) trong hệ thống phân tán có mục đích gì?
A. Tăng cường bảo mật cho hệ thống.
B. Phân phối đều tải công việc cho nhiều server để tăng hiệu suất và độ tin cậy.
C. Giảm chi phí vận hành server.
D. Đơn giản hóa cấu hình mạng.
12. Phương thức GET và POST trong HTTP khác nhau cơ bản như thế nào?
A. GET nhanh hơn POST.
B. GET gửi dữ liệu trong body, POST gửi dữ liệu trong URL.
C. GET dùng để lấy dữ liệu, POST dùng để gửi dữ liệu lên server (thường là tạo mới hoặc cập nhật).
D. GET chỉ dùng cho text, POST dùng cho file.
13. HTTPS khác biệt so với HTTP chủ yếu ở điểm nào?
A. HTTPS nhanh hơn HTTP.
B. HTTPS sử dụng port khác HTTP.
C. HTTPS mã hóa dữ liệu truyền tải để bảo mật.
D. HTTPS chỉ dùng cho truyền tải hình ảnh.
14. Trong lập trình mạng, 'blocking socket′ có nghĩa là gì?
A. Socket không cho phép gửi dữ liệu.
B. Các thao tác socket (ví dụ: `recv()`) sẽ chờ cho đến khi hoàn thành.
C. Socket chỉ hoạt động trên mạng cục bộ.
D. Socket không thể nhận dữ liệu.
15. Socket trong lập trình mạng được hiểu như thế nào?
A. Một loại phần cứng mạng để kết nối các máy tính.
B. Một giao diện phần mềm cho phép ứng dụng giao tiếp qua mạng.
C. Một giao thức mạng để truyền tải dữ liệu đa phương tiện.
D. Một địa chỉ IP duy nhất của máy chủ.
16. Trong lập trình mạng đa luồng (multithreading), vấn đề 'race condition′ có thể xảy ra khi nào?
A. Khi có quá nhiều kết nối mạng.
B. Khi nhiều luồng cùng truy cập và thay đổi dữ liệu chia sẻ.
C. Khi sử dụng giao thức UDP.
D. Khi mạng bị quá tải.
17. UDP (User Datagram Protocol) khác biệt chính so với TCP ở điểm nào?
A. UDP đảm bảo thứ tự gói tin đến.
B. UDP cung cấp cơ chế kiểm soát lỗi và phục hồi dữ liệu.
C. UDP là giao thức không kết nối, nhanh hơn nhưng kém tin cậy hơn.
D. UDP sử dụng cổng 80 cho truyền dữ liệu web.
18. CDN (Content Delivery Network) hoạt động bằng cách nào để tăng tốc độ truy cập website?
A. Mã hóa dữ liệu website.
B. Lưu trữ bản sao nội dung website trên nhiều server phân tán địa lý.
C. Tối ưu hóa code website.
D. Nén dữ liệu website.
19. Proxy server thường được sử dụng cho mục đích nào sau đây?
A. Tăng tốc độ mạng LAN.
B. Ẩn địa chỉ IP thực của người dùng và kiểm soát truy cập mạng.
C. Bảo vệ máy tính khỏi virus.
D. Chia sẻ kết nối Internet cho nhiều thiết bị.
20. HTTP (Hypertext Transfer Protocol) là giao thức hoạt động ở tầng nào trong mô hình OSI?
A. Tầng Mạng (Network Layer).
B. Tầng Vận chuyển (Transport Layer).
C. Tầng Ứng dụng (Application Layer).
D. Tầng Liên kết dữ liệu (Data Link Layer).
21. Giải pháp nào thường được sử dụng để tránh 'race condition′ trong lập trình mạng đa luồng?
A. Sử dụng giao thức UDP thay vì TCP.
B. Tăng tốc độ CPU.
C. Sử dụng cơ chế khóa (locks) hoặc mutexes để đồng bộ hóa truy cập.
D. Giảm số lượng kết nối mạng.
22. VPN (Virtual Private Network) tạo ra kết nối bảo mật bằng cách nào?
A. Sử dụng đường truyền vật lý riêng biệt.
B. Mã hóa toàn bộ lưu lượng mạng và tạo đường hầm ảo.
C. Chặn tất cả các kết nối không an toàn.
D. Thay đổi địa chỉ IP liên tục.
23. Trong lập trình mạng, thuật ngữ 'serialization′ (tuần tự hóa) dùng để chỉ quá trình gì?
A. Mã hóa dữ liệu.
B. Chuyển đổi dữ liệu thành định dạng byte để truyền qua mạng.
C. Giải mã dữ liệu đã nhận.
D. Nén dữ liệu để giảm kích thước.
24. NAT (Network Address Translation) giải quyết vấn đề gì trong mạng IPv4?
A. Tăng tốc độ truyền dữ liệu IPv4.
B. Khắc phục tình trạng thiếu địa chỉ IPv4 công cộng.
C. Bảo mật kết nối IPv4.
D. Đơn giản hóa việc cấu hình mạng IPv4.
25. Trong mô hình OSI, 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 Vận chuyển (Transport Layer).
B. Tầng Mạng (Network Layer).
C. Tầng Liên kết dữ liệu (Data Link Layer).
D. Tầng Ứng dụng (Application Layer).
26. Cookie trong HTTP được sử dụng cho mục đích chính nào?
A. Tăng tốc độ tải trang web.
B. Lưu trữ thông tin trạng thái của người dùng trên server.
C. Bảo mật thông tin đăng nhập.
D. Chặn quảng cáo trên website.
27. Firewall (tường lửa) trong mạng máy tính có chức năng chính là gì?
A. Tăng tốc độ kết nối mạng.
B. Ngăn chặn truy cập trái phép vào hoặc ra khỏi mạng.
C. Mã hóa dữ liệu truyền trên mạng.
D. Quản lý địa chỉ IP trong mạng LAN.
28. Khái niệm 'daemon′ trong lập trình mạng thường được dùng để chỉ loại chương trình nào?
A. Chương trình giao diện người dùng.
B. Chương trình chạy nền, cung cấp dịch vụ mạng.
C. Chương trình kiểm tra lỗi mạng.
D. Chương trình mã hóa dữ liệu.
29. Nguyên tắc hoạt động của mô hình client-server là gì?
A. Các máy tính ngang hàng trao đổi dữ liệu trực tiếp.
B. Một máy chủ cung cấp dịch vụ, các máy khách yêu cầu và sử dụng dịch vụ.
C. Dữ liệu được chia sẻ trên toàn mạng mà không có máy chủ trung tâm.
D. Mỗi máy tính vừa là client vừa là server.
30. Ưu điểm của 'non-blocking socket′ so với 'blocking socket′ là gì?
A. Đơn giản và dễ lập trình hơn.
B. Hiệu suất cao hơn khi xử lý nhiều kết nối đồng thời.
C. Đảm bảo dữ liệu được truyền đi nhanh hơn.
D. Ít tốn tài nguyên hệ thống hơn.