Bộ 11 - Trắc nghiệm Lập trình mạng online có đáp án
Thời gian còn lại: --:--
Kết quả của bạn:
Bạn đã đúng:
Bạn đã sai:
Tổng số câu:
Câu 1:Trong mô hình OSI, tầng nào chịu trách nhiệm thực hiện việc mã hóa dữ liệu và nén dữ liệu để đảm bảo tính bảo mật và hiệu quả truyền tải?
💡 Lời giải chi tiết:
Theo mô hình OSI, tầng trình diễn chịu trách nhiệm chuyển đổi định dạng dữ liệu, mã hóa và nén để các ứng dụng ở hai đầu hệ thống có thể hiểu nhau. Kết luận Lý giải Tầng trình diễn (Presentation Layer).
Câu 2:Giao thức TCP sử dụng cơ chế nào để đảm bảo dữ liệu được truyền đi một cách tin cậy và theo đúng thứ tự?
💡 Lời giải chi tiết:
Giao thức TCP đảm bảo độ tin cậy bằng cách gán số thứ tự cho mỗi byte và yêu cầu bên nhận gửi xác nhận ACK cho các gói tin đã nhận đúng. Kết luận Lý giải Sử dụng số thứ tự (Sequence Number) và xác nhận (Acknowledgment Number).
Câu 3:Trong lập trình Socket TCP, hàm nào được phía Server sử dụng để chuyển socket từ trạng thái thụ động sang trạng thái sẵn sàng chờ đợi kết nối từ Client?
💡 Lời giải chi tiết:
Hàm 'listen' được gọi sau 'bind' để đặt socket vào chế độ lắng nghe, xác định số lượng kết nối tối đa có thể nằm trong hàng đợi. Kết luận Lý giải Hàm 'listen'.
Câu 4:Lợi ích chính của việc sử dụng giao thức UDP thay vì TCP trong các ứng dụng truyền phát trực tuyến (Streaming) là gì?
💡 Lời giải chi tiết:
UDP loại bỏ các thủ tục bắt tay và xác nhận phức tạp của TCP, giúp dữ liệu được truyền đi nhanh hơn và giảm độ trễ cho các ứng dụng thời gian thực. Kết luận Lý giải Giảm thiểu độ trễ (latency) do không có quá trình thiết lập kết nối và bắt tay.
Câu 5:Mã trạng thái HTTP nào được trả về khi Server hiểu yêu cầu của Client nhưng từ chối thực hiện yêu cầu đó do vi phạm quyền truy cập?
💡 Lời giải chi tiết:
Mã 403 Forbidden cho biết Client không có quyền truy cập vào tài nguyên ngay cả khi đã xác thực thành công. Kết luận Lý giải 403 Forbidden.
Câu 6:Trong địa chỉ IPv4, một mạng con có mặt nạ mạng (Subnet Mask) là 255.255.255.192 tương đương với tiền tố CIDR nào?
💡 Lời giải chi tiết:
Mặt nạ mạng 255.255.255.192 có 26 bit đầu tiên được thiết lập là 1, do đó tương ứng với ký hiệu /26 trong CIDR. Kết luận Lý giải /26.
Câu 7:Hàm 'bind' trong lập trình mạng có vai trò quan trọng nhất là gì?
💡 Lời giải chi tiết:
Hàm 'bind' giúp gán danh tính cụ thể bao gồm địa chỉ mạng và cổng cho socket để hệ điều hành biết nơi chuyển dữ liệu đến. Kết luận Lý giải Liên kết một Socket với một địa chỉ IP và số hiệu cổng (Port) cụ thể trên máy cục bộ.
Câu 8:Tại sao trong mạng Internet, các nút mạng trung gian (Router) thường không sử dụng tầng Giao vận (Transport Layer) để xử lý gói tin?
💡 Lời giải chi tiết:
Router là thiết bị tầng 3 (Network Layer), nhiệm vụ chính của nó là chuyển tiếp gói tin dựa trên địa chỉ IP mà không cần quan tâm đến các tiến trình ứng dụng ở tầng trên. Kết luận Lý giải Vì Router chỉ làm việc ở tầng Mạng để định tuyến gói tin dựa trên địa chỉ IP.
Câu 9:Trong quá trình bắt tay ba bước (Three-way handshake) của TCP, gói tin thứ hai được gửi từ Server về Client chứa các cờ (Flags) nào?
💡 Lời giải chi tiết:
Gói tin thứ hai trong quá trình bắt tay ba bước là phản hồi của Server để vừa xác nhận (ACK) yêu cầu của Client vừa gửi yêu cầu đồng bộ hóa (SYN) của chính mình. Kết luận Lý giải Cờ SYN và ACK.
Câu 10:Giao thức ARP (Address Resolution Protocol) được sử dụng để giải quyết vấn đề nào sau đây?
💡 Lời giải chi tiết:
ARP là giao thức dùng để tìm địa chỉ vật lý (MAC) tương ứng với một địa chỉ logic (IP) trong cùng một mạng cục bộ. Kết luận Lý giải Tìm địa chỉ MAC của một thiết bị khi biết địa chỉ IP của nó.
Câu 11:Sự khác biệt chính giữa phương thức GET và POST trong giao thức HTTP là gì?
💡 Lời giải chi tiết:
Phương thức GET đính kèm tham số vào URL nên bị giới hạn độ dài và kém bảo mật hơn so với POST khi gửi dữ liệu nhạy cảm trong Message Body. Kết luận Lý giải GET gửi dữ liệu qua thanh địa chỉ (URL) trong khi POST gửi dữ liệu trong thân của thông điệp (Message Body).
Câu 12:Địa chỉ IPv6 có độ dài bao nhiêu bit và được biểu diễn dưới dạng nào?
💡 Lời giải chi tiết:
IPv6 sử dụng 128 bit để cung cấp không gian địa chỉ khổng lồ và được viết dưới dạng 8 nhóm số thập lục phân cách nhau bởi dấu hai chấm. Kết luận Lý giải 128 bit, biểu diễn dưới dạng các cụm số thập lục phân (Hexadecimal).
Câu 13:Trong lập trình Socket, 'Network Byte Order' (thứ tự byte mạng) quy định việc truyền dữ liệu theo định dạng nào?
💡 Lời giải chi tiết:
Để đảm bảo tính thống nhất giữa các kiến trúc máy tính khác nhau, chuẩn Internet quy định thứ tự byte mạng luôn là Big-Endian (byte có trọng số lớn nhất đứng trước). Kết luận Lý giải Big-Endian.
Câu 14:Mục đích chính của việc sử dụng kỹ thuật 'I/O Multiplexing' (như hàm select, poll, epoll) trong lập trình Server mạng là gì?
💡 Lời giải chi tiết:
I/O Multiplexing giúp tối ưu hóa tài nguyên hệ thống bằng cách theo dõi nhiều sự kiện trên các socket khác nhau trong cùng một luồng duy nhất. Kết luận Lý giải Cho phép một tiến trình duy nhất quản lý đồng thời nhiều kết nối Socket mà không cần tạo quá nhiều luồng (Threads).
Câu 15:Giao thức ICMP (Internet Control Message Protocol) thường được sử dụng cho mục đích nào?
💡 Lời giải chi tiết:
ICMP không được dùng để truyền dữ liệu ứng dụng mà dùng để kiểm tra trạng thái hoạt động của mạng và báo cáo các sự cố trên đường truyền. Kết luận Lý giải Gửi các thông điệp thông báo lỗi và thông tin quản lý mạng (như lệnh ping).
Câu 16:Tham số 'backlog' trong hàm 'listen(sockfd, backlog)' có ý nghĩa gì?
💡 Lời giải chi tiết:
Tham số 'backlog' xác định độ dài hàng đợi của các kết nối đã hoàn tất bắt tay nhưng chưa được ứng dụng chấp nhận bằng hàm 'accept'. Kết luận Lý giải Số lượng tối đa các kết nối đang chờ (pending connections) trong hàng đợi trước khi bị từ chối.
Câu 17:Tại sao giao thức DNS lại ưu tiên sử dụng UDP thay vì TCP cho các truy vấn thông thường?
💡 Lời giải chi tiết:
Hầu hết các truy vấn DNS đều có kích thước nhỏ, việc dùng UDP giúp tránh được chi phí thiết lập kết nối TCP nặng nề, giúp quá trình duyệt web nhanh hơn. Kết luận Lý giải Vì các bản tin DNS thường nhỏ và UDP giúp giảm tải cho Server cũng như tăng tốc độ phản hồi.
Câu 18:Trong lập trình mạng, trạng thái 'TIME_WAIT' của socket TCP xuất hiện khi nào?
💡 Lời giải chi tiết:
Trạng thái 'TIME_WAIT' giúp ngăn chặn việc các gói tin đi lạc của kết nối cũ gây nhiễu cho các kết nối mới sử dụng cùng một cặp địa chỉ và cổng. Kết luận Lý giải Sau khi một bên chủ động đóng kết nối để đảm bảo các gói tin cũ trên mạng đã được xử lý hết.
Câu 19:Giao thức DHCP (Dynamic Host Configuration Protocol) hoạt động dựa trên mô hình nào và sử dụng các cổng (Port) nào?
💡 Lời giải chi tiết:
DHCP hoạt động theo mô hình Client-Server, trong đó Server lắng nghe trên cổng 67 và Client sử dụng cổng 68 để xin cấp phát cấu hình mạng. Kết luận Lý giải Mô hình Client-Server, sử dụng cổng UDP 67 và 68.
Câu 20:Thuật toán 'Nagle' trong giao thức TCP được thiết kế nhằm mục đích gì?
💡 Lời giải chi tiết:
Thuật toán 'Nagle' gom các mẩu dữ liệu nhỏ lại thành một gói tin lớn hơn trước khi gửi để giảm bớt phần header dư thừa trên mạng. Kết luận Lý giải Để giảm số lượng gói tin nhỏ gửi đi bằng cách kết hợp chúng lại, giúp tăng hiệu quả sử dụng băng thông.
Câu 21:Sự khác biệt cơ bản giữa Socket hướng kết nối (Stream Socket) và Socket không hướng kết nối (Datagram Socket) là gì?
💡 Lời giải chi tiết:
Stream Socket dựa trên TCP cung cấp luồng dữ liệu ổn định và có thứ tự, còn Datagram Socket dựa trên UDP gửi các gói tin độc lập không đảm bảo thứ tự. Kết luận Lý giải Stream Socket đảm bảo thứ tự và độ tin cậy của dữ liệu, trong khi Datagram Socket thì không.
Câu 22:Trường 'TTL' (Time to Live) trong Header của gói tin IPv4 có tác dụng gì?
💡 Lời giải chi tiết:
Mỗi khi đi qua một Router, giá trị TTL bị giảm đi 1 đơn vị, khi TTL bằng 0 gói tin sẽ bị hủy để ngăn chặn việc lặp lại vô hạn trên mạng. Kết luận Lý giải Giới hạn số lượng bước nhảy (Hops) qua các Router để tránh vòng lặp vô tận.
Câu 23:Trong lập trình mạng bằng Java, lớp (Class) nào được sử dụng để tạo một kết nối Client TCP?
💡 Lời giải chi tiết:
Trong Java, lớp 'Socket' được sử dụng bởi Client để thiết lập kết nối đến Server, trong khi 'ServerSocket' được dùng bởi Server để lắng nghe kết nối. Kết luận Lý giải Socket.
Câu 24:Vai trò của tầng Giao vận (Transport Layer) trong mô hình OSI là gì?
💡 Lời giải chi tiết:
Tầng giao vận chịu trách nhiệm về việc truyền thông thông suốt giữa các tiến trình trên hai máy tính, bao gồm cả việc sửa lỗi và phân đoạn dữ liệu. Kết luận Lý giải Cung cấp truyền tải dữ liệu đầu-cuối (end-to-end) và kiểm soát luồng.
Câu 25:Giao thức HTTPS sử dụng cổng mặc định nào và kết hợp giữa HTTP với giao thức bảo mật nào?
💡 Lời giải chi tiết:
HTTPS là phiên bản bảo mật của HTTP hoạt động trên cổng 443 bằng cách truyền dữ liệu qua một lớp mã hóa SSL hoặc TLS. Kết luận Lý giải Cổng 443, kết hợp với SSL/TLS.