350 Câu hỏi trắc nghiệm môn Lập trình mạng
Tổng hợp 350 câu hỏi trắc nghiệm môn lập trình mạng có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức. Để ôn tập hiệu quả các bạn có thể ôn theo từng phần trong bộ câu hỏi này bằng cách trả lời các câu hỏi và xem lại đáp án và lời giải chi tiết. Sau đó các bạn hãy chọn tạo ra đề ngẫu nhiên để kiểm tra lại kiến thức đã ôn.
Chọn hình thức trắc nghiệm (50 câu/60 phút)
Chọn phần
-
Câu 1:
Chương trình sau thực hiện công việc gì?
for (int i = 0; i < args.length; i++) { try { Socket socket = new Socket(args[i], 80); System.out.print("Connected to " + socket.getInetAddress()); System.out.print(" on port " + socket.getPort()); System.out.print(" from port " + socket.getLocalPort()); System.out.println(" of " + socket.getLocalAddress()); } catch(UnknownHostException e) { e.printStackTrace(); } catch(SocketException e) { e.printStackTrace(); } catch(IOException e) { e.printStackTrace(); }
A. Kết nối đến một webserver nào đó.
B. Tạo một địa chỉ IP từ mảng byte, chuỗi String.
C. Cho địa chỉ, tìm tên máy.
D. Không có đáp án đúng.
-
Câu 2:
Phương thức accept() của lớp ServerSocket có tác dụng gì?
A. Lắng nghe một kết nối đến máy client và chấp nhận nó.
B. Chờ máy chủ kết nối đến một máy trạm nào đó.
C. Lắng nghe một kết nối đến socket này và chấp nhận nó.
D. Tất cả các đáp án đều đúng.
-
Câu 3:
Truyền dữ liệu theo phương thức UDP là dạng truyền dữ liệu?
A. Chính xác
B. Đảm bảo
C. Không chính xác
D. Tất cả đều đúng
-
Câu 4:
Truyền dữ liệu theo phương thức UDP?
A. Không đòi hỏi nhiều tài nguyên của hệ thống
B. Chiếm dụng nhiều tài nguyên ổ cứng
C. Đòi hỏi nhiều tài nguyên của hệ thống
D. Không đáp án nào đúng
-
Câu 5:
Truyền dữ liệu theo phương thức UDP được sử dụng trong ứng dụng?
A. Mang tính chất tìm kiếm thông tin
B. Mang tính chất cảnh báo
C. Mang tính chất thông báo
D. Mang tính chất trao đổi thông tin
-
Câu 6:
UDP là viết tắt của?
A. User Protocol Defined
B. Under Datagram Package
C. User Defined Protocol
D. User Datagram Protocol
-
Câu 7:
UDP sử dụng các lớp là?
A. UDPServer
B. UDPClient
C. UDPServer-Client
D. UDPHost
-
Câu 8:
UDP sử dụng mô hình mạng nào?
A. Mô hình OSI và TCP/IP
B. UDP
C. OSI
D. TCP/IP
-
Câu 9:
DatagramSocket được dùng để truyền và nhận các?
A. DatagramPacket
B. Socket
C. DatagramSocket
D. ServerSocket
-
Câu 10:
Chiều dài dữ liệu tối đa có thể đưa vào DatagramPacket là khoảng?
A. Khoảng 60.000 byte (phụ thuộc vào dạng đ¬ờng truyền).
B. Khoảng 50.000 byte
C. Khoảng 40.000 byte
D. Khoảng 30.000 byte
-
Câu 11:
Trên cùng một máy tính, cổng trong giao thức TCP và UDP có thể trùng nhau hay không?
A. Không biết
B. Có
C. Tùy từng máy
D. Không
-
Câu 12:
Khi nhận được một DatagramPacket từ một quá trình khác gửi đến, ta có thể lấy thông tin địa chỉ máy gởi trên DatagramPacket này bằng phương thức?
A. Public byte[] getData()
B. Public int getPort()
C. Public InternetAddress getAddress()
D. Public int getLength()
-
Câu 13:
Khi nhận được một DatagramPacket từ một quá trình khác gửi đến, ta có thể lấy thông tin dữ liệu từ gói tin trên DatagramPacket này bằng phương thức?
A. Public byte[] getData()
B. Public int getPort()
C. Public int getLength()
D. Public InetAddress getAddress()
-
Câu 14:
Khi nhận được một DatagramPacket từ một quá trình khác gửi đến, ta có thể lấy thông tin cổng của quá trình gởi trên DatagramPacket này bằng phương thức?
A. Public InetAddress getAddress()
B. Public int getPort()
C. Public byte[] getData()
D. Public int getLength()
-
Câu 15:
Trước khi gởi một DatagramPacket đi, ta có thể đặt thông tin địa chỉ máy nhận trên DatagramPacket này bằng phương thức ?
A. Public void setPort(int port)
B. Public void setLength(int len)
C. Public void setData(byte buffer[])
D. Public void setAddress(InternetAddress dis)
-
Câu 16:
Trước khi gởi một DatagramPacket đi, ta có thể đặt cổng quá trình nhận trênDatagramPacket này bằng phương thức ?
A. Public void setPort(int port)
B. Public void setData(byte buffer[])
C. Public void setAddress(InternetAddress dis)
D. Public void setLength(int len)
-
Câu 17:
Trước khi gởi một DatagramPacket đi, ta có thể đặt dữ liệu gởi đi trênDatagramPacket này bằng phương thức ?
A. Public void setAddress(InternetAddress dis)
B. Public void setData(byte buffer[])
C. Public void setPort(int port)
D. Public void setLength(int len)
-
Câu 18:
Trước khi gởi một DatagramPacket đi, ta có thể đặt chiều dài dữ liệu gởi trên DatagramPacket này bằng phương thức?
A. Public void setAddress(InternetAddress dis)
B. Public void setData(byte buffer[])
C. Public void setPort(int port)
D. Public void setLength(int len)
-
Câu 19:
Trong lớp DatagramSocket phương thức khởi dựng để tạo kết nối UDP là?
A. Public DatagramSocket() throws SocketException
B. Public DatagramSocket(int port) throws SocketException
C. Public void synchronized send(DatagramPackage p) throws IOException
D. Public void synchronized receive(DatagramPackage p) throws IOException
-
Câu 20:
Trong lớp DatagramSocket phương thức khởi dựng để tạo kết nối UDP với số hiệu cổng là?
A. Public void synchronized receive(DatagramPackage p) throws IOException
B. Public void synchronized send(DatagramPackage p) throws IOException
C. Public DatagramSocket() throws SocketException
D. Public DatagramSocket(int port) throws SocketException
-
Câu 21:
Trong lớp DatagramSocket phương thức gửi gói dữ liệu đi là?
A. Public void synchronized send(DatagramPackage p) throws IOException
B. Public void synchronized receive(DatagramPackage p) throws IOException
C. Public DatagramSocket(int port) throws SocketException
D. Public DatagramSocket() throws SocketException
-
Câu 22:
Trong lớp DatagramSocket phương thức nhận gói dữ liệu về là?
A. Public void synchronized send(DatagramPackage p) throws IOException
B. Public void synchronized receive(DatagramPackage p) throws IOException
C. Public DatagramSocket(int port) throws SocketException
D. Public DatagramSocket() throws SocketException
-
Câu 23:
Trong lớp DatagramPackage, phương thức khởi tạo ra gói tin có dữ liệu trong bộ nhớ đệm và chiều dài gói dữ liệu là?
A. Public DatagramPackage(byte buf[]).
B. Public DatagramPackage (byte buf[], int len, InetAddress I addr, int port)
C. Public DatagramPackage (byte buf[], int len)
D. Public Datagram Package (byte buf[], int len, I addr, port, number)
-
Câu 24:
Trong lớp DatagramPackage, phương thức khởi tạo ra gói tin có dữ liệu trong bộ nhớ đệm cùng với chiều dài gói dữ liệu địa chỉ máy đích và số hiệu cổng?
A. Public Datagram Package (byte buf[], int len, I addr, port, number)
B. Public DatagramPackage(byte buf[]).
C. Public DatagramPackage (byte buf[], int len, InetAddress I addr, int port)
D. Public DatagramPackage (byte buf[], int len)
-
Câu 25:
Trong DatagramSocket phương thức dùng để đóng kết nối là?
A. Public () close
B. Public close()
C. Public void synchronized () close
D. Public void synchronized close()
-
Câu 26:
Để tạo đối tượng kết nối Socket theo giao thức UDP tại cổng 1234 ta chọn cách sau?
A. DatagramSocket serverSocket= new DatagramSocket(1234)
B. Datagram serverSocket= new DatagramSocket(1234)
C. DatagramSocket serverSocket=DatagramSocket(1234)
D. Datagram serverSocket= DatagramSocket(1234)
-
Câu 27:
Phạm vi truy cập của một đối tượng khi được khai báo public là gì?
A. Có thể được truy cập từ các lớp trong cùng package và lớp con nằm trong package khác.
B. Có thể được truy cập từ tất cả mọi nơi.
C. Chỉ có thể truy cập từ các phơng thức khác trong class đó.
D. Có thể được truy cập từ các lớp trong cùng package.
-
Câu 28:
Java Virtual Machine là gì?
A. Là một thành phần của Java platform dùng để đọc mã bytecode trong file .class
B. Là chương trình chạy cho java
C. Là chương trình biên dịch của java dùng để biên dịch file nguồn java thành mãbytecode.
D. Tất cả các đáp án đều đúng
-
Câu 29:
Khi biên dịch gặp lỗi Exception in thread main java.lang.NoClassDefFoundError:myprogram. Lỗi này có nghĩa gì?
A. Đường dẫn chương trình sai.
B. Không có từ khóa public tại mở đầu khai báo class
C. Không khai báo class
D. Không có hàm main
-
Câu 30:
Thứ tự các từ khóa public và static khi khai bao như thế nào?
A. public đứng trước static
B. Thứ tự bất kỳ nhưng thông thường public đứng trước
C. static đứng trước public
D. Tất cả đều sai.
-
Câu 31:
Phạm vi truy cập của một đối tượng khi khai báo private là gì?
A. Chỉ có thể truy cập từ các phương thức khác trong class đó.
B. Có thể được truy cập bất kỳ vị trí nào trong chương trình.
C. Có thể được truy cập từ các lớp trong cùng package.
D. Có thể được truy cập từ các lớp trong cùng package và lớp con nằm trong package khác.
-
Câu 32:
Câu nào sau đây là sai?
A. /** chú thích */
B. /* chú thích */
C. /* chú thích
D. // chú thích
-
Câu 33:
File chứa mã nguồn java sau khi được biên dịch có đuôi là gì?
A. .class
B. .jav
C. .java
D. .exe
-
Câu 34:
Biểu thức nào sau đây không hợp lệ:
A. int x=6;if(!(x>4)) { }
B. int x=6;x*=x;
C. int x=6;x=x>>>5;
D. String if="Hello";
-
Câu 35:
Phạm vi truy cập của một đối tợng khi khai báo không có từ khóa điều khiển phạm vi là gì?
A. Có thể truy cập đối tượng từ các phương thức khác trong lớp đó
B. Có thể truy cập đối tượng từ các lớp trong cùng package và lớp con nằm trong package khác
C. Có thể truy cập đối tượng từ bất kỳ vị trí nào của chương trình
D. Có thể truy cập từ các lớp trong cùng package
-
Câu 36:
Khai báo sau có ý nghĩa gì: public static ArrayList objE = new ArrayList();
A. Khai báo đối tợng objE thuộc lớp Employees
B. Khai báo đối tợng Employees thuộc lớp objE
C. Khai báo một mảng các đối tợng objE thuộc lớp Employees
D. Khai báo một mảng các đối tợng Employees thuộc lớp objE
-
Câu 37:
Giả sử có khai báo sau: public static ArrayList objE = new ArrayList();
Để thêm một đối tợng vào mảng các đối tợng đã khai báo ở trên ta dùng lệnh:
A. objE.AddNew(obj)
B. objE.add(obj)
C. objE.addnew(obj)
D. objE.Add(obj)
-
Câu 38:
Lớp DatagramPackage trong lập trình mạng được sử dụng với mục đích gì?
A. Tạo gói dữ liệu để trao đổi giữa hai máy tính trên mạng theo kết nối d¬ới giao thức TCP
B. Tạo gói dữ liệu để trao đổi giữa hai máy tính trên mạng theo kết nối d¬ới giao thức TCP/IP
C. Tạo gói dữ liệu để trao đổi giữa hai máy tính trên mạng theo kết nối d¬ới giao thức IP
D. Tạo gói dữ liệu để trao đổi giữa hai máy tính trên mạng theo kết nối d¬ới giao thức UDP
-
Câu 39:
Thư viện cần thiết được dùng để lập trình mạng?
A. java.awt.*
B. java.applet.*
C. java.io.*
D. java.net.*
-
Câu 40:
Phương thức getFile( ) trong lớp URL có ý nghĩa gì?
A. Trả về tên của file trong một chuỗi địa chỉ URL
B. Trả về tên của giao thức trong một chuỗi địa chỉ URL
C. Trả về số hiệu cổng sử dụng trong một chuỗi đĩa chỉ URL
D. Trả về tên của máy chủ trong một chuỗi địa chỉ URL
-
Câu 41:
Phương thức receive( DatagramPackage p) trong lớp DatagramSocket được sử dụng với mục đích gì?
A. Để gửi số nguyên p đi
B. Để nhận số nguyên p về
C. Để nhận gói dữ liệu p về
D. Để gửi gói dữ liệu p đi
-
Câu 42:
Các máy tính trên Internet giao tiếp với nhau thông qua giao thức gì?
A. IP, UDP và TCP
B. UDP và IP
C. IP và TCP
D. TCP và UDP
-
Câu 43:
Khi chạy ứng dụng theo mô hunh Client/Server, thì ch¬ơng trình nào phải chạy trước?
A. Server
B. Client
C. Không bắt buộc, tùy ý
D. Server và Client
-
Câu 44:
Phương thức DatagramPacket( byte buf[], int len, InetAddress host, int port) trong lớp DatagramPackage được sử dụng với mục đích gì?
A. Phương thức khởi dựng để tạo ra gói dữ liệu với dữ liệu chứa trong buf, chiều dài len, dữ liệu được gửi và nhận từ địa chỉ host và cổng port
B. Phương thức khởi dựng để tạo ra gói dữ liệu với dữ liệu được chứa trong bộ đệm buf[] và chiều dài gói dữ liệu được tạo ra là len
C. Cả hai phát biểu trên đều đúng
D. Cả hai phát biểu trên đều sai
-
Câu 45:
Multicast là gì?
A. Là mô hình truyền thông point-to-point mà chúng ta thường gọi là multicasting.
B. Là mô hình truyền thông one-to-many sử dụng chiến lược phân phối các thông điệp chỉ một lần.
C. Là mô hình truyền thông one-to-all phát sóng cho một nhóm địa chỉ chứ không phải một địa chỉ.
D. Là mô hình truyền thông point-to-point tốt cho nhiều ứng dụng hoạt động đồng thời
-
Câu 46:
Lớp java.net.MulticastSocket được sử dụng như thế nào?
A. Sử dụng bên phía client để gửi các gói tin mà nhận đ¬ợc từ nhiều server cùng lúc.
B. Sử dụng bên phía client để phát sóng các gói tin cho nhiều client trong cùng một mạng.
C. Sử dụng bên phía client để lắng nghe các gói tin mà server phát sóng cho nhiều client cùng lúc.
D. Không phải các ý trên.
-
Câu 47:
Địa chỉ Multicast là dải địa chỉ nào?
A. 224.0.0.0 đến 224.255.255.255
B. 224.0.0.0 đến 239.255.255.255
C. 225.0.0.0 đến 238.255.255.255
D. 223.0.0.0 đến 224.255.255.255
-
Câu 48:
Một nhóm multicast là một tập hợp các host cùng chia sẻ một địa chỉ multicast. Để tạo một nhóm multicast ta làm như thế nào?
A. Chọn địa chỉ router trên mạng con địa phương là 224.0.0.2
B. Chọn một địa chỉ ngẫu nhiên từ 225.0.0.0 đến 238.255.255.255
C. Chọn địa chỉ phát sóng trên mạng có dạng là 224.2.X.X
D. Chọn địa chỉ hệ thống trên mạng con địa phương là 224.0.0.1
-
Câu 49:
Lớp java.net.MulticastSocket là lớp con của lớp nào?
A. MulticastObject.
B. Socket.
C. DatagramSocket.
D. SocketException.
-
Câu 50:
Một Multicast API không hỗ trợ hoạt động nào?
A. Cho phép một quy trình tham gia vào một nhóm multicast cụ thể.
B. Cho phép quy trình rời đi nhóm multicast.
C. Cho phép một quy trình gửi thông điệp đến tất cả các quy trình của một nhóm multicast.
D. Không phải các ý trên.