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

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 - Đề 07

Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Mạng - Đề 06 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 Vận chuyể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: Giao thức TCP cung cấp cơ chế kiểm soát luồng (flow control) để tránh tình trạng bên gửi dữ liệu quá nhanh làm tràn bộ đệm của bên nhận. Cơ chế kiểm soát luồng phổ biến trong TCP là gì?

  • A. Cửa sổ trượt cố định (Fixed window)
  • B. Thuật toán Leaky Bucket
  • C. Cửa sổ trượt động (Sliding window)
  • D. Cơ chế Stop-and-Wait

Câu 3: Xét tình huống một ứng dụng cần gửi dữ liệu âm thanh và hình ảnh trực tuyến, thời gian thực. Giao thức vận chuyển nào sau đây sẽ phù hợp hơn để sử dụng, TCP hay UDP, và tại sao?

  • A. TCP, vì TCP đảm bảo dữ liệu đến nơi tin cậy.
  • B. TCP, vì TCP có cơ chế kiểm soát lỗi tốt hơn.
  • C. UDP, vì UDP đảm bảo dữ liệu đến đúng thứ tự.
  • D. UDP, vì UDP có độ trễ thấp hơn và không yêu cầu thiết lập kết nối.

Câu 4: Trong lập trình socket, phương thức `bind()` được sử dụng ở phía server để làm gì?

  • A. Để thiết lập kết nối với client.
  • B. Để gán socket với một địa chỉ IP và số cổng cụ thể.
  • C. Để gửi dữ liệu đến client.
  • D. Để lắng nghe kết nối từ client.

Câu 5: Khi một client muốn khởi tạo kết nối TCP với server, nó sẽ thực hiện quá trình bắt tay ba bước (three-way handshake). Bước thứ hai trong quá trình này là gì?

  • A. Client gửi gói SYN-ACK đến server.
  • B. Server gửi gói ACK đến client.
  • C. Server gửi gói SYN-ACK đến client.
  • D. Client gửi gói ACK đến server và bắt đầu truyền dữ liệu.

Câu 6: Giả sử bạn đang xây dựng một ứng dụng chat nhóm, trong đó một server cần gửi tin nhắn đến nhiều client đồng thời. Phương thức giao tiếp nào sau đây là hiệu quả nhất về mặt băng thông?

  • A. Unicast đến từng client.
  • B. Multicast.
  • C. Broadcast.
  • D. Sử dụng giao thức TCP cho mỗi client.

Câu 7: Trong giao thức HTTP, phương thức nào thường được sử dụng để yêu cầu server gửi lại toàn bộ tài nguyên (ví dụ: trang web) mà không cần thông tin header từ lần truy cập trước?

  • A. GET
  • B. POST
  • C. PUT
  • D. DELETE

Câu 8: Để đảm bảo tính bảo mật cho dữ liệu truyền qua mạng, giao thức HTTPS đã được phát triển. HTTPS hoạt động bằng cách nào?

  • A. Mã hóa dữ liệu ở tầng Mạng.
  • B. Sử dụng tường lửa để bảo vệ kết nối.
  • C. Kết hợp HTTP với giao thức mã hóa SSL/TLS.
  • D. Xác thực người dùng bằng mật khẩu mạnh.

Câu 9: Khi lập trình socket bất đồng bộ, sự kiện nào sau đây thường được sử dụng để báo hiệu rằng dữ liệu đã được nhận thành công trên socket?

  • A. Sự kiện `Connected`
  • B. Sự kiện `DataReceived` (hoặc tương tự)
  • C. Sự kiện `SendCompleted`
  • D. Sự kiện `AcceptCompleted`

Câu 10: Địa chỉ IP phiên bản 4 (IPv4) có độ dài bao nhiêu bit?

  • A. 64 bits
  • B. 128 bits
  • C. 32 bits
  • D. 16 bits

Câu 11: DNS (Domain Name System) có vai trò gì trong mạng Internet?

  • A. Cấp phát địa chỉ IP cho các thiết bị.
  • B. Định tuyến gói tin trên Internet.
  • C. Kiểm soát luồng dữ liệu trên mạng.
  • D. Phân giải tên miền thành địa chỉ IP.

Câu 12: Trong lập trình mạng, thuật ngữ "serialization" (tuần tự hóa) dùng để chỉ quá trình nào?

  • A. Chuyển đổi đối tượng thành một chuỗi byte để truyền qua mạng.
  • B. Mã hóa dữ liệu để bảo mật.
  • 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.

Câu 13: Giao thức nào sau đây thường được sử dụng để truyền file giữa client và server?

  • A. HTTP
  • B. FTP
  • C. SMTP
  • D. POP3

Câu 14: Cơ chế "keep-alive" trong HTTP có tác dụng gì?

  • A. Mã hóa kết nối HTTP.
  • B. Xác thực client trước khi truyền dữ liệu.
  • C. Duy trì kết nối TCP cho nhiều yêu cầu/phản hồi HTTP.
  • D. Nén dữ liệu HTTP để giảm kích thước.

Câu 15: Khi một ứng dụng client gửi yêu cầu đến server thông qua giao thức HTTP, server sẽ phản hồi bằng một mã trạng thái (status code). Mã trạng thái "200 OK" có nghĩa là gì?

  • A. Yêu cầu bị lỗi do client.
  • B. Tài nguyên không tìm thấy trên server.
  • C. Server đang bận và không thể xử lý yêu cầu.
  • D. Yêu cầu thành công.

Câu 16: Để xây dựng một ứng dụng server có khả năng xử lý đồng thời nhiều kết nối từ client, mô hình lập trình server nào sau đây thường được sử dụng?

  • A. Mô hình server tuần tự (Iterative server).
  • B. Mô hình server đa luồng/đa tiến trình (Concurrent server).
  • C. Mô hình server đơn luồng, sự kiện (Event-driven server).
  • D. Tất cả các mô hình trên đều phù hợp.

Câu 17: Trong lập trình socket UDP, có cần thiết phải thiết lập kết nối trước khi gửi dữ liệu không?

  • A. Không cần thiết.
  • B. Cần thiết.
  • C. Chỉ cần thiết trong một số trường hợp.
  • D. Tùy thuộc vào cài đặt hệ điều hành.

Câu 18: Cho đoạn mã giả định sau:
`socket = create_udp_socket()`
`send_data(socket, "Hello", destination_ip, destination_port)`
Đoạn mã này minh họa thao tác nào trong lập trình mạng?

  • A. Thiết lập kết nối TCP.
  • B. Lắng nghe kết nối TCP.
  • C. Gửi dữ liệu UDP.
  • D. Nhận dữ liệu TCP.

Câu 19: Trong giao thức SMTP, lệnh "MAIL FROM" được sử dụng để làm gì?

  • A. Xác thực người gửi email.
  • B. Chỉ định địa chỉ email người gửi.
  • C. Chỉ định địa chỉ email người nhận.
  • D. Gửi nội dung email.

Câu 20: Phương pháp lập trình socket nào cho phép một ứng dụng có thể đồng thời gửi và nhận dữ liệu mà không bị "treo" (blocking) khi chờ đợi?

  • A. Socket đồng bộ (Synchronous socket).
  • B. Socket tuần tự (Sequential socket).
  • C. Socket đa luồng (Multi-threaded socket).
  • D. Socket bất đồng bộ (Asynchronous socket).

Câu 21: Mô hình OSI (Open Systems Interconnection) có bao nhiêu tầng?

  • A. 4 tầng
  • B. 5 tầng
  • C. 7 tầng
  • D. 8 tầng

Câu 22: Trong ngữ cảnh web server, thuật ngữ "virtual host" (máy chủ ảo) có nghĩa là gì?

  • A. Một server vật lý được ảo hóa.
  • B. Một server web có thể phục vụ nhiều domain khác nhau trên cùng một địa chỉ IP.
  • C. Một server web chỉ phục vụ nội dung tĩnh.
  • D. Một server web được đặt trên cloud.

Câu 23: Giao thức ICMP (Internet Control Message Protocol) thường được sử dụng cho mục đích gì?

  • A. Gửi thông báo lỗi và kiểm tra kết nối mạng (ví dụ: lệnh ping).
  • B. Truyền dữ liệu lớn giữa các server.
  • C. Mã hóa dữ liệu truyền trên mạng.
  • D. Phân giải tên miền.

Câu 24: Trong lập trình mạng, "port scanning" (quét cổng) là kỹ thuật được sử dụng để làm gì?

  • A. Tăng tốc độ truyền dữ liệu qua cổng mạng.
  • B. Mã hóa dữ liệu truyền qua cổng mạng.
  • C. Kiểm tra tình trạng hoạt động của server.
  • D. Xác định các cổng đang mở và dịch vụ đang chạy trên một máy chủ.

Câu 25: Khi thiết kế một hệ thống client-server, quyết định sử dụng giao thức TCP hay UDP phụ thuộc vào yếu tố quan trọng nào nhất?

  • A. Tốc độ truyền dữ liệu tối đa.
  • B. Số lượng client dự kiến.
  • C. Yêu cầu về độ tin cậy và thứ tự của dữ liệu.
  • D. Chi phí triển khai hệ thống.

Câu 26: Trong lập trình socket, phương thức `listen()` được sử dụng ở phía server để làm gì?

  • A. Để gửi dữ liệu đến client.
  • B. Để nhận dữ liệu từ client.
  • C. Để thiết lập kết nối với client đầu tiên.
  • D. Để chuẩn bị socket lắng nghe các kết nối đến từ client.

Câu 27: Giả sử một client và server đã thiết lập kết nối TCP. Khi server chủ động đóng kết nối, quá trình đóng kết nối TCP được gọi là gì?

  • A. Bắt tay ba bước (Three-way handshake).
  • B. Bắt tay bốn bước (Four-way handshake).
  • C. Ngắt kết nối đơn phương (Unilateral disconnection).
  • D. Không có quá trình đóng kết nối cụ thể.

Câu 28: Trong lập trình mạng, "network address translation" (NAT) có vai trò gì?

  • A. Mã hóa địa chỉ IP.
  • B. Cấp phát địa chỉ IP tự động.
  • C. Cho phép nhiều thiết bị trong mạng riêng chia sẻ một địa chỉ IP công cộng.
  • D. Tăng tốc độ truyền dữ liệu mạng.

Câu 29: Khi sử dụng giao thức TCP, nếu một gói tin bị mất trên đường truyền, điều gì sẽ xảy ra?

  • A. Dữ liệu sẽ bị mất vĩnh viễn.
  • B. UDP sẽ được sử dụng để truyền lại dữ liệu.
  • C. Kết nối TCP sẽ bị ngắt.
  • D. TCP sẽ phát hiện mất gói tin và yêu cầu gửi lại gói tin đó.

Câu 30: Trong mô hình client-server, client thường là chương trình nào?

  • A. Chương trình yêu cầu dịch vụ.
  • B. Chương trình cung cấp dịch vụ.
  • C. Chương trình trung gian giữa người dùng và server.
  • D. Chương trình quản lý mạng.

1 / 30

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

Tags: Bộ đề 7

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ộ đề 7

Câu 2: Xét tình huống một ứng dụng cần truyền tải video trực tuyến chất lượng cao, độ trễ thấp là yếu tố quan trọng nhất. Giao thức tầng vận chuyển nào sẽ phù hợp hơn?

3 / 30

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

Tags: Bộ đề 7

Câu 3: Điều gì xảy ra khi một server TCP nhận được SYN packet từ client?

4 / 30

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

Tags: Bộ đề 7

Câu 4: Trong lập trình socket, phương thức `bind()` thường được sử dụng ở phía server với mục đích gì?

5 / 30

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

Tags: Bộ đề 7

Câu 5: Sự khác biệt chính giữa giao tiếp Unicast, Multicast và Broadcast là gì?

6 / 30

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

Tags: Bộ đề 7

Câu 6: Tại sao cần sử dụng lập trình socket bất đồng bộ (asynchronous) trong các ứng dụng server có tải lớn?

7 / 30

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

Tags: Bộ đề 7

Câu 7: Trong giao thức HTTP, phương thức POST thường được sử dụng cho mục đích gì?

8 / 30

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

Tags: Bộ đề 7

Câu 8: Port number (số cổng) trong TCP/IP được sử dụng để làm gì?

9 / 30

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

Tags: Bộ đề 7

Câu 9: Giả sử bạn đang xây dựng một ứng dụng chat thời gian thực. Yêu cầu là tin nhắn phải được gửi đến tất cả người dùng đang trực tuyến trong một phòng chat. Mô hình giao tiếp nào phù hợp nhất?

10 / 30

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

Tags: Bộ đề 7

Câu 10: Trong lập trình socket TCP, hàm `listen()` có vai trò gì ở phía server?

11 / 30

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

Tags: Bộ đề 7

Câu 11: Khi một client muốn kết nối đến một server web qua HTTP, cổng mặc định mà client sẽ sử dụng là cổng nào?

12 / 30

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

Tags: Bộ đề 7

Câu 12: Phương thức `connect()` trong lập trình socket được sử dụng ở phía nào và cho giao thức 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ộ đề 7

Câu 13: Điều gì xảy ra khi một gói tin UDP bị mất trên đường truyền?

14 / 30

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

Tags: Bộ đề 7

Câu 14: Trong lập trình mạng, thuật ngữ 'socket' thường được hiểu là gì?

15 / 30

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

Tags: Bộ đề 7

Câu 15: Giao thức nào sau đây thường được sử dụng để truyền file trên mạng?

16 / 30

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

Tags: Bộ đề 7

Câu 16: Để xây dựng một server TCP có khả năng phục vụ đồng thời nhiều client, kỹ thuật lập trình nào thường được sử dụng?

17 / 30

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

Tags: Bộ đề 7

Câu 17: Trong giao thức SMTP, lệnh nào được sử dụng để bắt đầu phiên giao dịch gửi email?

18 / 30

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

Tags: Bộ đề 7

Câu 18: Địa chỉ IP '127.0.0.1' có ý nghĩa gì?

19 / 30

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

Tags: Bộ đề 7

Câu 19: Cơ chế 'sliding window' trong TCP được sử dụng để làm gì?

20 / 30

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

Tags: Bộ đề 7

Câu 20: Trong lập trình socket, khi nào xảy ra lỗi 'Address already in use'?

21 / 30

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

Tags: Bộ đề 7

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

22 / 30

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

Tags: Bộ đề 7

Câu 22: Trong mô hình OSI, tầng nào tương đương với tầng Liên Mạng (Internet Layer) trong mô hình TCP/IP?

23 / 30

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

Tags: Bộ đề 7

Câu 23: Khi thiết kế một giao thức ứng dụng chạy trên UDP, điều gì cần được cân nhắc đặc biệt so với khi chạy trên TCP?

24 / 30

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

Tags: Bộ đề 7

Câu 24: Trong lập trình socket, hàm `accept()` trả về giá trị gì?

25 / 30

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

Tags: Bộ đề 7

Câu 25: Firewall hoạt động chủ yếu ở tầng nào trong mô hình TCP/IP để kiểm soát truy cập 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ộ đề 7

Câu 26: Trong giao thức POP3, lệnh nào được sử dụng để tải email từ server về client?

27 / 30

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

Tags: Bộ đề 7

Câu 27: Tại sao giao thức TCP được gọi là giao thức 'hướng kết nối'?

28 / 30

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

Tags: Bộ đề 7

Câu 28: Khi sử dụng socket UDP, có cần thiết phải gọi hàm `listen()` và `accept()` ở phía server không?

29 / 30

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

Tags: Bộ đề 7

Câu 29: Trong lập trình mạng, 'Network Byte Order' và 'Host Byte Order' là gì và tại sao cần quan tâm đến chúng?

30 / 30

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

Tags: Bộ đề 7

Câu 30: Giả sử bạn nhận được yêu cầu xây dựng một hệ thống giám sát từ xa, trong đó các cảm biến liên tục gửi dữ liệu về server. Yêu cầu là độ tin cậy không quá quan trọng, nhưng cần truyền dữ liệu nhanh và giảm tải cho server. Giao thức nào phù hợp hơn?

Xem kết quả