1. Trong mô hình OSI, tầng nào chịu trách nhiệm chính cho việc cung cấp địa chỉ logic và định tuyến gói tin giữa các mạng khác nhau?
A. Tầng Dữ liệu liên kết
B. Tầng Mạng
C. Tầng Giao vận
D. Tầng Vật lý
2. Cơ chế 'select′ hoặc 'poll′ trong lập trình mạng dùng để làm gì?
A. Mã hóa dữ liệu
B. Quản lý nhiều socket không blocking
C. Tạo kết nối TCP tin cậy
D. Định tuyến gói tin
3. Trong lập trình mạng, thuật ngữ 'ephemeral port′ (cổng tạm thời) đề cập đến loại cổng nào?
A. Cổng cố định cho các dịch vụ web
B. Cổng được hệ điều hành cấp phát động cho các kết nối client
C. Cổng dành riêng cho các giao thức bảo mật
D. Cổng dùng cho các dịch vụ hệ thống quan trọng
4. Trong lập trình socket, hàm `bind()` thường được sử dụng cho socket loại nào?
A. Socket phía máy khách (client)
B. Socket phía máy chủ (server)
C. Cả socket máy khách và máy chủ
D. Socket UDP
5. Firewall (tường lửa) có vai trò gì trong bảo mật mạng?
A. Tăng tốc độ mạng
B. Kiểm soát và lọc lưu lượng mạng ra vào, ngăn chặn truy cập trái phép
C. Mã hóa dữ liệu
D. Chống virus
6. Kỹ thuật 'blocking socket′ hoạt động như thế nào?
A. Socket liên tục kiểm tra dữ liệu đến mà không làm treo chương trình
B. Các hoạt động socket (ví dụ `recv()`) sẽ tạm dừng chương trình cho đến khi hoàn thành
C. Socket tự động ngắt kết nối khi không có dữ liệu
D. Socket chỉ hoạt động với giao thức UDP
7. JSON và XML là các định dạng phổ biến cho việc gì trong lập trình mạng?
A. Địa chỉ IP
B. Serialization dữ liệu
C. Giao thức mạng
D. Cổng mạng
8. WebSocket là công nghệ gì trong lập trình web và nó khác biệt như thế nào so với HTTP truyền thống?
A. Một giao thức bảo mật cho HTTP
B. Một giao thức cho phép giao tiếp hai chiều liên tục giữa client và server
C. Một phiên bản mới của giao thức HTTP
D. Một kỹ thuật nén dữ liệu cho web
9. Giao thức TCP thuộc tầng nào trong mô hình TCP∕IP và chức năng chính của nó là gì?
A. Tầng Ứng dụng, cung cấp dịch vụ email
B. Tầng Giao vận, đảm bảo truyền dữ liệu tin cậy, có thứ tự
C. Tầng Mạng, định tuyến gói tin
D. Tầng Liên kết dữ liệu, kiểm soát truy cập môi trường truyền
10. NAT (Network Address Translation) có chức năng chính là gì trong mạng?
A. Tăng tốc độ truyền dữ liệu
B. Cho phép nhiều thiết bị trong mạng LAN chia sẻ một địa chỉ IP công cộng
C. Mã hóa dữ liệu mạng
D. Định tuyến gói tin hiệu quả hơn
11. Hiện tượng 'lũ lụt SYN′ (SYN flood) là một dạng tấn công mạng thuộc loại nào?
A. Tấn công giả mạo địa chỉ IP
B. Tấn công từ chối dịch vụ (DoS)
C. Tấn công nghe lén
D. Tấn công trung gian (Man-in-the-middle)
12. Hàm `listen()` trong lập trình socket có chức năng gì?
A. Gửi dữ liệu đến máy khách
B. Chấp nhận kết nối từ máy khách
C. Thiết lập socket ở chế độ lắng nghe kết nối đến
D. Đóng kết nối socket
13. Sự khác biệt chính giữa IMAP và POP3 trong việc nhận email là gì?
A. IMAP nhanh hơn POP3
B. IMAP giữ email trên server, POP3 thường tải về và xóa khỏi server
C. POP3 bảo mật hơn IMAP
D. POP3 hỗ trợ nhiều tài khoản email hơn IMAP
14. Hàm `recv()` trong lập trình socket có chức năng gì?
A. Gửi dữ liệu
B. Nhận dữ liệu
C. Thiết lập kết nối
D. Đóng kết nối
15. Giao thức nào thường được sử dụng cho truyền video trực tuyến (streaming)?
A. TCP
B. UDP
C. HTTP
D. FTP
16. Ưu điểm chính của 'non-blocking socket′ so với 'blocking socket′ là gì?
A. Dễ lập trình hơn
B. Cho phép xử lý đồng thời nhiều kết nối
C. Hiệu suất mạng cao hơn trong mọi trường hợp
D. Bảo mật tốt hơn
17. Cổng (port) trong giao tiếp mạng được sử dụng để làm gì?
A. Xác định địa chỉ vật lý của thiết bị
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 truyền đi
D. Kiểm soát lỗi truyền dữ liệu
18. SMTP (Simple Mail Transfer Protocol) được sử dụng để làm gì?
A. Truy cập website
B. Gửi email
C. Nhận email
D. Truyền file
19. FTP (File Transfer Protocol) được sử dụng cho mục đích gì?
A. Truy cập website
B. Gửi và nhận email
C. Truyền tải file giữa máy tính
D. Truyền video trực tuyến
20. Nguyên tắc 'client-server′ trong lập trình mạng mô tả mối quan hệ giữa các thành phần như thế nào?
A. Các máy tính hoạt động ngang hàng, không phân biệt vai trò
B. Một máy chủ cung cấp dịch vụ, các máy khách yêu cầu dịch vụ
C. Các máy tính luân phiên nhau làm máy chủ và máy khách
D. Máy chủ chỉ gửi dữ liệu, máy khách chỉ nhận dữ liệu
21. Sự khác biệt chính giữa giao thức TCP và UDP là gì?
A. TCP nhanh hơn UDP
B. TCP đảm bảo độ tin cậy, UDP thì không
C. UDP sử dụng địa chỉ IP, TCP thì không
D. UDP chỉ dùng cho truyền video, TCP cho dữ liệu văn bản
22. SSL∕TLS được sử dụng để cung cấp tính năng bảo mật nào trong giao tiếp mạng?
A. Chống virus
B. Mã hóa và xác thực
C. Ngăn chặn xâm nhập vật lý
D. Kiểm soát truy cập mạng
23. Hàm `accept()` trả về giá trị gì trong lập trình socket?
A. Số byte đã nhận
B. Một socket mới đại diện cho kết nối đã được chấp nhận
C. Địa chỉ IP của máy khách
D. Mã lỗi
24. DNS (Domain Name System) có vai trò gì trong mạng internet?
A. Định tuyến gói tin
B. Chuyển đổi tên miền thành địa chỉ IP
C. Mã hóa dữ liệu web
D. Kiểm soát truy cập mạng
25. Trong lập trình mạng, 'serialization′ dữ liệu có nghĩa là gì?
A. Nén dữ liệu để giảm kích thước
B. Chuyển đổi cấu trúc dữ liệu thành định dạng byte stream để truyền qua mạng
C. Mã hóa dữ liệu trước khi truyền
D. Chia nhỏ dữ liệu thành các gói tin nhỏ hơn
26. VPN (Virtual Private Network) tạo ra kết nối bảo mật như thế nào?
A. Tăng tốc độ mạng
B. Tạo đường hầm mã hóa qua mạng công cộng
C. Chặn virus
D. Thay đổi địa chỉ MAC
27. Để gửi dữ liệu qua socket TCP, hàm nào thường được sử dụng?
A. `recv()`
B. `send()`
C. `connect()`
D. `close()`
28. Socket là gì trong lập trình mạng?
A. Một loại địa chỉ IP đặc biệt
B. Một giao diện lập trình ứng dụng cho phép giao tiếp mạng
C. Một thiết bị phần cứng mạng
D. Một giao thức mạng
29. IMAP và POP3 là các giao thức được sử dụng để làm gì?
A. Gửi email
B. Nhận email
C. Truyền file
D. Truy cập website
30. Giao thức HTTP hoạt động ở tầng nào trong mô hình TCP∕IP và dùng để làm gì?
A. Tầng Mạng, định tuyến web
B. Tầng Giao vận, truyền file
C. Tầng Ứng dụng, truyền tải nội dung web
D. Tầng Liên kết dữ liệu, kiểm soát lỗi