1. Phương pháp nào sau đây giúp giảm thiểu nguy cơ tấn công `từ chối dịch vụ phân tán` (DDoS)?
A. Sử dụng giao thức UDP thay vì TCP
B. Tăng tốc độ CPU của server
C. Triển khai tường lửa và hệ thống phát hiện xâm nhập (IDS)
D. Sử dụng địa chỉ IP tĩnh cho server
2. OAuth 2.0 là một framework ủy quyền (authorization framework) được sử dụng để làm gì?
A. Mã hóa dữ liệu
B. Xác thực người dùng
C. Cho phép ứng dụng của bên thứ ba truy cập tài nguyên của người dùng trên một dịch vụ khác một cách an toàn
D. Ngăn chặn tấn công SQL injection
3. Trong mô hình OSI, tầng nào chịu trách nhiệm chính cho việc đảm bảo dữ liệu đến đúng ứng dụng trên máy đích?
A. Tầng Vật lý (Physical Layer)
B. Tầng Mạng (Network Layer)
C. Tầng Giao vận (Transport Layer)
D. Tầng Ứng dụng (Application Layer)
4. NAT (Network Address Translation) giải quyết vấn đề gì trong mạng IPv4?
A. Tăng tốc độ định tuyến
B. Giảm độ trễ mạng
C. Giải quyết tình trạng thiếu hụt địa chỉ IPv4 công cộng
D. Cải thiện độ tin cậy của kết nối mạng
5. DNS (Domain Name System) có chức năng gì trong mạng Internet?
A. Cung cấp đị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. Đảm bảo an ninh cho các giao dịch trực tuyến
D. Tối ưu hóa đường truyền dữ liệu trên Internet
6. Trong lập trình socket client, phương thức nào được sử dụng để thiết lập kết nối đến server?
A. `bind()`
B. `listen()`
C. `accept()`
D. `connect()`
7. JSON (JavaScript Object Notation) thường được sử dụng làm định dạng dữ liệu chính trong lập trình mạng vì lý do nào?
A. Kích thước nhỏ gọn, dễ đọc và dễ phân tích cú pháp
B. Hỗ trợ mã hóa dữ liệu
C. Tốc độ truyền tải nhanh nhất
D. Tương thích tốt với tất cả các ngôn ngữ lập trình
8. Subnet mask (mặt nạ mạng con) được sử dụng để làm gì trong mạng IP?
A. Tăng tốc độ truyền dữ liệu
B. Phân chia mạng IP lớn thành các mạng con nhỏ hơn
C. Mã hóa địa chỉ IP
D. Xác định địa chỉ MAC của thiết bị
9. Giao thức WebSocket khác biệt chính so với HTTP ở điểm nào?
A. WebSocket nhanh hơn HTTP
B. WebSocket cung cấp kênh giao tiếp song công (full-duplex) liên tục, HTTP là giao thức yêu cầu-phản hồi (request-response)
C. HTTP dùng cho web, WebSocket dùng cho email
D. WebSocket an toàn hơn HTTP
10. 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 client
C. Mã hóa dữ liệu truyền giữa client và server
D. Ngăn chặn tấn công CSRF
11. Giao thức IP (Internet Protocol) chịu trách nhiệm chính cho công việc gì?
A. Đảm bảo truyền dữ liệu tin cậy
B. Định tuyến và đánh địa chỉ cho các gói dữ liệu trên mạng
C. Mã hóa dữ liệu
D. Kiểm soát luồng dữ liệu
12. Phương thức `listen()` trong lập trình socket server có chức năng gì?
A. Đóng kết nối socket hiện tại
B. Chấp nhận kết nối từ client
C. Gửi dữ liệu đến client
D. Bắt đầu lắng nghe kết nối đến trên một cổng cụ thể
13. Khái niệm `RESTful API` trong lập trình web services nhấn mạnh điều gì?
A. Sử dụng giao thức SOAP
B. Tuân thủ các nguyên tắc kiến trúc REST (Representational State Transfer)
C. Sử dụng cơ sở dữ liệu quan hệ
D. Giao tiếp đồng bộ
14. Trong lập trình socket, lỗi `connection refused` thường xảy ra khi nào?
A. Server không hoạt động hoặc không lắng nghe trên cổng được yêu cầu
B. Client và server không tương thích giao thức
C. Mạng bị nghẽn
D. Địa chỉ IP của server không chính xác
15. Trong lập trình web server, CGI (Common Gateway Interface) được sử dụng để làm gì?
A. Tạo giao diện người dùng đồ họa cho website
B. Xử lý các yêu cầu động từ client và tạo nội dung web động
C. Quản lý cơ sở dữ liệu của website
D. Tối ưu hóa hiệu suất tải trang web
16. SSH (Secure Shell) được sử dụng để làm gì?
A. Truyền file qua mạng
B. Điều khiển máy tính từ xa một cách an toàn
C. Chia sẻ tài nguyên máy in qua mạng
D. Giám sát hiệu suất mạng
17. Giao thức HTTP là giao thức hoạt động ở tầng nào trong mô hình OSI?
A. Tầng Vật lý
B. Tầng Mạng
C. Tầng Giao vận
D. Tầng Ứng dụng
18. 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 hoặc đối tượng thành một định dạng có thể lưu trữ hoặc truyền qua mạng
C. Nén dữ liệu để giảm kích thước
D. Phân chia dữ liệu thành các gói nhỏ hơn để truyền tải
19. Giao thức nào được sử dụng để gửi email trên Internet?
A. FTP
B. SMTP
C. HTTP
D. SNMP
20. Khái niệm `cổng` (port) trong mạng máy tính được dùng để làm gì?
A. Xác định đường dẫn vật lý trên mạng
B. Phân biệt các ứng dụng hoặc dịch vụ khác nhau trên cùng một máy chủ
C. Mã hóa dữ liệu truyền trên mạng
D. Kiểm soát tốc độ truyền dữ liệu
21. Hiện tượng `nghẽn mạng` (network congestion) xảy ra khi nào?
A. Khi đường truyền vật lý bị hỏng
B. Khi có quá nhiều dữ liệu được gửi trên mạng so với khả năng xử lý của nó
C. Khi phần mềm tường lửa chặn các kết nối
D. Khi giao thức TCP gặp lỗi
22. Giao thức TCP khác biệt chính so với UDP ở điểm nào?
A. TCP nhanh hơn UDP
B. TCP cung cấp kết nối tin cậy, có thứ tự, còn UDP thì không
C. UDP sử dụng bắt tay ba bước, TCP thì không
D. UDP hoạt động ở tầng ứng dụng, TCP ở tầng mạng
23. Kỹ thuật `đa luồng` (multithreading) trong lập trình mạng server có ưu điểm chính nào?
A. Giảm độ trễ mạng
B. Tăng băng thông mạng
C. Cho phép server xử lý đồng thời nhiều kết nối client
D. Đảm bảo an toàn dữ liệu truyền trên mạng
24. Kỹ thuật `multiplexing` I/O (ví dụ: `select`, `poll`, `epoll`) trong lập trình mạng server giúp giải quyết vấn đề gì?
A. Tăng băng thông mạng
B. Cho phép server quản lý hiệu quả nhiều kết nối socket đồng thời trên một luồng duy nhất
C. Giảm độ trễ mạng
D. Đảm bảo an toàn dữ liệu truyền trên mạng
25. Khái niệm `CIDR` (Classless Inter-Domain Routing) cải tiến gì so với phân lớp địa chỉ IP truyền thống (Class A, B, C)?
A. Tăng số lượng địa chỉ IP có sẵn
B. Cho phép phân bổ địa chỉ IP linh hoạt hơn, không bị giới hạn bởi các lớp mạng cố định
C. Đơn giản hóa cấu hình mạng
D. Cải thiện bảo mật mạng
26. VPN (Virtual Private Network) cung cấp lợi ích chính nào về bảo mật?
A. Tăng băng thông mạng
B. Ẩn địa chỉ IP thực và mã hóa lưu lượng truy cập Internet
C. Ngăn chặn virus xâm nhập vào máy tính
D. Tối ưu hóa hiệu suất mạng
27. Phương thức HTTP `GET` và `POST` khác nhau cơ bản ở điểm nào?
A. GET nhanh hơn POST
B. GET dùng để lấy dữ liệu, POST dùng để gửi dữ liệu lên server
C. POST chỉ dùng cho dữ liệu văn bản, GET cho dữ liệu đa phương tiện
D. POST an toàn hơn GET
28. 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 Internet
B. Quản lý địa chỉ IP
C. Kiểm soát và lọc lưu lượng mạng dựa trên các quy tắc bảo mật
D. Phát hiện và loại bỏ virus trên mạng
29. Socket trong lập trình mạng được hiểu là gì?
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 dùng để giao tiếp mạng
C. Điểm cuối của một kết nối mạng, bao gồm địa chỉ IP và số cổng
D. Một giao thức truyền dữ liệu cụ thể như HTTP hoặc FTP
30. Phương thức `blocking` và `non-blocking` socket khác nhau như thế nào?
A. Blocking socket nhanh hơn non-blocking socket
B. Blocking socket sẽ tạm dừng chương trình cho đến khi thao tác I/O hoàn thành, non-blocking socket trả về ngay lập tức
C. Non-blocking socket chỉ dùng cho UDP, blocking socket cho TCP
D. Blocking socket an toàn hơn non-blocking socket