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)
-
Câu 1:
Cho biết các tạo ra một thể hiện của InputStreamReader từ một thể hiện của InputStream
A. Sử dụng phương thức createReader() của lớp InputStream
B. Sử dụng phương thức createReader() của lớp InputStreamReader
C. Tạo một thể hiện của InputStream rồi truyền vào cho hàm khởi tạo của InputStreamReader
D. Tất cả các câu trên đều sai
-
Câu 2:
Đoạn mã nào sau đây được đặt trong lớp XL để khai báo lớp XL thuộc package : VN.HN.TH?
A. import VN.*;
B. import VN.HN.TH.*;
C. package VN.HN.TH;
D. package VN.HN.TH.XL;
-
Câu 3:
Chọn phát biểu đúng:
A. (1) Lớp Writer có thể được dùng để ghi các ký tự có cách mã hóa khác nhau ra luồng xuất
B. (2) Lớp Writer có thể được dùng để ghi các ký tự Unicode ra luồng xuất
C. (3) Lớp Writer có thể được dùng để ghi giá trị các kiểu dữ liệu cơ sở ra luồng xuất
D. Câu (1) và (2) đúng
-
Câu 4:
Cho biết số byte mà đoạn chương trình sau ghi ra tập tin temp. txt
import java.io. * ; public class TestIOApp { public static void main(String args[]) throws IOException { FileOutputStream outStream = new FileOutputStream("temp.txt"); String s = "test"; for (int i = 0; i outStream.write(s.charAt(i)); outStream.close(); } }
A. 2 bytes
B. 4 bytes.
C. 8 bytes
D. 16 bytes
-
Câu 5:
Giả sử a và b được định nghĩa như sau. Kết quả của biểu thức a==b là gì?
double[] a = { 0.1, 0.2, 0.3 }; double[] b = { 0.1, 0.2, 0.3 };
A. Lỗi biên dịch
B. false
C. true
D. Lỗi thực thi
-
Câu 6:
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 7:
Chương trình được viết bằng ngôn ngữ Java có thể chạy trên bất kỳ nền nào bởi vì…
A. Máy ảo JVM được nhiều nền tảng hỗ trợ
B. Trình biên dịch được xác định bởi trình biên dịch của C++
C. Lập trình Java đ¬ợc kế thừa từ C++
D. Hàm API thực hiện các thao tác
-
Câu 8:
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 9:
Trong lập trình Socket TCP/IP, Server muốn gửi dữ liệu đến Client thì phải sử dụng phương thức nào của luồng xuất (OutputStream) :
A. write()
B. read()
C. send()
D. receive()
-
Câu 10:
Phương thức replaceFirst(char old, char new) được dùng để làm gì?
A. Thay thế tất cả ký tự new bằng ký tự old trong một chuỗi nào đó
B. Thay thế tất cả các ký tự old bằng ký tự new trong một chuỗi nào đó
C. Thay thế ký tự old đầu tiên bằng ký tự new trong một chuỗi nào đó
D. Thay thế ký tự old cuối cùng bằng ký tự new trong một chuỗi nào đó
-
Câu 11:
Cho đoạn chương trình sau. Cho biết kết quả in lên màn hình sau khi thực thi?
class Value { public int i = 15; } public class Test { public static void main(String args[]) { Test t = new Test(); t.first(); } public void first() { int i = 5; Value v = new Value(); v.i = 25; second(v, i); System.out.print(" " + v.i); } public void second(Value v, int i) { i = 0; v.i = 20; Value val = new Value(); v = val; System.out.print(v.i + " " + i); } }
A. 0 15 20
B. 15 0 20
C. 20 0 15
D. 20 15 0
-
Câu 12:
Phương thức receive() của lớp DatagramSocket có thể gây ra Exception nào?
A. SocketException
B. IOException
C. UnknownHostException
D. UnknownPortException
-
Câu 13:
Cho biết với từ khoá khai báo thuộc tính nào để xác định quyền truy xuất sau : Thuộc tính được phép truy xuất từ tất cả các lớp đối tượng khác?
A. public
B. private
C. protected
D. static
-
Câu 14:
Đâu là cách khai báo tạo ra chuỗi ký tự?
A. String s = new String("Test")
B. String s;
C. Cả hai phương án đều đúng
D. Cả hai phương án đều sai
-
Câu 15:
Lớp Socket được dùng trong cơ chế lập trình nào sau đây?
A. Lập trình Socket TCP/IP
B. Lập trình IP
C. Lập trình Socket UDP/IP
D. Tất cả đều sai
-
Câu 16:
Trong cùng một máy, có nhiều ứng dụng mạng cùng chạy, để phân biệt các ứng dụng này với nhau người ta thường dùng thông số nào sau đây?
A. Port
B. Địa chỉ IP
C. Tên miền
D. Tất cả đều sai
-
Câu 17:
Mô hình Client - Server là mô hình như thế nào?
A. Là mô hình nhiều máy khách giao tiếp với nhau theo 1 hoặc nhiều dịch vụ
B. Là mô hình nhiều máy tớ giao tiếp với nhau theo 1 hoặc nhiều dịch vụ
C. Là mô hình nhiều máy con giao tiếp với nhau theo 1 hoặc nhiều dịch vụ
D. Là mô hình mạng trên đó có các máy chủ và máy tớ giao tiếp với nhau theo 1 hoặc nhiều dịch vụ
-
Câu 18:
Lớp ServerSocket nằm trong package
A. java.io
B. java.lang
C. java.net
D. java.swing
-
Câu 19:
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 20:
Package là tập hợp của:
A. Lớp và Interface
B. Lớp
C. Interface
D. Các công cụ biên dịch
-
Câu 21:
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 22:
Để 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 23:
Nếu 1 frame dùng bộ quản lý trình bày (layout manager) là GridLayout và không chứa bất kỳ panel hay container nào khác bên trong nó thì tất cả những component khi đưa vào trong frame này có cùng kích thước như sau (ngang, dọc)?
A. Đúng
B. Sai
-
Câu 24:
Phương thức nào sau đây dùng để lấy tên của máy chủ?
A. getLocalHostName()
B. getHostAddress()
C. getHostName()
D. getLocalHost()
-
Câu 25:
Cho đoạn mã bên (ảnh).Sau khi thực hiện xong các câu lệnh, giá trị của biến c là bao nhiêu?
A. 45
B. 44
C. 44.0
D. 45.0
-
Câu 26:
Trong lập trình UDP, client muốn tạo Socket để kết nối với Server ở địa chỉ 192.168.13.26:1234, thì dùng câu lệnh nào sau đây?
A. DatagramSocket(1234)
B. DatagramSocket("192.168.13.26",1234)
C. DatagramSocket()
D. DatagramSocket("192.168.13.26")
-
Câu 27:
Khởi tạo biến chuỗi String s = new String("Hello Truongbt"); Các lệnh dưới đây, lệnh nào không hợp lệ :
A. int i = s.length();
B. int i = length(s);
C. s.toLowerCase();
D. s.toUpperCase();
-
Câu 28:
Dòng lệnh nào sau đây sẽ không thể biên dịch :
byte b = 5; char c = ''5''; short s = 55; int i = 555; float f = 555.5f; b = s; i = c; if (f>b) f = i;
A. Dòng 3
B. Dòng 4
C. Dòng 5
D. Dòng 6
-
Câu 29:
Những yếu tố nào sau đây liên quan tới việc lực chọn kiến trúc mạng?
A. Địa điểm lắp đặt và khả năng tài chính
B. Tốc độ truyền thông trong mạng
C. Số lượng máy tính trong mạng
D. Cả A, B, C
-
Câu 30:
Chọn phát biểu đúng cho hàm khởi tạo:
A. Một lớp sẽ kế thừa các hàm khởi tạo từ lớp cha
B. Trình biên dịch sẽ tự động tạo hàm khởi tạo mặc định nếu lớp không định nghĩa hàm khởi tạo
C. Tất cả các hàm khởi tạo có kiểu trả về là void
D. Tất cả các câu trên dều sai
-
Câu 31:
Cho đoạn mã sau, kết quả in lên màn hình là gì?
String s = new String(); System.out.println("s = " + s);
A. "s = "
B. "s = null"
C. Lỗi biên dịch
D. Lỗi thực thi
-
Câu 32:
Phương thức getPort() trong lớp DatagramPacket được sử dụng với mục đích gì?
A. Trả về số hiệu cổng chứa trong gói dữ liệu
B. Trả về nội dụng dữ liệu thật sự chứa trong gói dữ liệu
C. Trả về địa chỉ chứa trong gói dữ liệu
D. Trả về kích thước của gói chứa trong gói dữ liệu
-
Câu 33:
Để đăng ký đối tượng cho phép triệu gọi từ xa với RMI Registry có thể gọi phương thức nào sau đây?
A. naming()
B. registry()
C. register()
D. bind()
-
Câu 34:
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 35:
Giá trị mặc định cho một biến kiểu char là?
A. 0
B. 1
C. Nothing
D. null
-
Câu 36:
Mỗi gói dữ liệu trong lập trình mạng chứa thông tin gì?
A. Dữ liệu (data) và chiều dài gói (length)
B. Địa chỉ IP (address) và số cổng (port)
C. Cả hai phương án trên đều đúng
D. Cả hai phương án trên đều sai
-
Câu 37:
Trong Java, kiểu dữ liệu nào không phải là kiểu dữ liệu tham chiếu?
A. float
B. Array
C. String
D. BufferedReader
-
Câu 38:
Cho đoạn mã. Kết quả của đoạn mã là gì?
int a = 9/0;
A. Lỗi biên dịch
B. Lỗi thực thi
C. Không có lỗi, a có kết quả là NaN
D. Tất cả đều sai
-
Câu 39:
Câu lệnh khai báo biến : int i,j và float x,y; các phép gán dưới đây phép gán nào sai:
A. x = Float.parseFloat("0.123");
B. i = Integer.parseInteger("123");
C. y = Float.parseFloat("123");
D. j = Integer.parseInt("123");
-
Câu 40:
Phát biểu nào sau đây đúng nhất về 2 phương thức overloading?
A. Thuộc hai lớp khác nhau
B. Thuộc hai lớp có quan hệ kế thừa
C. Cùng tên khác danh sách đối số
D. Cùng tên khác kiểu trả về
-
Câu 41:
Cho biết kết quả của t sau khi thực hiện đoạn lệnh sau :
int i, t; for (i = 1, t = 0; i <= 5;) t = t + ++i; System.out.println("t = " + t);
A. 10
B. 15
C. 20
D. 25
-
Câu 42:
Cho biết kết quả sau khi thi hành chương trình sau:
public class Short { public static void main(String[] args) { StringBuffer s = new StringBuffer("Hello"); if ((s.length() > 5) && (s.append("there").equals("False"))); //do nothing System.out.println("value is : " + s); } };
A. Giá trị xuất là Hello
B. Lỗi biên dịch tại dòng 4 và 5
C. Không có giá trị xuất
D. Thông báo NullPointerException
-
Câu 43:
Bạn có thể tạo ra cửa sổ chính của ứng dụng bằng cách gọi
Frame f = new Frame("Main Frame");
Nhưng khi bạn chạy chương trình thì Frame không hiển thị. Dòng nào bên dưới sẽ làm hiển thị Frame
A. f.setSize(320,200);
B. f.setBounds(10,10,500,400);
C. f.setForeground(Color.white);
D. f.setVisible(true);
-
Câu 44:
Trong Java, đa kế thừa thực hiện bằng cách nào?
A. Thừa kế từ 2 hay nhiều lớp
B. Thừa kế từ 1 Interface và 1 hay nhiều lớp
C. Thừa kế từ 1 lớp và 1 hay nhiều Interface
D. Tất cả đều đúng
-
Câu 45:
Cho đoạn chương trình phía Server, chương trình giao tiếp qua mạng dùng cơ chế TCP. Chọn câu lệnh đúng nhất điền vào câu lệnh còn thiếu?
ServerSocket ssk = new ServerSocket(1234); Socket sk = ________________; //đoạn mã thiếu InputStream is = sk.getInputStream(); OutputStream out = sk.getOutputStream();
A. ssk.listen();
B. sk.accept()
C. sk.listen();
D. ssk.accept()
-
Câu 46:
Từ khoá nào khi thực thi sẽ tham khảo đến bản thân lớp chứa nó?
A. this
B. super
C. abstract
D. final
-
Câu 47:
Cho biết kết quả sau khi biên dịch và thi hành chương trình sau:
public class Conditional { public static void main(String[] args) { int x = 4; System.out.println("value is " + ((x > 4) ? 99.99 : 9)); } };
A. Kết quả là : value is 99.99
B. Kết quả là : value is 9
C. Kết quả là : value is 9.0
D. Lỗi biên dịch tại dòng 4
-
Câu 48:
Constructor là gì?
A. Các hàm có tên trùng với tên lớp và không có tham số.
B. Các hàm có tên trùng với tên lớp và không có kiểu dữ liệu của hàm.
C. Hàm có tên trùng với tên lớp, kiểu dữ liệu của hàm là void
D. Hàm có tên trùng tên lớp và có dấu ngã '~' trước tên hàm.
-
Câu 49:
Trong Java, kiểu dữ liệu nào không phải là kiểu dữ liệu tham chiếu?
A. Array
B. double
C. String
D. BufferedReader
-
Câu 50:
Chọn phát biểu đúng nhất:
A. (1) Lớp Writer có thể được dùng để ghi các ký tự có cách mã hóa khác nhau ra luồng xuất
B. (2) Lớp Writer có thể được dùng để ghi các ký tự Unicode ra luồng xuất
C. (3) Lớp Writer có thể được dùng để ghi giá trị các kiểu dữ liệu cơ sở ra luồng xuất
D. Câu (1) và (2) đúng