Bộ 5 - 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 định tuyến gói tin giữa các mạng khác nhau?
💡 Lời giải chi tiết:
Theo mô hình tham chiếu OSI, tầng mạng có chức năng chính là định tuyến và chuyển tiếp các gói tin dựa trên địa chỉ IP để tìm đường đi tối ưu nhất giữa các thiết bị trên mạng. Kết luận Lý giải Tầng mạng (Network Layer)
Câu 2:Đặc điểm nào sau đây là sự khác biệt cơ bản nhất của giao thức TCP so với UDP trong lập trình mạng?
💡 Lời giải chi tiết:
Giao thức TCP (Transmission Control Protocol) yêu cầu thiết lập kết nối thông qua bắt tay 3 bước và có cơ chế kiểm soát lỗi, đảm bảo dữ liệu đến đích chính xác và đúng thứ tự. Kết luận Lý giải TCP là giao thức hướng kết nối và đảm bảo truyền dữ liệu tin cậy
Câu 3:Số hiệu cổng (Port number) mặc định được sử dụng cho giao thức truyền tải siêu văn bản bảo mật (HTTPS) là bao nhiêu?
💡 Lời giải chi tiết:
Theo tiêu chuẩn của IANA, cổng 80 dành cho HTTP không mã hóa và cổng 443 là cổng tiêu chuẩn dành cho lưu lượng HTTPS được mã hóa qua SSL/TLS. Kết luận Lý giải 443
Câu 4:Trong lập trình Socket trên hệ điều hành Linux/Unix, hàm nào được sử dụng để liên kết một socket với một địa chỉ IP và số hiệu cổng cụ thể?
💡 Lời giải chi tiết:
Hàm 'bind()' thực hiện việc gán một cấu trúc địa chỉ chứa IP và Port cho một mô tả socket đã được tạo trước đó để định danh ứng dụng trên mạng. Kết luận Lý giải bind()
Câu 5:Địa chỉ IPv4 có độ dài bao nhiêu bit?
💡 Lời giải chi tiết:
Địa chỉ IPv4 bao gồm 4 nhóm số thập phân phân cách bằng dấu chấm, mỗi nhóm là 8 bit, tổng cộng tạo nên không gian địa chỉ 32 bit. Kết luận Lý giải 32 bit
Câu 6:Khi sử dụng giao thức UDP, bên gửi có cần thực hiện quá trình bắt tay (handshake) với bên nhận trước khi truyền dữ liệu không?
💡 Lời giải chi tiết:
UDP (User Datagram Protocol) là giao thức không hướng kết nối (connectionless), nó gửi các gói tin đi mà không cần kiểm tra trạng thái hay sự sẵn sàng của bên nhận. Kết luận Lý giải Không, UDP là giao thức không hướng kết nối
Câu 7:Trong quá trình bắt tay 3 bước (3-way handshake) của TCP, cờ (flag) nào được thiết lập trong gói tin đầu tiên mà Client gửi cho Server?
💡 Lời giải chi tiết:
Quá trình bắt tay TCP bắt đầu bằng việc Client gửi một gói tin có thiết lập cờ 'SYN' (Synchronize) để yêu cầu thiết lập kết nối và đồng bộ hóa số thứ tự gói tin ban đầu. Kết luận Lý giải SYN
Câu 8:Giao thức DNS (Domain Name System) đóng vai trò gì trong hệ thống mạng?
💡 Lời giải chi tiết:
DNS là một hệ thống phân giải tên cho phép người dùng sử dụng các tên miền dễ nhớ thay vì phải ghi nhớ các địa chỉ IP số phức tạp. Kết luận Lý giải Chuyển đổi tên miền thân thiện thành địa chỉ IP mà máy tính có thể hiểu
Câu 9:Thứ tự byte trên mạng (Network Byte Order) quy định việc truyền dữ liệu theo định dạng nào để đảm bảo tính nhất quán giữa các kiến trúc máy tính khác nhau?
💡 Lời giải chi tiết:
Trong lập trình mạng, 'Big-endian' được chọn làm chuẩn chung để truyền dữ liệu qua mạng, nghĩa là byte có giá trị cao nhất sẽ được gửi đi đầu tiên. Kết luận Lý giải Big-endian
Câu 10:Loại socket nào thường được sử dụng khi lập trình ứng dụng dựa trên giao thức TCP?
💡 Lời giải chi tiết:
Trong thư viện socket, 'SOCK_STREAM' cung cấp luồng dữ liệu hai chiều, tin cậy và có thứ tự, vốn là các đặc tính kỹ thuật của giao thức TCP. Kết luận Lý giải SOCK_STREAM
Câu 11:Lệnh 'Ping' trong Windows hoặc Linux sử dụng giao thức nào ở tầng mạng để kiểm tra kết nối?
💡 Lời giải chi tiết:
Lệnh 'Ping' sử dụng các gói tin 'Echo Request' và 'Echo Reply' của giao thức ICMP (Internet Control Message Protocol) để kiểm tra khả năng tiếp cận của một máy chủ. Kết luận Lý giải ICMP
Câu 12:Hàm 'accept()' trong lập trình TCP Server có nhiệm vụ chính là gì?
💡 Lời giải chi tiết:
Khi một kết nối đến, 'accept()' sẽ tách nó ra khỏi hàng đợi kết nối đang chờ (pending) và trả về một bộ mô tả socket mới dành riêng cho việc trao đổi dữ liệu với Client đó. Kết luận Lý giải Lấy một yêu cầu kết nối đang chờ trong hàng đợi và tạo ra một socket mới để phục vụ kết nối đó
Câu 13:Giao thức nào chịu trách nhiệm tự động cấu hình và cấp phát địa chỉ IP cho các máy trạm khi chúng kết nối vào mạng?
💡 Lời giải chi tiết:
DHCP (Dynamic Host Configuration Protocol) là giao thức tự động hóa quá trình cấu hình mạng bằng cách cấp phát IP, subnet mask và gateway cho các thiết bị. Kết luận Lý giải DHCP
Câu 14:Kỹ thuật NAT (Network Address Translation) được sử dụng rộng rãi nhằm mục đích chính nào sau đây?
💡 Lời giải chi tiết:
NAT giúp giải quyết tình trạng thiếu hụt địa chỉ IPv4 bằng cách chuyển đổi các địa chỉ IP riêng (Private) thành một hoặc một vài địa chỉ IP công cộng duy nhất. Kết luận Lý giải Cho phép nhiều thiết bị trong mạng nội bộ sử dụng chung một địa chỉ IP công cộng (Public IP) để ra ngoài internet
Câu 15:Cơ chế 'Flow Control' (Điều khiển luồng) trong TCP hoạt động dựa trên thông số nào để tránh làm tràn bộ đệm của bên nhận?
💡 Lời giải chi tiết:
TCP sử dụng trường 'Window Size' trong tiêu đề gói tin để thông báo cho bên gửi biết lượng dữ liệu tối đa mà bên nhận có thể xử lý vào thời điểm đó. Kết luận Lý giải Kích thước cửa sổ nhận (Receive Window size)
Câu 16:Mã trạng thái HTTP '404 Not Found' có ý nghĩa gì khi trình duyệt gửi yêu cầu đến máy chủ?
💡 Lời giải chi tiết:
Theo tiêu chuẩn giao thức HTTP, mã 404 được trả về khi máy chủ không tìm thấy nội dung hoặc trang web tương ứng với đường dẫn URL mà Client cung cấp. Kết luận Lý giải Tài nguyên được yêu cầu không tồn tại trên máy chủ
Câu 17:Giao thức nào sau đây được sử dụng phổ biến nhất để truyền tải thư điện tử (Email) từ máy khách đến máy chủ thư?
💡 Lời giải chi tiết:
SMTP (Simple Mail Transfer Protocol) là giao thức chuẩn được sử dụng để gửi hoặc đẩy email từ ứng dụng gửi đến máy chủ và giữa các máy chủ thư với nhau. Kết luận Lý giải SMTP
Câu 18:Địa chỉ MAC (Media Access Control) là loại địa chỉ như thế nào?
💡 Lời giải chi tiết:
Mỗi thiết bị mạng có một địa chỉ MAC duy nhất dài 48 bit được ghi trực tiếp vào phần cứng (ROM) để định danh thiết bị ở tầng liên kết dữ liệu. Kết luận Lý giải Địa chỉ vật lý duy nhất được gán cố định cho card mạng bởi nhà sản xuất
Câu 19:Trong lập trình Socket, chế độ 'Non-blocking' có ưu điểm gì so với chế độ 'Blocking' truyền thống?
💡 Lời giải chi tiết:
Các hàm socket ở chế độ 'Non-blocking' sẽ trả về mã lỗi ngay lập tức nếu dữ liệu chưa sẵn sàng, giúp luồng thực thi của chương trình không bị treo. Kết luận Lý giải Cho phép ứng dụng tiếp tục thực hiện các tác vụ khác thay vì phải dừng lại chờ đợi dữ liệu từ socket
Câu 20:Giao thức ARP (Address Resolution Protocol) thực hiện chức năng nào dưới đây?
💡 Lời giải chi tiết:
Trong mạng Ethernet, ARP được dùng để tìm địa chỉ MAC của một thiết bị khi biết địa chỉ IP của nó, giúp gói tin có thể được đóng khung ở tầng 2. Kết luận Lý giải Ánh xạ địa chỉ IP sang địa chỉ vật lý MAC
Câu 21:Lớp bảo mật SSL/TLS thường nằm ở vị trí nào trong kiến trúc phân tầng mạng (theo quan điểm lập trình ứng dụng)?
💡 Lời giải chi tiết:
SSL/TLS được triển khai như một lớp trung gian để mã hóa dữ liệu của tầng ứng dụng (như HTTP, FTP) trước khi chuyển xuống tầng truyền tải (TCP). Kết luận Lý giải Giữa tầng truyền tải (Transport) và tầng ứng dụng (Application)
Câu 22:Định dạng dữ liệu JSON (JavaScript Object Notation) thường được ưu tiên sử dụng trong giao tiếp giữa Client và Server (API) vì lý do gì?
💡 Lời giải chi tiết:
JSON là một định dạng văn bản độc lập với ngôn ngữ, có cú pháp đơn giản giúp giảm băng thông và tăng tốc độ xử lý dữ liệu trong các ứng dụng mạng. Kết luận Lý giải Vì nó có cấu trúc nhẹ, dễ đọc đối với con người và dễ phân tích đối với máy tính
Câu 23:Giá trị TTL (Time to Live) trong tiêu đề gói tin IPv4 có mục đích chính là gì?
💡 Lời giải chi tiết:
Mỗi khi đi qua một router, giá trị TTL sẽ giảm đi 1 đơn vị; nếu TTL bằng 0, gói tin sẽ bị hủy để tránh tình trạng gói tin đi vòng quanh mạng mãi mãi. Kết luận Lý giải Ngăn chặn các gói tin bị lặp vô hạn trong mạng nếu có lỗi định tuyến xảy ra
Câu 24:Tại sao trong lập trình Server mạng, kỹ thuật 'Multithreading' (Đa luồng) lại được ứng dụng rộng rãi?
💡 Lời giải chi tiết:
Bằng cách tạo mỗi luồng (thread) riêng cho một kết nối Client, Server có thể duy trì giao tiếp đồng thời mà không bị chặn (blocked) bởi một kết nối chậm. Kết luận Lý giải Để Server có thể chấp nhận và xử lý đồng thời yêu cầu từ nhiều Client khác nhau
Câu 25:Trong các phương thức HTTP, phương thức nào được thiết kế để yêu cầu lấy dữ liệu từ máy chủ mà không làm thay đổi trạng thái của tài nguyên đó?
💡 Lời giải chi tiết:
Phương thức GET được sử dụng để truy xuất thông tin và theo tiêu chuẩn nó là một phương thức an toàn (safe) và không thay đổi dữ liệu phía Server. Kết luận Lý giải GET