Bài Tập, Đề Thi Trắc Nghiệm Online – Môn Lập Trình Mạng – Đề 09

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Môn Lập Trình Mạng

Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng - Đề 09

Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng - Đề 09 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong mô hình TCP/IP, tầng nào chịu trách nhiệm chính cho việc định tuyến gói tin giữa các mạng khác nhau?

  • A. Tầng Giao vận (Transport Layer)
  • B. Tầng Mạng (Network Layer)
  • C. Tầng Liên kết dữ liệu (Data Link Layer)
  • D. Tầng Ứng dụng (Application Layer)

Câu 2: Xét tình huống một ứng dụng cần truyền dữ liệu liên tục, thời gian thực như video streaming. Giao thức nào sau đây sẽ phù hợp hơn để đảm bảo độ trễ thấp, chấp nhận mất mát gói tin ở mức độ nhất định?

  • A. TCP (Transmission Control Protocol)
  • B. FTP (File Transfer Protocol)
  • C. UDP (User Datagram Protocol)
  • D. HTTP (Hypertext Transfer Protocol)

Câu 3: Trong lập trình socket, thao tác `bind()` thường được thực hiện ở phía máy chủ (server) với mục đích gì?

  • A. Thiết lập kết nối đến máy khách (client)
  • B. Gán địa chỉ IP và số cổng cụ thể cho socket để lắng nghe kết nối
  • C. Gửi dữ liệu đến máy khách
  • D. Đóng kết nối socket

Câu 4: Phương thức giao tiếp mạng nào sau đây mô tả đúng nhất kiểu "one-to-many", trong đó một máy gửi dữ liệu đến một nhóm các máy nhận đã đăng ký?

  • A. Unicast
  • B. Broadcast
  • C. Multicast
  • D. Anycast

Câu 5: Khi một ứng dụng web (client) gửi yêu cầu đến máy chủ web (server) sử dụng giao thức HTTP, cổng mặc định nào thường được sử dụng ở phía máy chủ để lắng nghe các kết nối?

  • A. 80
  • B. 21
  • C. 23
  • D. 25

Câu 6: Trong lập trình mạng không đồng bộ (asynchronous), lợi ích chính của việc sử dụng các socket không khóa (non-blocking sockets) là gì?

  • A. Đơn giản hóa việc xử lý lỗi mạng
  • B. Cho phép ứng dụng tiếp tục xử lý các tác vụ khác trong khi chờ đợi dữ liệu mạng
  • C. Tăng cường bảo mật cho kết nối mạng
  • D. Giảm tải cho bộ xử lý trung tâm (CPU)

Câu 7: Giao thức nào sau đây được sử dụng để phân giải tên miền (ví dụ, www.example.com) thành địa chỉ IP tương ứng?

  • A. HTTP (Hypertext Transfer Protocol)
  • B. FTP (File Transfer Protocol)
  • C. SMTP (Simple Mail Transfer Protocol)
  • D. DNS (Domain Name System)

Câu 8: Xét mô hình client-server sử dụng TCP. Điều gì xảy ra khi máy chủ (server) gọi hàm `listen()` trên một socket?

  • A. Máy chủ bắt đầu gửi dữ liệu đến client đầu tiên
  • B. Máy chủ thiết lập một kết nối TCP với một client cụ thể
  • C. Máy chủ chuyển socket sang trạng thái lắng nghe các kết nối đến
  • D. Máy chủ đóng kết nối hiện tại và sẵn sàng cho kết nối mới

Câu 9: Trong giao thức TCP, cơ chế "bắt tay ba bước" (three-way handshake) được sử dụng để làm gì?

  • A. Mã hóa dữ liệu truyền
  • B. Thiết lập một kết nối TCP tin cậy
  • C. Kiểm soát luồng dữ liệu
  • D. Đảm bảo thứ tự gói tin

Câu 10: Khi lập trình socket UDP, tại sao không cần thiết lập kết nối trước khi gửi dữ liệu như trong TCP?

  • A. UDP tự động thiết lập kết nối ẩn
  • B. UDP sử dụng địa chỉ IP broadcast nên không cần kết nối điểm-điểm
  • C. UDP chỉ dùng cho mạng cục bộ, không cần kết nối qua internet
  • D. UDP là giao thức hướng không kết nối, truyền dữ liệu độc lập trong từng gói tin

Câu 11: Trong lập trình mạng, thuật ngữ "port" (cổng) được sử dụng để chỉ điều gì?

  • A. Địa chỉ vật lý của card mạng
  • B. Địa chỉ IP của máy tính
  • C. Số hiệu để xác định một ứng dụng hoặc dịch vụ mạng cụ thể trên máy tính
  • D. Đường truyền vật lý kết nối các máy tính

Câu 12: Trong ngữ cảnh lập trình mạng, "socket" có thể được hiểu như thế nào?

  • A. Điểm cuối của một kết nối mạng, cho phép ứng dụng gửi và nhận dữ liệu
  • B. Một loại giao thức mạng cụ thể như TCP hoặc UDP
  • C. Một thiết bị phần cứng mạng như router hoặc switch
  • D. Địa chỉ IP duy nhất của một máy tính trong mạng

Câu 13: Giao thức nào sau đây thường được sử dụng để truyền tải file giữa client và server, đặc biệt là trong các ứng dụng quản lý website?

  • A. HTTP (Hypertext Transfer Protocol)
  • B. FTP (File Transfer Protocol)
  • C. SMTP (Simple Mail Transfer Protocol)
  • D. DNS (Domain Name System)

Câu 14: Trong lập trình TCP server, hàm `accept()` có chức năng gì?

  • A. Khởi tạo socket server để lắng nghe kết nối
  • B. Gửi thông báo chấp nhận kết nối đến client
  • C. Chấp nhận một kết nối TCP đến và tạo một socket mới cho kết nối đó
  • D. Đóng socket server sau khi nhận được kết nối

Câu 15: Khi một client muốn kết nối đến server TCP, hàm nào sau đây thường được sử dụng ở phía client để thiết lập kết nối?

  • A. connect()
  • B. bind()
  • C. listen()
  • D. accept()

Câu 16: Trong lập trình mạng, "hostname" (tên máy chủ) dùng để chỉ điều gì?

  • A. Địa chỉ IP số của máy tính
  • B. Tên định danh của một máy tính trong mạng, thường dễ nhớ hơn địa chỉ IP
  • C. Địa chỉ email của người quản trị máy tính
  • D. Vị trí vật lý của máy chủ trong trung tâm dữ liệu

Câu 17: Giao thức nào sau đây được sử dụng để gửi email đi từ client đến server?

  • A. POP3 (Post Office Protocol version 3)
  • B. IMAP (Internet Message Access Protocol)
  • C. HTTP (Hypertext Transfer Protocol)
  • D. SMTP (Simple Mail Transfer Protocol)

Câu 18: Khi nhận dữ liệu qua socket TCP, điều gì đảm bảo rằng dữ liệu sẽ đến đúng thứ tự mà nó được gửi đi?

  • A. Cơ chế broadcast của TCP
  • B. Cơ chế đánh số thứ tự và xác nhận gói tin của TCP
  • C. Sử dụng địa chỉ MAC để định tuyến
  • D. Kích thước gói tin nhỏ giúp đảm bảo thứ tự

Câu 19: Trong lập trình mạng đa luồng (multi-threading) cho server, mỗi luồng thường được gán để xử lý điều gì?

  • A. Quản lý toàn bộ kết nối mạng
  • B. Lắng nghe kết nối mới trên một cổng duy nhất
  • C. Xử lý một kết nối client riêng biệt, cho phép phục vụ đồng thời nhiều client
  • D. Thực hiện các tác vụ bảo mật mạng

Câu 20: Địa chỉ IP "127.0.0.1" có ý nghĩa đặc biệt gì trong mạng?

  • A. Địa chỉ IP broadcast
  • B. Địa chỉ IP của router mặc định
  • C. Địa chỉ IP của máy chủ DNS
  • D. Địa chỉ loopback, trỏ về chính máy cục bộ (localhost)

Câu 21: Trong mô hình OSI, tầng nào chịu trách nhiệm đảm bảo việc truyền dữ liệu tin cậy giữa hai hệ thống đầu cuối, bao gồm kiểm soát lỗi và kiểm soát luồng?

  • A. Tầng Giao vận (Transport Layer)
  • B. Tầng Mạng (Network Layer)
  • C. Tầng Liên kết dữ liệu (Data Link Layer)
  • D. Tầng Vật lý (Physical Layer)

Câu 22: Phương pháp lập trình mạng nào sau đây giúp server có thể xử lý đồng thời nhiều yêu cầu từ client mà không cần chờ đợi tuần tự?

  • A. Lập trình tuần tự (Iterative programming)
  • B. Lập trình đồng bộ (Synchronous programming)
  • C. Lập trình đa tiến trình hoặc đa luồng (Multi-processing or Multi-threading)
  • D. Lập trình hướng sự kiện (Event-driven programming) - tuy đúng nhưng "đa tiến trình/đa luồng" trực diện hơn cho concurrent server

Câu 23: Khi một gói tin IP được gửi đi, địa chỉ IP đích được sử dụng để làm gì?

  • A. Xác định giao thức tầng giao vận (ví dụ, TCP hoặc UDP)
  • B. Xác định máy tính đích cuối cùng mà gói tin cần được gửi đến
  • C. Kiểm soát luồng dữ liệu giữa nguồn và đích
  • D. Mã hóa nội dung của gói tin

Câu 24: Trong lập trình socket, hàm `shutdown()` được sử dụng để làm gì?

  • A. Đóng hoàn toàn kết nối socket và giải phóng tài nguyên
  • B. Ngắt kết nối mạng vật lý
  • C. Tạm dừng truyền dữ liệu trên socket
  • D. Đóng một phần kết nối socket (ví dụ, chỉ ngừng gửi hoặc chỉ ngừng nhận dữ liệu)

Câu 25: Giao thức DHCP (Dynamic Host Configuration Protocol) được sử dụng để làm gì trong mạng?

  • A. Tự động cấp phát địa chỉ IP và cấu hình mạng cho các thiết bị
  • B. Phân giải tên miền thành địa chỉ IP
  • C. Đảm bảo truyền dữ liệu tin cậy
  • D. Mã hóa dữ liệu truyền trên mạng

Câu 26: Trong lập trình mạng, "Network Address Translation" (NAT) có vai trò chính gì?

  • A. Tăng tốc độ truyền dữ liệu mạng
  • B. Cho phép nhiều máy tính trong mạng riêng chia sẻ một địa chỉ IP công cộng để truy cập Internet
  • C. Mã hóa dữ liệu truyền qua mạng
  • D. Kiểm soát truy cập mạng dựa trên địa chỉ MAC

Câu 27: Khi thiết kế một ứng dụng client-server, lựa chọn giao thức TCP hay UDP phụ thuộc chủ yếu vào yếu tố nào?

  • A. Kích thước dữ liệu cần truyền
  • B. Số lượng client kết nối đến server
  • C. Yêu cầu về độ tin cậy, thứ tự và thời gian thực của ứng dụng
  • D. Loại hình mạng (LAN, WAN)

Câu 28: Trong lập trình socket, "blocking" (chặn) và "non-blocking" (không chặn) đề cập đến hành vi của thao tác nào?

  • A. Các thao tác gửi và nhận dữ liệu (I/O operations)
  • B. Thao tác thiết lập kết nối (connect)
  • C. Thao tác lắng nghe kết nối (listen)
  • D. Thao tác đóng socket (close)

Câu 29: Khi một ứng dụng cần đảm bảo dữ liệu đến đích một cách đầy đủ và đúng thứ tự, ngay cả khi có mất mát gói tin trên đường truyền, giao thức nào nên được sử dụng?

  • A. IP (Internet Protocol)
  • B. UDP (User Datagram Protocol)
  • C. ICMP (Internet Control Message Protocol)
  • D. TCP (Transmission Control Protocol)

Câu 30: Trong ngữ cảnh bảo mật mạng, tường lửa (firewall) hoạt động chủ yếu ở tầng nào của mô hình TCP/IP để kiểm soát lưu lượng mạng dựa trên các quy tắc định trước?

  • A. Tầng Ứng dụng (Application Layer)
  • B. Tầng Mạng (Network Layer) và Tầng Giao vận (Transport Layer)
  • C. Tầng Liên kết dữ liệu (Data Link Layer)
  • D. Tầng Vật lý (Physical Layer)

1 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 1: Trong mô hình TCP/IP, tầng nào chịu trách nhiệm chính cho việc định tuyến gói tin giữa các mạng khác nhau?

2 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 2: Xét tình huống một ứng dụng cần truyền dữ liệu liên tục, thời gian thực như video streaming. Giao thức nào sau đây sẽ phù hợp hơn để đảm bảo độ trễ thấp, chấp nhận mất mát gói tin ở mức độ nhất định?

3 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 3: Trong lập trình socket, thao tác `bind()` thường được thực hiện ở phía máy chủ (server) với mục đích gì?

4 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 4: Phương thức giao tiếp mạng nào sau đây mô tả đúng nhất kiểu 'one-to-many', trong đó một máy gửi dữ liệu đến một nhóm các máy nhận đã đăng ký?

5 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 5: Khi một ứng dụng web (client) gửi yêu cầu đến máy chủ web (server) sử dụng giao thức HTTP, cổng mặc định nào thường được sử dụng ở phía máy chủ để lắng nghe các kết nối?

6 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 6: Trong lập trình mạng không đồng bộ (asynchronous), lợi ích chính của việc sử dụng các socket không khóa (non-blocking sockets) là gì?

7 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 7: Giao thức nào sau đây được sử dụng để phân giải tên miền (ví dụ, www.example.com) thành địa chỉ IP tương ứng?

8 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 8: Xét mô hình client-server sử dụng TCP. Điều gì xảy ra khi máy chủ (server) gọi hàm `listen()` trên một socket?

9 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 9: Trong giao thức TCP, cơ chế 'bắt tay ba bước' (three-way handshake) được sử dụng để làm gì?

10 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 10: Khi lập trình socket UDP, tại sao không cần thiết lập kết nối trước khi gửi dữ liệu như trong TCP?

11 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 11: Trong lập trình mạng, thuật ngữ 'port' (cổng) được sử dụng để chỉ điều gì?

12 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 12: Trong ngữ cảnh lập trình mạng, 'socket' có thể được hiểu như thế nào?

13 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 13: Giao thức nào sau đây thường được sử dụng để truyền tải file giữa client và server, đặc biệt là trong các ứng dụng quản lý website?

14 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 14: Trong lập trình TCP server, hàm `accept()` có chức năng gì?

15 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 15: Khi một client muốn kết nối đến server TCP, hàm nào sau đây thường được sử dụng ở phía client để thiết lập kết nối?

16 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 16: Trong lập trình mạng, 'hostname' (tên máy chủ) dùng để chỉ điều gì?

17 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 17: Giao thức nào sau đây được sử dụng để gửi email đi từ client đến server?

18 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 18: Khi nhận dữ liệu qua socket TCP, điều gì đảm bảo rằng dữ liệu sẽ đến đúng thứ tự mà nó được gửi đi?

19 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 19: Trong lập trình mạng đa luồng (multi-threading) cho server, mỗi luồng thường được gán để xử lý điều gì?

20 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 20: Địa chỉ IP '127.0.0.1' có ý nghĩa đặc biệt gì trong mạng?

21 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 21: Trong mô hình OSI, tầng nào chịu trách nhiệm đảm bảo việc truyền dữ liệu tin cậy giữa hai hệ thống đầu cuối, bao gồm kiểm soát lỗi và kiểm soát luồng?

22 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 22: Phương pháp lập trình mạng nào sau đây giúp server có thể xử lý đồng thời nhiều yêu cầu từ client mà không cần chờ đợi tuần tự?

23 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 23: Khi một gói tin IP được gửi đi, địa chỉ IP đích được sử dụng để làm gì?

24 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 24: Trong lập trình socket, hàm `shutdown()` được sử dụng để làm gì?

25 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 25: Giao thức DHCP (Dynamic Host Configuration Protocol) được sử dụng để làm gì trong mạng?

26 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 26: Trong lập trình mạng, 'Network Address Translation' (NAT) có vai trò chính gì?

27 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 27: Khi thiết kế một ứng dụng client-server, lựa chọn giao thức TCP hay UDP phụ thuộc chủ yếu vào yếu tố nào?

28 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 28: Trong lập trình socket, 'blocking' (chặn) và 'non-blocking' (không chặn) đề cập đến hành vi của thao tác nào?

29 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 29: Khi một ứng dụng cần đảm bảo dữ liệu đến đích một cách đầy đủ và đúng thứ tự, ngay cả khi có mất mát gói tin trên đường truyền, giao thức nào nên được sử dụng?

30 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng

Tags: Bộ đề 9

Câu 30: Trong ngữ cảnh bảo mật mạng, tường lửa (firewall) hoạt động chủ yếu ở tầng nào của mô hình TCP/IP để kiểm soát lưu lượng mạng dựa trên các quy tắc định trước?

Xem kết quả