1. Websocket là giao thức giao tiếp nào?
A. Giao tiếp một chiều từ server đến client
B. Giao tiếp hai chiều liên tục giữa client và server
C. Giao tiếp dựa trên HTTP request∕response truyền thống
D. Giao tiếp chỉ dành cho trình duyệt web
2. DNS (Domain Name System) có chức năng chính là gì?
A. Gán địa chỉ IP cho thiết bị
B. Chuyển đổi tên miền thành địa chỉ IP
C. Định tuyến lưu lượng mạng
D. Kiểm soát truy cập mạng
3. API socket thường cung cấp các hàm nào để lập trình mạng?
A. Hàm xử lý đồ họa
B. Hàm quản lý bộ nhớ
C. Hàm tạo, kết nối, gửi, nhận dữ liệu qua socket
D. Hàm thao tác file
4. Hàm `accept()` trong lập trình socket trả về giá trị gì?
A. Socket server gốc
B. Socket client đã kết nối
C. Số byte đã nhận
D. Thông báo lỗi kết nối
5. Giao thức nào sau đây được sử dụng để gửi email?
A. HTTP
B. FTP
C. SMTP
D. DNS
6. SSL∕TLS là giao thức bảo mật hoạt động ở tầng nào trong mô hình OSI?
A. Tầng Vật lý
B. Tầng Liên kết Dữ liệu
C. Tầng Mạng
D. Tầng Vận chuyển∕Tầng Ứng dụng (tùy ngữ cảnh)
7. Proxy server thường được sử dụng cho mục đích nào sau đây?
A. Tăng tốc độ mạng
B. Ẩn địa chỉ IP thật của client và kiểm soát truy cập web
C. Phân giải tên miền
D. Mã hóa dữ liệu
8. Trong lập trình mạng, 'blocking socket′ và 'non-blocking socket′ khác nhau cơ bản ở điểm nào?
A. Tốc độ truyền dữ liệu
B. Cách xử lý khi không có dữ liệu để đọc hoặc không thể gửi dữ liệu ngay lập tức
C. Giao thức sử dụng (TCP hay UDP)
D. Loại địa chỉ IP (IPv4 hay IPv6)
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. VPN (Virtual Private Network) tạo ra kết nối an toàn bằng cách nào?
A. Tăng băng thông mạng
B. Mã hóa toàn bộ lưu lượng mạng và tạo đường hầm riêng tư
C. Sử dụng giao thức UDP
D. Nén dữ liệu
11. Phương pháp nào sau đây thường được sử dụng để đảm bảo an toàn dữ liệu khi truyền qua mạng công cộng?
A. Sử dụng giao thức UDP
B. Mã hóa dữ liệu
C. Nén dữ liệu
D. Chia nhỏ gói tin
12. Trong lập trình socket, hàm `bind()` thường được sử dụng cho:
A. Kết nối tới một máy chủ khác
B. Gửi dữ liệu đi
C. Nhận dữ liệu đến
D. Gán địa chỉ IP và cổng cho socket
13. Cổng (port) trong giao tiếp mạng được sử dụng để:
A. Xác định địa chỉ máy tính
B. Phân biệt các ứng dụng hoặc dịch vụ trên cùng một máy tính
C. Định tuyến gói tin
D. Mã hóa dữ liệu
14. Tường lửa (firewall) trong mạng máy tính có chức năng chính là gì?
A. Tăng tốc độ mạng
B. Ngăn chặn truy cập trái phép vào mạng
C. Phân giải tên miền
D. Mã hóa dữ liệu
15. Trong giao tiếp TCP, quá trình 'bắt tay ba bước′ (three-way handshake) nhằm mục đích gì?
A. Mã hóa dữ liệu truyền
B. Xác thực người dùng
C. Thiết lập kết nối tin cậy giữa client và server
D. Giải phóng kết nối
16. RESTful API thường sử dụng giao thức HTTP để làm gì?
A. Thiết lập kết nối liên tục
B. Truyền tải dữ liệu theo thời gian thực
C. Thực hiện các thao tác CRUD (Create, Read, Update, Delete) trên tài nguyên
D. Mã hóa dữ liệu
17. JSON (JavaScript Object Notation) thường được sử dụng để làm gì trong lập trình mạng?
A. Mã hóa dữ liệu
B. Định dạng dữ liệu để trao đổi giữa client và server
C. Định tuyến gói tin
D. Quản lý kết nối socket
18. Phương thức truyền thông nào sau đây đảm bảo dữ liệu đến đích theo đúng thứ tự và không bị mất?
A. UDP
B. TCP
C. IP
D. HTTP
19. Trong mô hình OSI, tầng nào chịu trách nhiệm chính cho việc định tuyến gói tin giữa các mạng khác nhau?
A. Tầng Vật lý
B. Tầng Liên kết Dữ liệu
C. Tầng Mạng
D. Tầng Giao vận
20. Giao thức FTP (File Transfer Protocol) dùng để làm gì?
A. Truy cập website
B. Truyền tải file giữa client và server
C. Gửi email
D. Phân giải tên miền
21. Load balancing (cân bằng tải) trong hệ thống mạng có mục đích chính là gì?
A. Tăng cường bảo mật
B. Phân phối tải công việc đều cho nhiều server
C. Nén dữ liệu truyền tải
D. Mã hóa dữ liệu
22. Hàm `listen()` trong lập trình socket có mục đích gì?
A. Chấp nhận kết nối từ client
B. Thiết lập kết nối tới server
C. Bắt đầu lắng nghe kết nối đến trên một cổng cụ thể
D. Đóng kết nối socket
23. Khi lập trình server xử lý đồng thời nhiều client, kỹ thuật nào sau đây thường được sử dụng?
A. Sử dụng UDP thay vì TCP
B. Sử dụng một tiến trình duy nhất tuần tự xử lý từng client
C. Sử dụng đa luồng hoặc đa tiến trình
D. Giảm kích thước gói tin
24. Số cổng nào thường được sử dụng cho dịch vụ web (HTTP)?
25. Socket trong lập trình mạng được ví như:
A. Một địa chỉ IP
B. Một cổng logic trên máy tính
C. Một điểm cuối giao tiếp giữa ứng dụng và mạng
D. Một giao thức truyền tải dữ liệu
26. Giao thức UDP thường được sử dụng trong ứng dụng nào?
A. Truyền file lớn
B. Email
C. Streaming video và game online
D. Truy cập website
27. Giao thức TCP hoạt động ở tầng nào trong mô hình TCP∕IP?
A. Tầng Vật lý
B. Tầng Liên kết Dữ liệu
C. Tầng Mạng
D. Tầng Giao vận
28. Khái niệm 'đa luồng′ (multithreading) trong lập trình mạng có ý nghĩa gì?
A. Tăng tốc độ truyền dữ liệu
B. Xử lý đồng thời nhiều kết nối mạng trong một chương trình
C. Mã hóa dữ liệu trên nhiều kênh
D. Phân chia mạng thành nhiều phần nhỏ
29. NAT (Network Address Translation) được sử dụng để làm gì?
A. Tăng cường bảo mật mạng
B. Chia sẻ một địa chỉ IP công cộng cho nhiều thiết bị trong mạng riêng
C. Định tuyến gói tin hiệu quả hơn
D. Mã hóa địa chỉ IP
30. Ưu điểm chính của giao thức UDP so với TCP là gì?
A. Độ tin cậy cao hơn
B. Tốc độ truyền dữ liệu nhanh hơn
C. Đảm bảo thứ tự gói tin
D. Cơ chế kiểm soát lỗi tốt hơn