Đề thi, bài tập trắc nghiệm online Lập trình mạngĐề 6 – Bài tập, đề thi trắc nghiệm online Lập trình mạng Đăng vào 2 Tháng 5, 2026 bởi admin Đề 6 – Bài tập, đề thi trắc nghiệm online Lập trình mạng Đề 6 – Bài tập, đề thi trắc nghiệm online Lập trình mạng Số câu30Quiz ID11971 Làm bài Câu 1 1. Giao thức nào sau đây thường được sử dụng để phân giải tên miền (domain name) thành địa chỉ IP? A A. HTTP B B. FTP C C. DNS D D. SMTP Câu 2 2. Sự khác biệt chính giữa giao thức TCP và UDP trong việc xử lý mất gói tin là gì? A A. TCP tự động gửi lại các gói tin bị mất, còn UDP thì không. B B. UDP tự động gửi lại các gói tin bị mất, còn TCP thì không. C C. Cả TCP và UDP đều tự động gửi lại các gói tin bị mất. D D. Cả TCP và UDP đều không xử lý việc mất gói tin. Câu 3 3. Trong ngữ cảnh bảo mật mạng, thuật ngữ 'firewall' dùng để chỉ cái gì? A A. Một loại cáp mạng chống cháy. B B. Một hệ thống phần mềm hoặc phần cứng 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. C C. Một giao thức mã hóa dữ liệu. D D. Một phương pháp chống tấn công DDoS. Câu 4 4. Trong mô hình OSI, tầng nào chịu trách nhiệm chính cho việc đảm bảo truyền dữ liệu tin cậy giữa hai hệ thống đầu cuối, bao gồm việc kiểm soát lỗi và kiểm soát luồng? A A. Tầng Vật lý B B. Tầng Liên kết dữ liệu C C. Tầng Mạng D D. Tầng Giao vận Câu 5 5. Cơ chế 'congestion control' (kiểm soát tắc nghẽn) trong TCP có mục đích chính là gì? A A. Mã hóa dữ liệu để bảo mật. B B. Đảm bảo dữ liệu đến đích theo đúng thứ tự. C C. Ngăn chặn mạng bị quá tải do lưu lượng dữ liệu quá lớn. D D. Phát hiện và sửa lỗi dữ liệu trong quá trình truyền. Câu 6 6. Phương pháp ' tuần tự hóa dữ liệu' (data serialization) trong lập trình mạng có mục đích chính là gì? A A. Mã hóa dữ liệu để bảo mật. B B. Nén dữ liệu để giảm kích thước truyền tải. C C. Chuyển đổi dữ liệu phức tạp thành định dạng byte stream để truyền qua mạng. D D. Kiểm tra lỗi dữ liệu trong quá trình truyền. Câu 7 7. Trong lập trình socket, hàm `bind()` thường được sử dụng ở phía nào của mô hình client-server? A A. Chỉ ở phía client. B B. Chỉ ở phía server. C C. Cả ở phía client và server. D D. Không sử dụng trong cả client và server. Câu 8 8. Kỹ thuật 'port forwarding' (chuyển tiếp cổng) thường được sử dụng trong trường hợp nào? A A. Để tăng tốc độ truyền dữ liệu trên mạng. B B. Để truy cập các dịch vụ mạng bên trong mạng LAN từ internet bên ngoài. C C. Để mã hóa dữ liệu truyền qua mạng. D D. Để kiểm soát truy cập mạng dựa trên địa chỉ MAC. Câu 9 9. Trong lập trình mạng, 'blocking socket' và 'non-blocking socket' khác nhau như thế nào? A A. Blocking socket nhanh hơn non-blocking socket. B B. Blocking socket có thể xử lý nhiều kết nối đồng thời, còn non-blocking socket thì không. C C. Blocking socket sẽ tạm dừng chương trình cho đến khi thao tác I/O hoàn thành, còn non-blocking socket trả về ngay lập tức. D D. Blocking socket chỉ sử dụng cho giao thức TCP, còn non-blocking socket chỉ sử dụng cho UDP. Câu 10 10. Khi một client cố gắng kết nối đến một server nhưng server không chấp nhận kết nối, lỗi thường gặp là gì? A A. Lỗi 'Connection timeout'. B B. Lỗi 'Connection refused'. C C. Lỗi 'Host unreachable'. D D. Lỗi 'Network down'. Câu 11 11. Cổng (port) trong TCP/IP được sử dụng để làm gì? A A. Để định tuyến gói tin đến đích cuối cùng trong mạng. B B. Để xác định ứng dụng hoặc dịch vụ cụ thể trên một máy chủ mà dữ liệu được gửi đến. C C. Để mã hóa dữ liệu trước khi truyền qua mạng. D D. Để kiểm soát tốc độ truyền dữ liệu giữa các thiết bị. Câu 12 12. Hàm `listen()` trong lập trình socket có chức năng chính là gì? A A. Gửi dữ liệu đến một socket khác. B B. Đóng kết nối socket hiện tại. C C. Chuyển socket sang trạng thái lắng nghe kết nối đến. D D. Thiết lập kết nối đến một server từ client. Câu 13 13. Địa chỉ MAC (Media Access Control) được sử dụng ở tầng nào trong mô hình OSI? A A. Tầng Vật lý B B. Tầng Liên kết dữ liệu C C. Tầng Mạng D D. Tầng Giao vận Câu 14 14. Để tạo một UDP socket trong Python, bạn sử dụng cú pháp nào? A A. socket.socket(socket.AF_INET, socket.SOCK_STREAM) B B. socket.socket(socket.AF_INET, socket.SOCK_DGRAM) C C. socket.socket(socket.AF_INET6, socket.SOCK_STREAM) D D. socket.socket(socket.AF_INET6, socket.SOCK_DGRAM) Câu 15 15. Socket trong lập trình mạng được hiểu là gì? A A. Một loại cáp mạng đặc biệt dùng để kết nối các thiết bị. B B. Một giao diện phần mềm cho phép ứng dụng giao tiếp với mạng thông qua hệ điều hành. C C. Một thiết bị phần cứng trung gian giữa máy tính và modem. D D. Một giao thức mạng dùng để mã hóa dữ liệu trước khi truyền. Câu 16 16. Trong lập trình mạng, 'byte order' (thứ tự byte) 'network byte order' và 'host byte order' khác nhau như thế nào? A A. Network byte order luôn là big-endian, còn host byte order luôn là little-endian. B B. Host byte order luôn là big-endian, còn network byte order luôn là little-endian. C C. Network byte order là big-endian, còn host byte order có thể là big-endian hoặc little-endian tùy thuộc vào kiến trúc hệ thống. D D. Host byte order là big-endian, còn network byte order có thể là big-endian hoặc little-endian tùy thuộc vào kiến trúc hệ thống. Câu 17 17. Giao thức nào sau đây thường được sử dụng để gửi email? A A. HTTP B B. FTP C C. SMTP D D. DNS Câu 18 18. Phương thức giao tiếp 'Client-Server' hoạt động dựa trên mô hình nào? A A. Mô hình ngang hàng (Peer-to-peer) B B. Mô hình quảng bá (Broadcast) C C. Mô hình yêu cầu-phản hồi (Request-Response) D D. Mô hình đa điểm (Multicast) Câu 19 19. Khi lập trình ứng dụng mạng, một trong những nguy cơ bảo mật phổ biến nhất cần phải đối phó là gì? A A. Lỗi phần cứng mạng. B B. Tấn công từ chối dịch vụ (DoS). C C. Mất điện đột ngột. D D. Lỗi cấu hình DNS. Câu 20 20. Giao thức UDP (User Datagram Protocol) khác biệt so với TCP (Transmission Control Protocol) chủ yếu ở điểm nào? A A. UDP cung cấp cơ chế bắt tay ba bước để thiết lập kết nối, còn TCP thì không. B B. UDP đảm bảo dữ liệu đến đích theo đúng thứ tự, còn TCP thì không. C C. UDP là giao thức hướng kết nối, còn TCP là giao thức phi kết nối. D D. UDP là giao thức phi kết nối và không đảm bảo độ tin cậy, trong khi TCP là giao thức hướng kết nối và đảm bảo độ tin cậy. Câu 21 21. Trong lập trình socket, hàm `select()` thường được sử dụng để làm gì? A A. Để mã hóa dữ liệu trước khi gửi. B B. Để quản lý nhiều socket non-blocking và kiểm tra xem socket nào đã sẵn sàng cho thao tác I/O. C C. Để thiết lập kết nối TCP tin cậy. D D. Để đóng nhiều socket cùng một lúc. Câu 22 22. Địa chỉ IP phiên bản IPv4 có độ dài bao nhiêu bit? A A. 16 bit B B. 32 bit C C. 64 bit D D. 128 bit Câu 23 23. Trong giao thức TCP, 'bắt tay ba bước' (three-way handshake) được sử dụng để làm gì? A A. Để mã hóa dữ liệu truyền. B B. Để thiết lập một kết nối TCP tin cậy giữa client và server. C C. Để kiểm soát luồng dữ liệu. D D. Để xác thực danh tính của client. Câu 24 24. Giao thức HTTP (Hypertext Transfer Protocol) hoạt động ở tầng nào trong mô hình TCP/IP? A A. Tầng Liên kết mạng B B. Tầng Internet C C. Tầng Giao vận D D. Tầng Ứng dụng Câu 25 25. Trong lập trình socket, hàm `shutdown()` có tác dụng gì? A A. Đóng hoàn toàn socket và giải phóng tài nguyên. B B. Ngừng truyền hoặc nhận dữ liệu trên socket một cách độc lập. C C. Thiết lập lại kết nối socket. D D. Chuyển socket sang chế độ non-blocking. Câu 26 26. Giao thức nào sau đây thường được sử dụng để truyền file giữa client và server? A A. HTTP B B. SMTP C C. FTP D D. DNS Câu 27 27. Kỹ thuật 'multiplexing' trong tầng Giao vận (Transport Layer) có nghĩa là gì? A A. Chia nhỏ dữ liệu thành các gói tin nhỏ hơn để truyền nhanh hơn. B B. Kết hợp dữ liệu từ nhiều ứng dụng khác nhau trên cùng một kết nối mạng. C C. Mã hóa dữ liệu để bảo mật trong quá trình truyền. D D. Kiểm soát luồng dữ liệu giữa sender và receiver. Câu 28 28. Địa chỉ IP '127.0.0.1' được gọi là địa chỉ gì và thường được sử dụng để làm gì? A A. Địa chỉ broadcast, dùng để gửi tin cho tất cả các máy trong mạng. B B. Địa chỉ multicast, dùng để gửi tin cho một nhóm máy cụ thể. C C. Địa chỉ loopback, dùng để kiểm tra kết nối mạng trên máy cục bộ. D D. Địa chỉ private, dùng cho mạng nội bộ. Câu 29 29. Khái niệm 'đa luồng' (multithreading) trong lập trình mạng thường được sử dụng để giải quyết vấn đề gì? A A. Để tăng tốc độ truyền dữ liệu trên mạng. B B. Để xử lý đồng thời nhiều kết nối client trên server. C C. Để mã hóa dữ liệu an toàn hơn. D D. Để giảm thiểu xung đột mạng. Câu 30 30. Hàm `accept()` trong lập trình socket trả về giá trị gì? A A. Số byte dữ liệu đã nhận được. B B. Một socket mới đại diện cho kết nối đã được chấp nhận. C C. Mã lỗi nếu có lỗi xảy ra trong quá trình chấp nhận kết nối. D D. Không trả về giá trị nào. Đề 5 – Bài tập, đề thi trắc nghiệm online Nguyên lý thẩm định giá Đề 7 – Bài tập, đề thi trắc nghiệm online Định giá bất động sản