350 câu lập trình mạng

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 109

CÂU HỎI TRẮC NGHIỆM LẬP TRÌNH MẠNG CÓ ĐÁP ÁN - PHẦN 1

Bộ câu hỏi trắc nghiệm Lập trình mạng có đáp án phần 1 bao gồm 50 câu hỏi trắc
nghiệm Lập trình mạng đầy đủ nội dung cả lý thuyết và thực hành
Danh sách câu hỏi Đáp án

Câu 1. Chọn phát biểu đúng

A. InputStream và OutputStream là hai luồng dữ liệu kiểu byte

B. Reader và Writer là hai luồng dữ liệu kiểu character

C. Cả hai đều đúng.

D. Tất cả đều sai

Câu 2. 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 3. 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 4. 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 5. Khai báo nào sau đây là khai báo hợp lệ của một lớp abstract?

A. abstract class Vehicle { abstract void display(); }

B. class Vehicle { abstract void display(); }

C. abstract class Vehicle { abstract void display(System.out.println("Car"); }

D. abstract Vehicle { abstract void display(); }

Câu 6.
int x = 11;

int x = 11;
do {
x += 20;
} while ( x < 10 );

Cho đoạn mã sau đây. Đoạn mã trên lặp bao nhiêu lần?

A. 0

B. 1

C. 4

D. 5

Câu 7. Một chương trình JAVA có thể chạy trên bất kỳ hệ thống máy tính nào
có_________?

A. Hệ máy Intel

B. Trình biên dịch Java

C. Hệ điều hành Linux

D. Máy ảo Java

Câu 8.
int values[] = {

int values[] = {
1,
2,
3,
4,
5,
6,
7,
8
};

for (int i = 0; i < X; ++i)

System.out.println(values[i]);

Cho đoạn mã sau đây. Giá trị của X phải là bao nhiêu để đoạn mã in ra 4 phần tử
đầu tiên của mảng?

A. 1

B. 4

C. 8

D. Không có giá trị nào vì đoạn mã có lỗi.

Câu 9. Phát biểu nào sau đây SAI về từ khóa static?

A. Một thuộc tính static được dùng chung bởi tất cả các đối tượng thuộc lớp đó

B. Một phương thức static có thể được gọi mà không cần khởi tạo đối tượng

C. Từ khóa static không dùng trong khai báo lớp

D. Một phương thức static có thể sử dụng tất cả các biến trong lớp

Câu 10. Nếu biến chr có kiểu dữ liệu char (Character) thì câu lệnh if nào sau đây
đúng cú pháp?

A. if (chr = "a")

B. if (chr = 'a')
C. if (chr == "a")

D. if (chr == 'a')

Câu 11. Kết quả của biểu thức : 15 & 29 là bao nhiêu?

A. 12

B. 44

C. 14

D. 13

Câu 12.
int x = 12,

int x = 12,
y = 5,
z;
z = y--;
x += z;

Cho đoạn mã sau, khi thực hiện xong thì biến x có giá trị bao nhiêu?

A. 12

B. 15

C. 16

D. 17

Câu 13.
class StringBufferTest {

class StringBufferTest {
pulic static void main(String[] args) {
StringBuffer result = new StringBuffer();//(1)
StringBuffer s = null;//(2)
result.append(s);//(3)
result.insert(0, "123");//(4)
System.out.println(result);//(5)
}
}

Cho đoạn mã sau, Kết quả của đoạn mã là?

A. Lỗi biên dịch ở dòng số 3

B. Lỗi biên dịch ở dòng số 4

C. Lỗi biên dịch ở dòng số 1

D. In ra kết quả "123null"

Câu 14. Biểu thức trong câu lệnh switch KHÔNG được có kiểu dữ liệu nào?

A. char

B. byte

C. short

D. String

Câu 15.
String s;

String s;
System.out.println("s = " + s);

Cho đoạn mã sau, kết quả in ra màn hình là gì?

A. "s = null"

B. Lỗi thực thi

C. Lỗi biên dịch

D. "s = "

Câu 16. 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 17. Chọn phát biểu đúng

A. Lớp Class là lớp cha của lớp Object

B. Lớp Object là một lớp final

C. Mọi lớp đều kế thừa trực tiếp hoặc gián tiếp từ lớp Object

D. Tất cả các câu trên đều sai

Câu 18. Lớp nào sau đây dùng để thực hiện các thao tác nhập xuất cơ bản với
console

A. System

B. Math

C. String

D. StringBuffer

Câu 19. Lớp nào sau đây không phải là lớp bao?

A. String

B. Integer

C. Boolean

D. Character

Câu 20.
public class Question {

public class Question {


public static void main(String[] args) {
Boolean b = new Boolean("TRUE");
if (b) {
for (Integer i = 0; i < 10; i++) {
System.out.println(i);
}
}
}
}

Đoạn mã sau sai chỗ nào?

A. (1) Đoạn mã không có lỗi

B. (2) Điều kiện của câu lệnh if phải có kiểu boolean thay vì Boolean

C. (3) Chỉ số của câu lệnh for là int thay vì Integer

D. Câu (2) và (3) đúng

Câu 21. Phương thức nào sau đây sẽ làm cho giá trị biến s bị thay đổi

A. (1) s.concat()

B. (2) s.toUpperCase()

C. (3) s.replace()

D. câu (1) và (2) đúng

Câu 22.
public class S1 {

public class S1 {
public static void main(String[] args) {
new S2();
}
S1() {
System.out.print("S1");
}
}
class S2 extends S1 {
S2() {
System.out.print("S2");
}
}
Hãy cho biết kết xuất của đoạn chương trình sau :

A. S1

B. S2

C. S1S2

D. S2S1

Câu 23. 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 24.
class Question {

class Question {
String s = "Outer";
public static void main(String[] args) {
S2 s2 = new S2();
s2.display();
}
};
class S1 {
String s = "S1";
void display() {
System.out.print(s);
}
}
class S2 extends S1 {
String s = "S2";
}

Cho biết kết xuất của đoạn chương trình sau:


A. S1

B. S2

C. Null

D. S1S2

Câu 25. Một kiểu dữ liệu số có dấu có hai giá trị +0 và -0 bằng sau:

A. Đúng

B. Sai

C. Chỉ đúng với kiểu số nguyên

D. Chỉ đúng với kiểu số thực

Câu 26. Chọn khai báo tên biến đúng:

A. Big01LongStringWidthMeaninglessName

B. $int

C. bytes

D. Tất cả các câu đều đúng

Câu 27. Chọn khai báo đúng cho phương thức main

A. public static void main()

B. public void main(String[] arg)

C. public static void main(String[] args)

D. public static int main(String[] arg)

Câu 28. Chọn thứ tự đúng của các thành phần trong một tập tin nguồn

A. Câu lệnh import, khai báo package, khai báo lớp

B. Khai báo package đầu tiên; thứ tự câu lệnh import và khai báo lớp là tùy ý

C. Khai báo package, câu lệnh import, khai báo lớp


D. Câu lệnh import trước tiên;thứ tự của khai báo package và khai báo lớp là tùy ý

Câu 29.
int[] x = new int[25];

int[] x = new int[25];

Cho câu lệnh sau. Chọn kết quả đúng sau khi thi hành câu lệnh trên

A. x[24] chưa được định nghĩa

B. x[25] có giá trị 0

C. x[0] = có giá trị null

D. x.length = 25

Câu 30.
class Q6 {

class Q6 {
public static void main(String[] args) {
Holder h = new Holder();
h.held = 100;
h.bump(h);
System.out.println(h.held);
}
};
class Holder {
public int held;
public void bump(Holder theHolder) {
theHolder.held++;
}
}

Cho đoạn mã sau. Giá trị in ra của câu lệnh dòng thứ 6 là:

A. 0

B. 1
C. 100

D. 101

Câu 31.
class Q7 {

class Q7 {
public static void main(String[] args) {
double d = 12.3;
Decrement dec = new Decrement();
dec.decrement(d);
System.out.println(d);
}
};
class Decrement {
public void decrement(double decMe) {
decMe = decMe - 1.0;
}
}

Cho đoạn mã sau. Giá trị in ra của câu lệnh dòng thứ 6 là:

A. 0.0

B. -1.0

C. 12.3

D. 11.3

Câu 32. Miền giá trị của biến kiểu Short là:

A. Nó phụ thuộc vào nền phần cứng bên dưới

B. Từ 0 đến 2^16 - 1

C. Từ -2^15 đến 2^15 - 1

D. Từ -2^31 đến 2^31 - 1

Câu 33. Miền giá trị của biến kiểu byte là:

A. Nó phụ thuộc vào nền phần cứng bên dưới


B. Từ 0 đến 2^8 - 1

C. Từ -2^7 đến 2^7 - 1

D. Từ -2^15 đến 2^15 - 1

Câu 34.
int x,

int x,
a = 6,
b = 7;
x = a+++b++;

Cho biết giá trị của x, a và b sau khi thi hành đoạn mã sau:

A. x = 15, a = 7, b = 8

B. x = 15, a = 6, b = 7

C. x = 13, a = 7, b = 8

D. x = 13, a = 6, b = 7

Câu 35. Biểu thức nào sau đây là hợp lệ:

A. (1) int x = 6; x = !x;

B. (2) int x = 6; if (!(x>3)){}

C. (3) int x = 6; x = ~x;

D. Câu (2) và (3) đúng

Câu 36. Biểu thức nào sau đây cho x có giá trị dương:

A. int x = -1; x = x >>> 5;

B. int x = -1; x = x >>> 32;

C. byte x = -1; x = x >>> 5;

D. int x = -1; x = x >> 5;


Câu 37. Biểu thức nào sau đây hợp lệ

A. String x = "Hello"; int y = 9; x+=y;

B. String x = "Hello"; int y = 9; x= x + y;

C. String x = null; int y = (x != null) && (x.length>0)?x.length():0;

D. Tất cả các câu đều đúng

Câu 38. Đoạn mã nào sau đây in ra màn hình chữ "Equal":

A. int x = 100; float y = 100.0F; if (x == y) { System.out.println("Equal"); }

B. Integer x = new Integer(100); Integer y = new Integer(100); if (x == y)


{ System.out.println("Equal"); }

C. String x = "100"; String y = "100"; if (x == y) { System.out.println("Equal"); }

D. Câu A và C đúng

Câu 39.
public class Short {

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);
}
};

Cho biết kết quả sau khi thi hành chương trình sau:

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 40.
public class Xor {

public class Xor {


public static void main(String[] args) {
byte b = 10;
byte c = 15;
b = (byte)(b ^ c);
System.out.println("b contains " + b);
}
};

Cho biết kết quả sau khi thực hiện chương trình sau:

A. Kết quả là : b contains 10

B. Kết quả là : b contains 5

C. Kết quả là : b contains 250

D. Kết quả là : b contains 245

Câu 41.
public class Conditional {

public class Conditional {


public static void main(String[] args) {
int x = 4;
System.out.println("value is " + ((x > 4) ? 99.99 : 9));
}
};

Cho biết kết quả sau khi biên dịch và thi hành chương trình sau:

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 42.
int x = 3;

int x = 3;
int y = 10;
System.out.println(y % x);

Cho biết kết quả của đoạn mã sau :

A. 0

B. 1

C. 2

D. 3

Câu 43. Chọn câu khai báo không hợp lệ:

A. string s;

B. abstract double d;

C. abstract final double hyperbolConsine();

D. Tất cả các câu đều đúng

Câu 44. Chọn câu phát biểu đúng:

A. Một lớp trừu tượng không thể chứa phương thức final

B. Một lớp final không thể chứa các phương thức trừu tượng

C. Cả hai đều đúng

D. Cả hai đều sai

Câu 45.
final class Aaa {

final class Aaa {


int xxx;
void yyy() {
xxx = 1;
}
}

class Bbb {
final Aaa finalRef = new Aaa();

final void yyy() {


System.out.println("In method yyy()");
finalRef.xxx = 12345;
}
};

Chọn cách sửa ít nhất để đoạn mã sau biên dịch đúng:

A. Xóa từ final ở dòng 1

B. Xóa từ final ở dòng 10

C. Xóa từ final ở dòng 1 và 10

D. Không cần phải chỉnh sửa gì

Câu 46.
final class Aaa {

final class Aaa {


int xxx;
void yyy() {
xxx = 1;
}
}

class Bbb {
final Aaa finalRef = new Aaa();

final void yyy() {


System.out.println("In method yyy()");
finalRef.xxx = 12345;
}
};

Chọn phát biểu đúng cho chương trình sau:


A. Lỗi biên dịch tại dòng 5 và 12 bởi vì thiếu tên phương thức và kiểu trả về

B. Chương trình chạy và cho kết quả x = 10

C. Chương trình chạy và cho kết quả x = 15

D. Chương trình chạy và cho kết quả x = 3

Câu 47.
class HasStatic {

class HasStatic {
private static int x = 100;
public static void main(String[] args) {
HasStatic hs1 = new HasStatic();
hs1.x++;
HasStatic hs2 = new HasStatic();
hs2.x++;
hs1 = new HasStatic();
hs1.x++;
HasStatic.x++;
System.out.println("x = " + x);
}
};

Chọn phát biểu đúng cho chương trình sau:

A. Chương trình chạy và cho kết quả x = 102

B. Chương trình chạy và cho kết quả x = 103

C. Chương trình chạy và cho kết quả x = 104

D. Tất cả các câu đều sai

Câu 48.
class SuperDupper {

class SuperDupper {
void aMethod() {}
}

class Sub extends SuperDupper {


void aMethod() {}
}

Cho đoạn mã sau. Hãy chọn từ khóa chỉ phạm vi hợp lệ đứng trước aMethod() ở
dòng 8

A. default

B. protected

C. public

D. Tất cả các câu đều đúng

Câu 49.

byte b = 5;

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;

Dòng lệnh nào sau đây sẽ không thể biên dịch :

A. Dòng 3

B. Dòng 4

C. Dòng 5

D. Dòng 6

Câu 50.
byte b = 2;
byte b = 2;
byte b1 = 3;
b = b * b1;

Chọn dòng phát sinh lỗi khi biên dịch

A. Dòng 1

B. Dòng 2

C. Dòng 3

D. Tất cả đều đúng


ĐÁP ÁN BỘ CÂU HỎI TRẮC NGHIỆM LẬP TRÌNH MẠNG CÓ ĐÁP ÁN - PHẦN 1

Câu Đáp án Câu Đáp án

Câu 1 C Câu 26 D

Câu 2 A Câu 27 C

Câu 3 C Câu 28 C

Câu 4 D Câu 29 D

Câu 5 A Câu 30 D

Câu 6 B Câu 31 C

Câu 7 D Câu 32 C

Câu 8 B Câu 33 C

Câu 9 D Câu 34 C

Câu 10 D Câu 35 D

Câu 11 D Câu 36 A

Câu 12 D Câu 37 D

Câu 13 D Câu 38 D

Câu 14 D Câu 39 A

Câu 15 C Câu 40 B

Câu 16 C Câu 41 C

Câu 17 C Câu 42 B

Câu 18 A Câu 43 D

Câu 19 A Câu 44 B

Câu 20 D Câu 45 A

Câu 21 D Câu 46 D

Câu 22 C Câu 47 C

Câu 23 B Câu 48 D

Câu 24 A Câu 49 D

Câu 25 B Câu 50 C
CÂU HỎI TRẮC NGHIỆM LẬP TRÌNH MẠNG CÓ ĐÁP ÁN - PHẦN 2
Bộ câu hỏi trắc nghiệm Lập trình mạng có đáp án phần 2 bao gồm 50 câu hỏi trắc
nghiệm Lập trình mạng đầy đủ nội dung cả lý thuyết và thực hành
Danh sách câu hỏi Đáp án
Câu 1.
byte b = 11;

byte b = 11;
short s = 13;
result = b * ++s;

Trong đoạn mã sau kiểu dữ liệu của biến result có thể là những kiểu nào?

A. byte, short, int, long, floart, double

B. boolean, byte, short, char, int, long, float, double

C. byte, short, char, int, long, float, double

D. int, long, float, double

Câu 2.
class Cruncher {

class Cruncher {
void cruncher(int i) {
System.out.println("int version");
}
void crunch(String s) {
System.out.println("String version");
}

public static void main(String[] args) {


Cruncher crun = new Cruncher();
char ch = ''
p '';
crun.crunch(ch);
}
}

Cho đoạn chương trình sau:

A. Dòng 5 sẽ không biên dịch vì phương thức trả về kiểu void không để overidde

B. Dòng 12 sẽ không biên dịch vì không có phiên bản nào của phương thức crunch()
nhận vào tham số kiểu char
C. Đoạn mã biên dịch được nhưng sẽ phát sinh Exception ở dòng 12

D. Chương trình chạy và in kết quả int version

Câu 3. Chọn phát biểu đúng

A. Tham chiếu của đối tượng có thể được chuyển đổi trong phép gán nhưng không thể
thực hiện trong phép gọi phương thức

B. Tham chiếu của đối tượng có thể được ép kiểu trong phép gọi phương thức nhưng
không thể thực hiện trong phép gán

C. Tham chiếu của đối tượng có thể được chuyển đổi trong phép gọi phương thức và
phép gán nhưng phải tuân theo những quy tắc khác nhau

D. Tham chiếu của đối tượng có thể được chuyển đổi trong phép gọi phương thức và
phép gán và tuân theo những quy tắc giống nhau

Câu 4.
Object ob = new Object();

Object ob = new Object();


String stringarr[] = new String[50];
Float floater = new Float(3.14f);
ob = stringarr;
ob = stringarr[5];
floater = ob;
ob = floater;

Cho đoạn mã như bên dưới. Hãy cho biết dòng nào không thể biên dịch

A. Dòng 4

B. Dòng 5

C. Dòng 6

D. Dòng 7

Câu 5.
Dog rover,

Dog rover,
fido;
Animal anim;
rover = new Dog();
anim = rover;
fido = (Dog) anim;

Cho đoạn mã sau đây. Hãy chọn phát biểu đúng

A. Dòng 5 không thể biên dịch

B. Dòng 6 không thể biên dịch

C. Đoạn mã biên dịch thành công nhưng sẽ phát sinh Exception tại dòng 6

D. Đoạn mã biên dịch thành công và có thể thi hành

Câu 6.
Cat sunflower;

Cat sunflower;
Washer wawa;
SwampThing pogo;

sunflower = new Cat();


wawa = sunflower;
pogo = (SwampThing) wawa;

Cho đoạn mã sau đây. Hãy chọn phát biểu đúng

A. Dòng 6 không thể biên dịch; cần có một phép ép kiểu để chuyển từ kiểu Cat sang
kiểu Washer

B. Dòng 7 không thể biên dịch vì không thể ép từ kiểu interface sang kiểu class

C. Đoạn mã sẽ dịch và chạy nhưng phép ép kiểu ở dòng 7 là thừa và có thể bỏ đi

D. Đoạn mã biên dịch thành công nhưng sẽ phát sinh Exception ở dòng 7 vì kiểu lớp
của đối tượng trong biến wawa lúc thi hành không thể chuyển sang kiểu SwampThing

Câu 7.
Racoon rocky;

Racoon rocky;
SwampThing pogo;
Washer w;

rocky = new Racoon();


w = rocky;
pogo = w;

Cho đoạn mã sau. Chọn câu đúng

A. Dòng 6 sẽ không biên dịch; cần phải có phép ép kiểu để chuyển từ kiểu Racoon
sang kiểu Washer

B. Dòng 7 sẽ không biên dịch; cần có phép ép kiểu để chuyển từ kiểu Washer sang
kiểu SwampThing

C. Đoạn mã sẽ biên dịch nhưng sẽ phát sinh Exception ở dòng 7 vì chuyển đổi kiểu khi
thực thi từ interface sang class là không được phép

D. Đoạn mã sẽ biên dịch và sẽ phát sinh Exception ở dòng 7 vì kiểu lớp của w tại thời
điểm thực thi không thể chuyển sang kiểu SwampThing

Câu 8.
for (int i = 0; i < 2; i++) {

for (int i = 0; i < 2; i++) {


for (int j = 0; j < 3; j++) {
if (i == j) {
continue;
}
System.out.println("i = " + i + "j = " + j);
}
}

Cho đoạn mã sau. Dòng nào sẽ là một trong số các kết quả được in ra?

A. i = 0 j = 0

B. i = 2 j = 1

C. i = 0 j = 2

D. i = 1 j = 1

Câu 9.
outer: for (int i = 0; i < 2; i++) {

outer: for (int i = 0; i < 2; i++) {


for (int j = 0; j < 3; j++) {
if (i == j) {
continue outer;
}
System.out.println("i = " + i + " j = " + j);
}
}

Cho đoạn mã sau. Dòng nào sẽ là một trong số các kết quả được in ra?

A. i = 0 j = 0

B. i = 0 j = 1

C. i = 0 j = 2

D. i = 1 j = 0

Câu 10. Chọn vòng lặp đúng:

A. while (int i < 7) { i++; System.out.println("i is " + i); }

B. int i = 3; while (i) { System.out.println("i is " + i); }

C. int j = 0; for (int k = 0; j + k != 10; j++, k++) { System.out.println("j is " + j + " k is " +
k); }

D.int j = 0; do { System.out.println("j is " + j++); if (j == 3) { continue loop; } } while ( j <


10 );

Câu 11.
int x = 0,

int x = 0,
y = 4,
z = 5;
if (x > 2) {
if (y < 5) {
System.out.println("message one");
}
else {
System.out.println("message two");
}
}
else if (z > 5) {
System.out.println("message three");
}
else {
System.out.println("message four");
}

Cho biết kết xuất của đoạn mã sau:

A. message one

B. message two

C. message three

D. message four

Câu 12.
int j = 2;

int j = 2;
switch (j) {
case 2:
System.out.println("value is two");
case 2 + 1 : System.out.println("value is three");
break;
default:
System.out.println("value is " + j);
break;
}

Chọn phát biểu đúng cho đoạn mã sau:

A. Đoạn mã không hợp lệ bởi biểu thức ở dòng 5

B. Biến j trong cấu trúc switch() có thể là một trong các kiểu : byte, short, int hoặc long

C. Kết xuất của chương trình chỉ là dòng : value is two

D. Kết xuất của chương trình chỉ là dòng : value is two và value is three

Câu 13.
int a = 9/0;

int a = 9/0;

Cho đoạn mã. Kết quả của đoạn mã là gì?

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 14.
class A {

class A {
static int b = 1;
public static void main(String[] args) {
System.out.println("b is " + b);
}
}

Cho đoạn chương trình sau. Kết quả của đoạn chương trình là?

A. Lỗi biên dịch

B. Lỗi thực thi

C. Không có lỗi, in ra "b is 1"

D. Tất cả đáp án đều sai

Câu 15.
class A {

class A {
int b = 1;
public static void main(String[] args) {
System.out.println("b is " + b);
}
}

Cho đoạn chương trình sau. Kết quả của đoạn chương trình là?

A. Lỗi biên dịch

B. Lỗi thực thi

C. Không có lỗi, in ra "b is 1"

D. Tất cả đáp án đều sai


Câu 16. Nếu String name = "Bui \n Tien \n Truong"; thì câu lệnh name.length(); sẽ
trả về bao nhiêu?

A. 18

B. 19

C. 20

D. 21

Câu 17. Tên biến nào sau đây là tên biến hợp lệ?

A. Int

B. char

C. case

D. 1MyNumber

Câu 18.
int numbers[] = {

int numbers[] = {
2,
1,
4,
3
};
int w = numbers[1] / numbers[2];

Cho đoạn mã sau, khi đoạn mã thực hiện xong, biến w có giá trị bao nhiêu?

A. 0

B. 0.25

C. 2

D. 1

Câu 19. Nếu muốn sinh ra một số nguyên ngẫu nhiên từ 1->6, biểu thức nào sau
đây được dùng?

A. (int)(Math.random()*6)+1
B. (int)(Math.random()*6)

C. (int)(Math.random()+6)

D. Math.random()*6

Câu 20. Để so sánh nội dung của 2 chuỗi, ta dùng phương thức nào sau đây?

A. equals()

B. equal()

C. isEquals()

D. isEqual()

Câu 21. Giá trị của biểu thức sau trong Java là bao nhiêu: 100 % 24 / 3

A. 1.3333333333333333

B. 0

C. 1

D. 2

Câu 22. 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 23.
double[] a = {

double[] a = {
0.1,
0.2,
0.3
};
double[] b = {
0.1,
0.2,
0.3
};

Giả sử a và b được định nghĩa như sau. Kết quả của biểu thức a==b là gì?

A. Lỗi biên dịch

B. false

C. true

D. Lỗi thực thi

Câu 24. Khai báo nào sau đâu là một định danh (identifier) hợp lệ?

A. 1_4_all

B. oneForAll

C. 1ForAll

D. 1forall

Câu 25. Muốn khai báo hằng số PI trong Java thì dùng câu lệnh nào sau đây?

A. final constant double PI = 3.14159;

B. final PI = 3.14159;

C. final double PI = 3.14159;

D. constant double PI = 3.14159;

Câu 26. Nếu String name = "HA NOI"; thì câu lệnh name.length(); sẽ trả về bao
nhiêu?

A. 5

B. 6

C. 7

D. 8
Câu 27. Khi khai báo một lớp, từ khóa nào đi ngay trước tên lớp

A. static

B. class

C. Public

D. Abstract

Câu 28. 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 29. Định nghĩa một mảng 2 chiều, cách nào sau đây không đúng?

A. ouble[][] values = new double[][8];

B. double[][] values = new double[2][0];

C. double[][] values = new double[8][];

D. double[][] values = new double[2][8];

Câu 30. Lỗi xảy ra trong quá trình biên dịch từ tập tin nguồn (.java) sang tập tin
bytecode (.class) được gọi là?

A. Lỗi luận lý

B. Lỗi thực thi

C. Tất cả đều sai

D. Lỗi cú pháp

Câu 31. Trong Java, tham số kiểu nguyên của một phương thức sẽ được truyền

A. Theo tham chiếu

B. Tùy vào trường hợp


C. Theo tham trị

D. Tất cả đều sai

Câu 32. Giá trị của biến y sau khi thực hiện biểu thức y = (4 > 0) ? 1 : -1; là bao
nhiêu?

A. 1

B. -1

C. True

D. False

Câu 33. Phát biểu nào sau đây đúng nhất về 2 phương thức overriding?

A. Cùng tên khác kiểu trả về

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. Thuộc cùng một lớp

Câu 34. Từ nào không phải là từ khóa trong Java?

A. class

B. void

C. Public

D. static

Câu 35.
int i = 10;

int i = 10;
int newNum = 10 * (++i);

Cho đoạn mã sau, Sau khi thực hiện xong đoạn mã, biến newNum có giá trị bao
nhiêu?

A. 20
B. 21

C. 100

D. 110

Câu 36. Lớp String thuộc package

A. java.util

B. java.lang

C. javax.uti

D. java.string

Câu 37. Để tham chiếu đến phương thức trong lớp cơ sở, ta dùng từ khóa nào
sau đây?

A. subclass

B. this

C. parent

D. super

Câu 38. Muốn khai báo một thuộc tính trong một lớp được chia sẻ bởi tất cả các
đối tượng thuộc lớp đó thì dùng từ khóa nào sau đây?

A. shared

B. all

C. unique

D. static

Câu 39. Kết quả của biểu thức 25/4 là bao nhiêu?

A. 7

B. 7.0

C. 6
D. 6.0

Câu 40. Để chuyển một chuỗi chứa giá trị nguyên (String) sang một số nguyên
(int) thì sẽ dùng phương thức nào sau đây?

A. toInteger()

B. parseInt()

C. toInt()

D. parseInteger()

Câu 41.
System.out.println(""+x+y);

System.out.println(""+x+y);

Đoạn mã sau sẽ in ra giá như thế nào nếu x và y là kiểu int, x=10 và y=5

A. 10 5

B. Báo lỗi

C. 15

D. 105

Câu 42. 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 43. 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 44. Trong Java, để đọc dữ liệu từ bàn phím vào dùng lớp nào sau đây?

A. Scanner

B. Scaner

C. ScanReader

D. ScanerReader

Câu 45. Trong Java, các câu lệnh xử lý Exception sẽ được đặt trong khối nào?

A. try

B. catch

C. finally

D. Exception

Câu 46. Câu lệnh nào sau đây sẽ KHÔNG phát sinh ra lỗi biên dịch?

A. char your_char = "int";

B. char what_char = "L"

C. char ok = '\u3456';

D. char what = ''Hello''

Câu 47. Cho biểu thức: x = ++a + b++; với a = 5 và b = 8, giá trị của biến x là bao
nhiêu sau khi thực hiện câu lệnh trên?

A. 13

B. 14

C. 15

D. Lỗi biên dịch

Câu 48. Phát biểu nào sau đây đúng?

A. Một lớp có thể kế thừa từ nhiều lớp khác bằng cách dùng từ khoá extends
B. Một lớp có thể thừa kế từ nhiều interface khác bằng cách dùng từ khoá extends

C. Một interface có thể thừa kế từ nhiều interface bằng cách dùng từ khoá extends

D. Tất cả các phát biểu đều sai

Câu 49. Từ khóa static KHÔNG được áp dụng cho thành phần nào sau đây?

A. Lớp (class)

B. Thuộc tính (data field)

C. Phương thức (Method)

D. Tất cả đều dùng được

Câu 50. Cho đoạn mã sau: short s = 5L; Phát biểu nào sau đây đúng với đoạn mã
trên?

A. Lỗi Biên Dịch

B. Lỗi Thực Thi

C. Không Có Lỗi

D. Mất Độ Chính Xác (loss of accuracy)


ĐÁP ÁN BỘ CÂU HỎI TRẮC NGHIỆM LẬP TRÌNH MẠNG CÓ ĐÁP ÁN - PHẦN 2
Câu Đáp án Câu Đáp án

Câu 1 D Câu 26 B

Câu 2 D Câu 27 B

Câu 3 D Câu 28 C

Câu 4 C Câu 29 A

Câu 5 D Câu 30 D

Câu 6 D Câu 31 C

Câu 7 B Câu 32 A

Câu 8 C Câu 33 B

Câu 9 D Câu 34 C

Câu 10 C Câu 35 D

Câu 11 D Câu 36 B

Câu 12 D Câu 37 D

Câu 13 B Câu 38 D

Câu 14 C Câu 39 C

Câu 15 A Câu 40 B

Câu 16 B Câu 41 D

Câu 17 A Câu 42 A

Câu 18 A Câu 43 B

Câu 19 A Câu 44 A

Câu 20 A Câu 45 B

Câu 21 C Câu 46 C

Câu 22 C Câu 47 B

Câu 23 B Câu 48 C

Câu 24 B Câu 49 D

Câu 25 C Câu 50 A
CÂU HỎI TRẮC NGHIỆM LẬP TRÌNH MẠNG CÓ ĐÁP ÁN - PHẦN 3
Bộ câu hỏi trắc nghiệm Lập trình mạng có đáp án phần 3 bao gồm 50 câu hỏi trắc
nghiệm Lập trình mạng đầy đủ nội dung cả lý thuyết và thực hành
Danh sách câu hỏi Đáp án
Câu 1.
submarine.dive(depth);

submarine.dive(depth);

Cho đoạn mã sau trong một chương trình Java. Chọn phát biểu đúng

A. dive phải là tên thuộc tính

B. depth phải có kiểu dữ liệu int

C. submarine là tên của một lớp

D. dive phải là một phương thức

Câu 2.
int[] x = {

int[] x = {
1,
2,
3,
4,
5
};
int[] y = x;
System.out.println("s=" + y[2]);

Cho đoạn mã sau. Sau khi thực hiện, giá trị của y[2] là bao nhiêu?

A. 1

B. 2

C. 3

D. 4

Câu 3.
int[] x = {
int[] x = {
1,
2,
3,
4,
5
};
int[] y = x;
y[2] = 10;
System.out.println("s=" + x[2]);

Cho đoạn mã sau. Sau khi thực hiện x[2] bằng bao nhiêu?

A. 1

B. 3

C. 5

D. 10

Câu 4. Phương thức read() của lớp InputStream trả về kết quả gì?

A. Số byte nhận (đọc) được

B. Mảng các byte dữ liệu nhận (đọc) được

C. Chuỗi (String) dữ liệu nhận (đọc) được

D. Không trả về gì cả

Câu 5.
short s = 9;

short s = 9;
int i = 10;
s = i;

Cho đoạn mã sau. Phát biểu nào sau đây đúng với đoạn mã trên?

A. Lỗi Thực Thi

B. Lỗi Biên Dịch

C. Không Có Lỗi
D. Mất độ chính xác dữ liệu

Câu 6.
short s = 9;

short s = 9;
int i = 10;
i = s;

Cho đoạn mã sau. Phát biểu nào sau đây đúng với đoạn mã trên?

A. Lỗi biên dịch

B. Lỗi thực thi

C. Mất độ chính xác

D. Không có lỗi

Câu 7.
String st1[] = {

String st1[] = {
"so1",
"so2",
"so3"
};
String st2[] = st1;
st2[2] = "so4";

Cho đoạn mã sau. Hãy cho biết kết quả của st1[2] khi thực thi đoạn lệnh trên?

A. so1

B. so2

C. so3

D. so4

Câu 8. Để chuyển đổi kiểu dữ liệu số nguyên (int) thành một chuỗi chứa giá trị
nguyên (String) thì sử dụng phương thức nào?

A. valueOf()

B. convert()
C. equals()

D. CompareTo()

Câu 9. Câu lệnh nào sau đây hợp lệ?

A. int x = 9;

B. int y =!x;

C. double z = 9.00>>2

D. int i = ^7

Câu 10. Phát biểu nào sau đây là đúng?

A. Một phương thức final thì không thể Override

B. Một lớp có chứa phương thức final sẽ không cho phép thừa kế

C. Một biến final chỉ có thể khai báo trong một lớp final

D. Một biến final chỉ có thể khai báo trong một lớp final

Câu 11. Khai báo nào sau đây sẽ không gây ra lỗi biên dịch?

A. abstract int i;

B. native MyMethod();

C. default class MyClass {};

D. abstract final class MyClass {};

Câu 12.
try {

try {
int i = Integer.parseInt("one");
}

Cho đoạn mã sau. Khối lệnh trên sẽ phát sinh Exception gì?

A. ClassCastException

B. illegalStateException
C. NumberFormatException

D. ArrayIndexOutOfBoundsException

Câu 13.
int[] a = {

int[] a = {
1,
2,
3,
4,
5,
6,
7,
8
};
for (int i = 0; i < M; i++) {
System.out.println(String.valueOf(a[i]));
}

Cho đoạn mã sau. Giá trị M là bao nhiêu để đoạn mã in ra tất cả các giá trị của
mảng

A. 1

B. 7

C. 8

D. Không có giá trị nào vì đoạn mã bị lỗi

Câu 14. Cho đoạn mã sau. Kết quả đoạn mã trên là ?

A. Hello,

B. Truongbt

C. Hello, Truongbt

D. Lỗi biên dịch

Câu 15. Lớp Bao (Wrapper Class) nằm trong gói package nào?

A. java.io
B. java.lang

C. java.math

D. java.net

Câu 16.
int a = 6,

int a = 6,
b = 7;
System.out.println((a > b) ? 10 : 9);

Cho đoạn mã sau đây. Sau khi thực hiện, kết quả in lên màn hình là bao nhiêu?

A. 9

B. 9.0

C. 10

D. 10.0

Câu 17.
int a = 6,

int a = 6,
b = 2;
System.out.println((a > b) ? 10 : 9.0);

Cho đoạn mã sau đây. Sau khi thực hiện, kết quả in lên màn hình là bao nhiêu?

A. 9

B. 9.0

C. 10

D. 10.0

Câu 18. Để chuyển đổi một chuỗi số sang dạng số thực, ta sử dụng phương thức
nào sau đây

A. Integer.parseInt()

B. Float.parseFlt()
C. Double.parseDbl()

D. Double.parseDouble()

Câu 19.
if ("String".toString() == "String") System.out.println("Equal");

if ("String".toString() == "String") System.out.println("Equal");


else System.out.println("Not Equal");

Cho đoạn lệnh sau đây. Cho biết kết quả khi thực thi chương trình

A. Equal

B. Not Equal

C. Lỗi Biên Dịch

D. Lỗi Thực Thi

Câu 20.
class tbt {

class tbt {
public static void main(String args[]) {
System.out.println("In first main()");
}
public static void main(char args[]) {
System.out.println(''
a '');
}
}

Cho chương trình sau đây. Hãy cho biết kết quả sau khi thực thi chương trình ?

A. Biên dịch có lỗi và đưa ra lỗi "Duplicate main() method declare"

B. Biên dịch thành công nhưng sẽ đưa ra lỗi xảy ra ngoại lệ khi chạy

C. Biên dịch thành công và in ra màn hình "In first main()"

D. Biên dịch thành công và in ra màn hình "a"

Câu 21.
final int i = 100;
final int i = 100;
byte b = i;
System.out.println(b);

Cho đoạn mã sau đây. Hãy cho biết kết quả khi thực thi

A. Lỗi Cú Pháp

B. Lỗi Luận Lý

C. 100

D. 100.0

Câu 22.
String s1[] = new String[5];

String s1[] = new String[5];


String str = s1[0].toUpperCase();
System.out.println(str);

Cho đoạn mã sau đây. Hãy cho biết kết quả khi thực thi đoạn lệnh trên ?

A. Đưa ra ngoại lệ NullPointException

B. Sẽ in ra giá trị null

C. Sẽ không thực thi được chương trình

D. Sẽ in ra giá trị NULL

Câu 23.
public class TBT {

public class TBT {


public void method(Object o) {
System.out.println("Object Verion");
}
public void method(String s) {
System.out.println("String Version");
}
public static void main(String args[]) {
TBT question = new TBT();
question.method(null);
}
}

Cho chương trình sau.Cho biết kết quả sau khi thực thi chương trình trên?

A. Đoạn mã không biên dịch

B. Biên dịch thành công và hiển thị kết quả "String Version"

C. Biên dịch thành công và hiển thị kết quả "Object Verion"

D. Đoạn mã xảy ra ngoại lệ Exception khi thực hiện

Câu 24.
int i = 5,

int i = 5,
sum = 0;
while (i > 0) {
i--;
sum = sum + i;
}

Cho đoạn mã lệnh sau. Hãy cho biết giá trị của sum sau khi thực hiện xong đoạn
lệnh trên?

A. 8

B. 10

C. 12

D. 15

Câu 25. Để khai báo chuỗi, hay cho biết khai báo nào sau đây bị lỗi?

A. String st = new String();

B. String str2 = new String("Hello");

C. String st = String();

D. String st3 = "Bai thi";

Câu 26.
int anar[] = new int[5];

int anar[] = new int[5];


System.out.println(anar[0]);

Cho đoạn mã sau. Sau khi thực hiện đoan lệnh trên, có kết quả ra sao?

A. 0

B. 5

C. null

D. Lỗi : mảng anar được tham chiếu đến trước khi khởi tạo

Câu 27.
static int i;

static int i;
public static void main(String args[]) {
System.out.println(i);
}

Cho đoạn mã sau. Hãy cho biết kết quả sau khi biên dịch và thực thi đoạn lệnh
trên?

A. 1

B. 0

C. null

D. Lỗi do chưa khởi tạo giá trị cho biến i

Câu 28. 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 29. 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 30. Phương thức loại nào trong các loại sau không được quyền truy cập đến
để thay đổi trong Java?

A. private

B. private

C. public

D. private protected

Câu 31.
class C2 {

class C2 {
public static void main(String args[]) {
int k = 50;
IncValue inc = new IncValue();
System.out.println("result = " + inc.increment(k));
System.out.println("k = " + k);
}
}
class IncValue {
public int increment(int v) {
int z = v + 10;
v = v - 3;
return z;
}
}

Cho biết kết quả sau khi thực thi đoạn chương trình sau :

A. result = 60 và k = 50

B. result = 50 và k = 50

C. result = 47 và k = 50
D. result = 60 và k = 47

Câu 32.
class C3 {

class C3 {
private static int z = 10;
private int t = 100;
public static void main(String args[]) {
C3 obj1 = new C3();
obj1.z++;
obj1.t++;
C3.t--;
C3.z--;
System.out.println(" t = " + C3.t);
System.out.println(" z = " + z);
}
}

Cho đoạn chương trình sau. Hãy cho biết chương trình có lỗi hay không, nếu có
thì sửa chữa thế nào để chương trình có thể biên dịch :

A. Sửa lại dòng số 8 thành obj1.t --;

B. Sửa lại dòng số 10 thành System.out.println ( " t = " + obj1.t );

C. Phải sửa cả hai dòng 8 và 10 từ C3.t thành obj1.t

D. Chương trình không có lỗi

Câu 33. 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 : Không cho phép các lớp khác truy xuất mà chỉ có thể được truy xuất từ
chính đối tượng đó?

A. pulic

B. private

C. protected

D. static

Câu 34. 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 : Chỉ cho phép bản thân lớp đó và lớp dẫn xuất từ nó mới truy xuất được?

A. public
B. private

C. protected

D. static

Câu 35. 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 36.
class Value {

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);
}
}

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?
A. 0 15 20

B. 15 0 20

C. 20 0 15

D. 20 15 0

Câu 37.
import java.io. * ;

import java.io. * ;
import java.io. * ;
class TBT {
static BufferedReader buf = new BufferedReader(new
InputStreamReader(System. in ));
public static void main(String args[]) {
String m = new String();
float x;
m = buf.readLine();
try {
x = Float.parseFloat(m);
} catch(Exception e) {}
}
}

Cho đoạn chương trình sau:

A. Không thể chuyển đổi một chuỗi sang số thực

B. Biến m,x khai báo trong phương thức main

C. Luồng nhập đặt ngoài cặp lệnh try...catch

D. Biến m,x không khai báo static

Câu 38. 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 39.
String s = new String();

String s = new String();


System.out.println("s = " + s);

Cho đoạn mã sau, kết quả in lên màn hình là gì?

A. "s = "

B. "s = null"

C. Lỗi biên dịch

D. Lỗi thực thi

Câu 40.
String st = "0123\u456789";

String st = "0123\u456789";
System.out.println(st.length());

Cho đoạn mã sau. Sau khi thực thi, kết quả in lên màn hình là bao nhiêu?

A. 6

B. 7

C. 8

D. 9

Câu 41. Trong ngôn ngữ Java, ta không thể chuyển biến kiểu int và biến kiểu
boolean như trong ngôn ngữ C/C++. Đúng hay Sai?

A. Đúng

B. Sai

Câu 42. Giá trị mặc định cho một biến kiểu char là?

A. 0

B. 1

C. Nothing
D. null

Câu 43.
int i,

int i,
t;
for (i = 1, t = 0; i <= 5;)
t = t + ++i;
System.out.println("t = " + t);

Cho biết kết quả của t sau khi thực hiện đoạn lệnh sau :

A. 10

B. 15

C. 20

D. 25

Câu 44.
int i,

int i,
t;
for (i = 1, t = 0; i <= 5; i++)
t = t + i;
System.out.println("t = " + t);

Cho biết kết quả của t sau khi thực hiện đoạn lệnh sau

A. 10

B. 15

C. 20

D. 25

Câu 45.
int i;

int i;
for (i = 10; i <= 99; i++)
if ((i / 10) / (i % 10) == 2) System.out.print("\t " + i);
Cho biết kết quả sau khi thực hiện đoạn lệnh sau:

A. Lỗi Biên Dịch

B. Lỗi Thực Thi

C. Không hiển thị gì

D. 21 42 63 84

Câu 46.
int numbers[] = {

int numbers[] = {
2,
1,
4,
3
};
int w = numbers[1] % numbers[2];

Cho đoạn mã sau, khi thực hiện xong,biến w có giá trị bằng bao nhiêu?

A. 0

B. 0.25

C. 1

D. 2

Câu 47.
ServerSocket ssk = new ServerSocket(1234);

ServerSocket ssk = new ServerSocket(1234);


Socket sk = ________________; //đoạn mã thiếu
InputStream is = sk.getInputStream();
OutputStream out = sk.getOutputStream();

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?

A. ssk.listen();
B. sk.accept()

C. sk.listen();

D. ssk.accept()

Câu 48. Các giao thức TCP, UDP thuộc tầng ứng dụng nào trong mô hình OSI?

A. Network

B. Application

C. Presentation

D. Transport

Câu 49. Lớp nào sau đây chỉ dùng trong chương trình Server mà không dùng
trong chương trình Client?

A. Socket

B. InputStream

C. OutputStream

D. ServerSocket

Câu 50. Khi truyền nhận dữ liệu cần độ tin cậy cao thì nên dùng giao thức nào?

A. UDP

B. TCP

C. TCP hoặc UDP

D. Tất cả đều sai


ĐÁP ÁN BỘ CÂU HỎI TRẮC NGHIỆM LẬP TRÌNH MẠNG CÓ ĐÁP ÁN - PHẦN 3
Câu Đáp án Câu Đáp án

Câu 1 D Câu 26 A

Câu 2 C Câu 27 B

Câu 3 D Câu 28 B

Câu 4 A Câu 29 A

Câu 5 B Câu 30 A

Câu 6 D Câu 31 A

Câu 7 D Câu 32 C

Câu 8 A Câu 33 B

Câu 9 A Câu 34 C

Câu 10 A Câu 35 A

Câu 11 D Câu 36 B

Câu 12 C Câu 37 C

Câu 13 C Câu 38 B

Câu 14 C Câu 39 A

Câu 15 B Câu 40 B

Câu 16 A Câu 41 A

Câu 17 D Câu 42 D

Câu 18 D Câu 43 C

Câu 19 A Câu 44 B

Câu 20 C Câu 45 B

Câu 21 C Câu 46 C

Câu 22 A Câu 47 D

Câu 23 B Câu 48 D

Câu 24 B Câu 49 D

Câu 25 C Câu 50 B
CÂU HỎI TRẮC NGHIỆM LẬP TRÌNH MẠNG CÓ ĐÁP ÁN - PHẦN 4
Bộ câu hỏi trắc nghiệm Lập trình mạng có đáp án phần 4 bao gồm 50 câu hỏi trắc
nghiệm Lập trình mạng đầy đủ nội dung cả lý thuyết và thực hành
Danh sách câu hỏi Đáp án
Câu 1. Lớp nào sau đây KHÔNG sử dụng trong ứng dụng giao tiếp mạng Socket
dùng giao thức UDP?

A. DatagramSocket

B. DatagramPacket

C. Socket

D. InetAddress

Câu 2.
Socket sk = new Socket("100.200.300.1",1234);

Socket sk = new Socket("100.200.300.1",1234);

Cho đoạn mã sau. Đoạn mã sẽ sinh ra ngoại lệ gì?

A. HostException

B. IOException

C. UnknownHostException

D. HostErrorException

Câu 3. 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 4. TCP được viết tắt bởi từ ?

A. Transmission Control Protocol


B. Transport Control Protocol

C. Transport Control Processing

D. Transmission Control Processing

Câu 5.
ServerSocket ssk = new ServerSocket(1234);

ServerSocket ssk = new ServerSocket(1234);


Socket sk = ssk.accept();
int len = is.read(buffer);

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 nào đúng nhất điền vào đoạn mã đóng Socket? Đoạn mã
đóng các socket phía Server

A. sk.close(); ssk.close();

B. ssk.close(); sk.close();

C. sk.close();

D. ssk.close();

Câu 6. Phương thức nào của đối tượng thuộc lớp ServerSocket lắng nghe kết nối
từ client

A. listen()

B. wait()

C. accept()

D. listening()

Câu 7. Để tạo đối tượng InetAddress ta dùng cách thức nào sau đây?

A. Dùng phương thức getByName()

B. Dùng phương thức khởi tạo InetAddress()

C. Cả hai đều đúng


D. Cả hai đều sai

Câu 8. Trong lập trình Socket bằng giao thức UDP/IP, chương trình client phải tạo
đối tượng Socket nào để giao tiếp với chương trình server?

A. Socket

B. DatagramSocket

C. ServerSocket

D. UDPSocket

Câu 9. Quá trình truyền, nhận dữ liệu giữa client và server trong lập trình Socket
dùng giao thức TCP/IP dữ liệu được truyền, nhận ở dạng nào sau đây?

A. Dạng ký tự

B. Dạng nhị phân

C. Dạng chuỗi

D. Tất cả các dạng trên

Câu 10. 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 11. Trong lập trình Socket bằng giao thức UDP/IP, client triệu gọi phương
thức nào để nhận dữ liệu gởi về từ server

A. receive()

B. read()

C. getData()

D. getInputStream()

Câu 12. Hàm khởi tạo của lớp DatagramSocket có thể gây ra Exception gì?
A. IOException

B. UnknownPortException

C. SocketException

D. UnknownHostException

Câu 13. Để xác định một tiến trình trong lập trình mạng người ta thường dựa vào
những thông số nào sau đây?

A. Địa chỉ IP

B. Cổng Port

C. Địa chỉ IP và cổng Port

D. Chỉ cần địa chỉ IP hoặc cổng Port

Câu 14. Lớp nào dùng để đóng gói dữ liệu trong lập trình Socket dùng cơ chế
UDP

A. DatagramSocket

B. DatagramPacket

C. DataPacket

D. UDPPacket

Câu 15. Trong lập trình RMI, client muốn tìm kiếm đối tượng cung cấp phục vụ
RMI thì phải gọi phương thức nào sau đây?

A. rebin()

B. bind()

C. find()

D. lookup()

Câu 16. 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 17. Cho đoạn mã sau. Câu lệnh nào sau đây sẽ trả về địa chỉ của máy khách
(client)

A. dsk.getAddress()

B. pk.getAddress()

C. pk.getClientAddress()

D. dsk.getClientAddress()

Câu 18. Trong lập trình Socket TCP, muốn gửi một số nguyên (int) từ Client đến
Server cần phải làm gì trước khi gửi?

A. Chuyển đổi số nguyên (int) thành mảng các byte

B. Không thể gửi một số nguyên (int)

C. Chuyển đổi số nguyên (int) thành chuỗi (String)

D. Không làm gì cả

Câu 19. Phương thức getAddress() của lớp DatagramPacket trả về?

A. Đối tượng thuộc lớp InetAddress

B. Đối tượng thuộc lớp DatagramSocket

C. Một chuỗi (String) chứa địa chỉ IP

D. Một chuỗi (String) chứa tên miền

Câu 20. Phương thức khởi tạo đối tượng của lớp ServerSocket có thể gây ra
ngoại lệ nào sau đây?

A. SSException

B. RemoteException

C. IOException
D. SocketException

Câu 21. Trong lập trình Socket TCP, lớp nào cung cấp phương thức
getOutputStream()

A. InputStream

B. OutputStream

C. Socket

D. ServerSocket

Câu 22. Trong lập trình Socket TCP, phương thức nào dùng để gửi dữ liệu từ
Client đến Server

A. Phương thức write() của lớp OutputStream

B. Phương thức write() của lớp Socket

C. Phương thức send() của lớp Socket

D. Phương thức send() của lớp OutputStream

Câu 23. Phương thức getInputStream() là phương thức thuộc lớp nào?

A. ServerSocket

B. DatagramSocket

C. UDPSocket

D. Socket

Câu 24. Trong lập trình UDP Socket, muốn gửi dữ liệu từ Server đến Client thì
dùng phương thức send() của đối tượng thuộc lớp nào?

A. Socket

B. DatagramSocket

C. DatagramPacket

D. ServerDatagramSocket
Câu 25. Để đă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 26. Interface khai báo các phương thức triệu gọi từ xa phải kế thừa từ
Interface nào?

A. RemoteRMI

B. RMIRemote

C. Remote

D. RemoteInterface

Câu 27. Phương thức cho phép triệu gọi từ xa có khả năng gây ra ngoại lệ nào
sau đây?

A. RemoteException

B. RemoteRMIException

C. RMIException

D. RException

Câu 28. Để tạo một RMI Registry cục bộ có thể dùng câu lệnh nào sau đây?

A. Locate.createRegistry(1099);

B. Registry.createRegistry(1099);

C. Registry.createLocateRegistry(1099);

D. LocateRegistry.createRegistry(1099);

Câu 29. Trong lập trình Socket UDP, gói dữ liệu gửi từ Server về Client ngoài dữ
liệu gửi cần phải có thêm thông tin gì?
A. Địa Chỉ IP

B. Port của Client

C. Địa chỉ IP và Port của Client

D. Không cần thêm gì cả

Câu 30. Trong lập trình UDP, Server muốn tạo một DatagramSocket để cho phép
Client kết nối. Ta sử dụng câu lệnh nào sau đây

A. DatagramSocket()

B. DatagramSocket(1234)

C. DatagramSocket("localhost")

D. DatagramSocket("localhost",1234)

Câu 31. Trong lập trình Socket TCP, phương thức nào dùng để nhận dữ liệu từ
Server gửi về Client

A. Phương thức read() của lớp Socket

B. Phương thức read() của lớp InputStream

C. Phương thức receive() của lớp Socket

D. Phương thức receive() của lớp InputStream

Câu 32. Phương thức getPort() của lớp DatagramPacket trả về?

A. Đối tượng thuộc lớp InetAddress

B. Đối tượng thuộc lớp DatagramSocket

C. Một chuỗi chứa địa chỉ cổng Port

D. Một số nguyên chứa địa chỉ cổng Port

Câu 33. Đ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 34. 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 35. Phương thức getHostAddress() của đối tượng InetAddress trả về dữ liệu
thuộc kiểu gì?

A. int

B. char

C. array

D. String

Câu 36. Phát biểu sau đây đúng hay sai? Ta sử dụng phương thức
getHostAddress() của đối tượng InetAddress để lấy ra địa chỉ IP của máy kết nối
dưới dạng chuỗi?

A. Đúng

B. Sai

Câu 37. Phát biểu sau đây đúng hay sai? Ta sử dụng phương thức getAddress()
của đối tượng InetAddress để lấy ra địa chỉ IP của máy kết nối dưới dạng chuỗi?

A. Đúng

B. Sai

Câu 38. Phương thức send() của lớp DatagramSocket có thể gây ra Exception
nào?

A. IOException
B. SocketException

C. UnknownHostException

D. UnknownPortException

Câu 39. Phương thức getData() của lớp DatagramPacket trả về dữ liệu thuộc kiểu
nào sau đây?

A. String [ ]

B. float [ ]

C. byte [ ]

D. int [ ]

Câu 40. Phương thức getData() của lớp DatagramPacket trả về dữ liệu thuộc kiểu
chuỗi, đúng hay sai?

A. Đúng

B. Sai

Câu 41. Phương thức getData() của lớp DatagramPacket trả về dữ liệu thuộc kiểu
mảng các byte dữ liệu, đúng hay sai?

A. Đúng

B. Sai

Câu 42. Trong lập trình Socket TCP/IP, khi không kết nối được đến máy chủ thì
đối tượng Socket sẽ phát sinh ngoại lệ nào?

A. IOException

B. SocketException

C. UnknownHostException

D. UnknownPortException

Câu 43. Phương thức getAddress() của đối tượng InetAddress trả về kiểu dữ liệu
nào sau đây?

A. byte [ ]
B. String

C. int

D. Array

Câu 44. Phương thức getHostName() của đối tượng InetAddress trả về dữ liệu
kiểu nào sau đây?

A. byte [ ]

B. String

C. int

D. Array

Câu 45. Để tạo đối tượng lớp Socket ta có thể sử dụng cách nào sau đây

A. dùng phương thức accept() của DatagramSocket

B. dùng phương thức accept() của ServerSocket

C. dùng phương thức getByName()

D. dùng phương thức getLocalHost()

Câu 46. Trong lập trình Socket với TCP/IP, Server sẽ sử dụng đối tượng thuộc lớp
nào để gửi nhận dữ liệu với Client?

A. ServerSocket

B. Socket

C. DatagramSocket

D. DatagramPacket

Câu 47. Trong lập trình TCP, Client muốn tạo Socket để kết nối đến Server ở địa
chỉ 192.168.13.26:8088, thì sử dụng câu lệnh nào sau đây?

A. ServerSocket(8088)

B. ServerSocket("192.168.13.26",8088)

C. Socket("192.168.13.26",8088)
D. Socket(8088)

Câu 48. Trong phương thức khởi tạo Socket sau: public Socket(String host, int
port, InetAddress interface, int localPort)

Nếu khi thiết lập localPort bằng không, thì Java sẽ tự động lựa chọn một cổng ngẫu
nhiên nằm trong khoảng nào?

A. 1 - 1023

B. 1024 - 2048

C. 2048 - 65535

D. 1024 - 65535

Câu 49. Lớp ServerSocket nằm trong package

A. java.io

B. java.lang

C. java.net

D. java.swing

Câu 50. Lớp DatagramSocket nằm trong package

A. java.io

B. java.lang

C. java.net

D. java.swing
ĐÁP ÁN BỘ CÂU HỎI TRẮC NGHIỆM LẬP TRÌNH MẠNG CÓ
ĐÁP ÁN - PHẦN 4
Câu Đáp án Câu Đáp án

Câu 1 C Câu 26 C

Câu 2 C Câu 27 A

Câu 3 B Câu 28 A

Câu 4 A Câu 29 C

Câu 5 A Câu 30 B

Câu 6 C Câu 31 B

Câu 7 A Câu 32 D

Câu 8 B Câu 33 C

Câu 9 B Câu 34 B

Câu 10 A Câu 35 D

Câu 11 A Câu 36 A

Câu 12 C Câu 37 B

Câu 13 C Câu 38 A

Câu 14 B Câu 39 C

Câu 15 D Câu 40 B

Câu 16 C Câu 41 A

Câu 17 B Câu 42 C

Câu 18 C Câu 43 A

Câu 19 A Câu 44 B

Câu 20 C Câu 45 B

Câu 21 C Câu 46 B

Câu 22 A Câu 47 C

Câu 23 D Câu 48 D

Câu 24 B Câu 49 C

Câu 25 D Câu 50 C
CÂU HỎI TRẮC NGHIỆM LẬP TRÌNH MẠNG CÓ ĐÁP ÁN - PHẦN 5
Bộ câu hỏi trắc nghiệm Lập trình mạng có đáp án phần 5 bao gồm 50 câu hỏi trắc
nghiệm Lập trình mạng đầy đủ nội dung cả lý thuyết và thực hành
Danh sách câu hỏi Đáp án
Câu 1. Trong lập trình Socket TCP, khi muốn gửi dữ liệu từ Client tới Server thông
qua luồng xuất (OutputStream) thì ta sử dụng phương thức làm việc nào:

A. send()

B. write()

C. read()

D. receive()

Câu 2. 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 3. Trong lập trình Socket TCP, khi muốn nhận dữ liệu từ Client gửi đến Server
thông qua luồng nhập (InputStream) thì ta sử dụng phương thức làm việc nào:

A. write()

B. send()

C. read()

D. receive()

Câu 4. Trong lập trình Socket TCP/IP. Client muốn nhận dữ liệu được trả về từ
Server thì sử dụng phương thức nào của luồng nhập (InputStream):

A. send()

B. write()

C. receive()
D. read()

Câu 5. Phương thức nào sau đây không thuộc lớp DatagramSocket

A. send()

B. receive()

C. close()

D. accept()

Câu 6. Phương thức nào sau đây không thuộc lớp DatagramPacket :

A. getAddress()

B. getHostAddress()

C. getData()

D. getLength()

Câu 7. Phương thức nào sau đây không trả về đối tượng thuộc kiểu InetAddress ?

A. getAddress() của DatagramPacket

B. getInetAddress() của Socket

C. accept() của ServerSocket

D. Phương thức getLocalHost()

Câu 8. Lớp URL thuộc package nào?

A. java.util

B. java.lang

C. java.net

D. java.io

Câu 9. Phương thức khởi tạo của lớp URL có thể phát sinh ngoại lệ nào sau đây?

A. IOException
B. UnknownHostException

C. MalformedURLException

D. SocketException

Câu 10. Phương thức getContent() của đối tượng URL có thể có ngoại lệ phát sinh
là gì?

A. UnknownHostException

B. IOException

C. SocketException

D. URLException

Câu 11. Phương thức getContent() của lớp URL có kết quả trả về thuộc kiểu Object
đúng hay sai?

A. Đúng

B. Sai

Câu 12.
import java.io. * ;

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();

}
Cho biết số byte mà đoạn chương trình sau ghi ra tập tin temp. txt

A. 2 bytes

B. 4 bytes.

C. 8 bytes

D. 16 bytes

Câu 13. Chọn phát biểu đúng trong các phát biểu sau

A. [A](1) Một thể hiện của lớp File có thể được dùng để truy cập các tập tin trong thư mục
hiện hành

B. (2) Khi một thể hiện của lớp File được tạo ra thì một tập tin tương ứng cũng được tạo
ra trên đĩa

C. (3) Các thể hiện của lớp File được dùng để truy cập đến các tập tin và thư mục trên
đĩa

D. Câu (1) và (3) đúng

Câu 14. 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

Câu 15. Chọn phát biểu đúng

A. Các event listeners là các interface qui định các phương thức cần phải cài đặt để xử
lý các sự kiện liên quan khi sự kiện đó xảy ra

B. Một event adapter là một cung cấp các cài đặt mặc định cho các event listener tương
ứng

C. Lớp WindowAdapter được dùng để xử lý các sự kiện liên quan đến cửa sổ màn hình
D. Tất cả các câu đều đúng

Câu 16. Chọn các component có phát sinh action event

A. Button

B. Label

C. Checkbox

D. Windows

Câu 17. Chọn phát biểu đúng :

A. (1) Thể hiện của TextField có thể phát sinh ActionEvent

B. (2) Thể hiện của TextArea có thể phát sinh ActionEvent

C. (3) Thể hiện của Button có thể phát sinh ActionEvent

D. Câu (1) và (3) đúng

Câu 18. Chọn phát biểu đúng :

A. MouseListener interface định nghĩa các phương thức để xử lý sự kiện nhấn chuột

B. MouseMotionListener interface định nghĩa các phương thức để xử lý sự kiện nhấn


chuột

C. MouseClickListener interface định nghĩa các phương thức để xử lý sự kiện nhấn chuột

D. Tất các các câu trên đều đúng

Câu 19. Giả sử chúng ta có thể hiện e của bộ lắng nghe sự kiện TextEvent và thể
hiện t của lớp TextArea. Cho biết cách để gắn bộ lắng nghe e vào t?

A. t.addTextListener(e)

B. 3.addTextListener(t)

C. addTextListener(e,t)

D. addTextListener(t,e)

Câu 20. Cho một component comp và một container cont có kiểu trình bày là
BorderLayout. Cho biết cách để gắn comp vào vị trí đầu của cont.
A. addTop(cont,comp)

B. comp.add("North",cont)

C. cont.addTop(comp)

D. cont.add(comp,BorderLayout.NORTH)

Câu 21. Cho một component comp và một container cont có kiểu trình bày là
FlowLayout. Cho biết cách để gắn comp vào cont.

A. cont.add(comp)

B. comp.add(cont)

C. cont.addComponent(comp)

D. cont.addAllComponents()

Câu 22. Chọn phương thức dùng để xác định các trình bày của một khung chứa.

A. startLayout()

B. initLayout()

C. layoutContainer()

D. setLayout()

Câu 23. Chọn phương thức dùng để xác định vị trí và kích thước của các
component

A. setBounds()

B. setSizeAndPosition()

C. setComponentSize()

D. setComponent()

Câu 24. Chọn kiểu trình bày để đặt các component trên khung chứa dưới dạng
bảng

A. CardLayout

B. BorderLayout
C. GridLayout

D. FlowLayout

Câu 25. Chọn phương thức dùng để gán nội dung cho Label

A. setText()

B. setLabel()

C. setTextLabel()

D. setLabelText()

Câu 26. Chọn phát biểu đúng:

A. TextComponent extends TextArea

B. TextArea extends TextField

C. TextField extends TextComponent

D. TextComponent extends TextField

Câu 27. Chọn phát biểu đúng

A. Lớp CheckboxGroup dùng để định nghĩa các RadioButtons

B. Lớp RadioGroup dùng để định nghĩa các RadioButtons

C. Tất cả các câu trên đều đúng

D. Tất cả các câu trên đều sai

Câu 28. Chọn câu lệnh để tạo TextArea có 10 dòng và 20 cột

A. new TextArea(10,20)

B. new TextArea(20,10)

C. new TextArea(200)

D. Tất cả các câu trên đều sai

Câu 29. Chọn câu lệnh để tạo ra một danh sách gồm năm mục chọn và cho phép
thực hiện chọn nhiều mục cùng lúc
A. new List(5,true)

B. new List(true,5)

C. new List(5,false)

D. new List(false,5)

Câu 30. Chọn phương thức để hiển thị Frame lên màn hình

A. setVisible()

B. display

C. displayFrame()

D. Tất cả các câu trên đều sai

Câu 31. Chọn phát biểu đúng

A. Lớp Class là lớp cha của lớp Object

B. Lớp Object là một lớp final

C. Mọi lớp đều kế thừa trực tiếp hoặc gián tiếp từ lớp Object

D. Tất cả các câu trên đều sai

Câu 32. 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 33. Chọn câu phát biểu đúng

A. Một lớp trừu tượng không thể chứa phương thức final

B. Một lớp final không thể chứa các phương thức trừu tượng

C. Cả hai đều đúng


D. Cả hai đều sai

Câu 34. 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 35. Nếu một frame dùng bộ quản lý trình bày (layout manager) mặc định và
không chứa bất kỳ panel nào bên trong thì tát cả những component bên trong
frame là cùng kích thước (ngang, dọc)?

A. Đúng

B. Sai

Câu 36. Với bộ quản lý trình bày BorderLayout không nhất thiết các vùng phải có
chứa các component

A. Đúng

B. Sai

Câu 37. Bộ quản lý trình bày mặc định cho một khung chứa kiểu Panel là:

A. FlowLayout

B. BorderLayout

C. GridLayout

D. GridBagLayout

Câu 38. Một Container có bộ quản lý trình bày là GridBagLayout thì mỗi component
sẽ có kích thước bằng nhau khi thêm vào khung chứa (container) này?

A. Đúng

B. Sai

Câu 39. 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 40. Đối tượng nào bên dưới có thể chứa một menubar (chọn nhưng câu đúng)

A. Panel B. ScrollPane C. Frame D. Menu

Câu 41. Sau khi tạo một frame bằng câu lệnh Frame f = new Frame() và tạo menu
bar bằng câu lệnh MenuBar mb = new MenuBar(), làm thế nào để gắn MenuBar tên
mb vào f

A. f.add(mb)

B. f.setMenu(mb)

C. f.addMenu(mb)

D. f.setMenuBar(mb)

Câu 42. Nếu String name = "TP HCM"; thì câu lệnh name.length(); sẽ trả về bao
nhiêu?

A. 5 B. 6 C. 7 D. 8

Câu 43. 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 44. Socket là gì?

A. Là ổ cắm điện

B. Là một loại chip

C. Là một trong những phương thức giao tiếp


D. Tính chất của 1 vi xử lý

Câu 45. TCP service là gì?

A. Là giao thức điều khiển truyền vận là một trong các giao thức cốt lõi của bộ giao thức
UDP

B. Là giao thức điều khiển truyền vận là một trong các giao thức cốt lõi của bộ giao
thức TCP/IP

C. Là giao thức điều khiển truyền vận là một trong các giao thức cốt lõi của bộ giao thức
Client/Server

D. Cả A, B, C đều đúng

Câu 46. Phương thức nào sau đây dùng để lấy địa chỉ ip của máy chủ?

A. getHostAddress()

B. getLocalHost()

C. getLocalHostName()

D. getHostName()

Câu 47. 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 48. Phương thức nào trả về địa chỉ mà socket kết nối đến?

A. getSocketName()

B. getLocalAddress()

C. getInetAddress()

D. getInetLocalAddress()

Câu 49. Phương thức nào trả về địa chỉ socket?


A. getLocalAddress()

B. getInetAddress()

C. getSocketName()

D. getInetLocalAddress()

Câu 50. Phương thức nào trả về địa cổng socket kết nối đến?

A. getPort()

B. getLocalPort()

C. getLocalPortNumber()

D. getPortNumber()
ĐÁP ÁN BỘ CÂU HỎI TRẮC NGHIỆM LẬP TRÌNH MẠNG CÓ ĐÁP ÁN - PHẦN 5
Câu Đáp án Câu Đáp án

Câu 1 B Câu 26 C

Câu 2 A Câu 27 A

Câu 3 C Câu 28 A

Câu 4 D Câu 29 A

Câu 5 D Câu 30 A

Câu 6 B Câu 31 C

Câu 7 C Câu 32 B

Câu 8 C Câu 33 B

Câu 9 C Câu 34 A

Câu 10 B Câu 35 B

Câu 11 A Câu 36 A

Câu 12 B Câu 37 A

Câu 13 D Câu 38 B

Câu 14 D Câu 39 D

Câu 15 D Câu 40 C

Câu 16 A Câu 41 D

Câu 17 D Câu 42 B

Câu 18 A Câu 43 D

Câu 19 A Câu 44 C

Câu 20 D Câu 45 B

Câu 21 A Câu 46 A

Câu 22 D Câu 47 C

Câu 23 A Câu 48 C

Câu 24 C Câu 49 B

Câu 25 A Câu 50 A
CÂU HỎI TRẮC NGHIỆM LẬP TRÌNH MẠNG CÓ ĐÁP ÁN - PHẦN 6
Bộ câu hỏi trắc nghiệm Lập trình mạng có đáp án phần 6 bao gồm 50 câu hỏi trắc
nghiệm Lập trình mạng đầy đủ nội dung cả lý thuyết và thực hành
Danh sách câu hỏi Đáp án
Câu 1.
for (int i = 0; i < args.length; i++) {

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();
}

Chương trình sau thực hiện công việc gì?

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.


ĐÁP ÁN BỘ CÂU HỎI TRẮC NGHIỆM LẬP TRÌNH MẠNG CÓ
ĐÁP ÁN - PHẦN 6
Câu Đáp án Câu Đáp án

Câu 1 D Câu 26 A

Câu 2 C Câu 27 B

Câu 3 B Câu 28 A

Câu 4 A Câu 29 A

Câu 5 C Câu 30 B

Câu 6 D Câu 31 A

Câu 7 B Câu 32 C

Câu 8 A Câu 33 A

Câu 9 A Câu 34 D

Câu 10 A Câu 35 D

Câu 11 D Câu 36 C

Câu 12 C Câu 37 B

Câu 13 A Câu 38 D

Câu 14 B Câu 39 D

Câu 15 D Câu 40 A

Câu 16 A Câu 41 C

Câu 17 B Câu 42 A

Câu 18 D Câu 43 A

Câu 19 A Câu 44 A

Câu 20 D Câu 45 B

Câu 21 A Câu 46 D

Câu 22 B Câu 47 B

Câu 23 C Câu 48 D

Câu 24 C Câu 49 C

Câu 25 D Câu 50 D
CÂU HỎI TRẮC NGHIỆM LẬP TRÌNH MẠNG CÓ ĐÁP ÁN - PHẦN 7
Bộ câu hỏi trắc nghiệm Lập trình mạng có đáp án phần 7 bao gồm 50 câu hỏi trắc
nghiệm Lập trình mạng đầy đủ nội dung cả lý thuyết và thực hành
Danh sách câu hỏi Đáp án
Câu 1. Sự khác nhau cơ bản giữa truyền thông multicast và truyền thông broadcast
là gì?

A. Multicast là gửi cho nhiều mạng được định nghĩa với multicast.

B. Multicast và broadcast về cơ bản là giống nhau.

C. Broadcast là gửi cho mọi nút mạng có đăng ký nhóm và/hoặc mạngcon.

D. Không phải các ý trên.

Câu 2. Giao thức nào sử dụng địa chỉ IP là 224.0.0.5 và 224.0.0.6 cho truyền thông
multicast?

A. PIM.

B. OSPF.

C. EIGRP.

D. Không phải các ý trên

Câu 3. Sử dụng Internet Group Management Protocol version 2 (IGMPv2), một nút
mạng làm thế nào để thoát ra hoặc ngừng tham gia vào một nhóm multicast?

A. Nó phải tự thoát ra vì không có câu lệnh để thoát ra nhóm.

B. Cả nút và router phải được cấu hình với quyền admin để không tham gia vào một
nhóm multicast cụ thể.

C. Nút không kiểm soát được việc tham gia nhóm multicast; router hoàn toàn quản lý
nhóm multicast.

D. Nút phải đưa ra một câu lệnh nghỉ cụ thể.

Câu 4. 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 5. Đâ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 6. Phương thức getInetAddress() trong lớp Socket được dùng để làm gì?

A. Lấy về số cổng được kết nối đến máy chủ

B. Lấy về luồng xuất để máy khách có thể gửi dữ liệu đến máy chủ

C. Lấy về luồng nhập để máy khách có thể đọc dữ liệu gửi trả về từ phía máy chủ

D. Lấy địa chỉ của máy chủ được kết nối đến dưới dạng kiểu InetAddress

Câu 7. 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 8. Mô hình Client - Server thỏa mãn điều kiện nào?

A. Một Client chỉ phục vụ yêu cầu của một Server

B. Một Server phục vụ yêu cầu của nhiều Client

C. Một Server chỉ phục vụ yêu cầu của một Client

D. Một Client phục vụ yêu cầu của nhiều Server

Câu 9. 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 10. Phương thức getPort() 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 máy chủ 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 giao thức trong một chuỗi địa chỉ URL

Câu 11. Mô hình Client - Server thỏa mãn điều kiện nào?

A. Một Client phục vụ yêu cầu của nhiều Server

B. Một Server phục vụ yêu cầu của nhiều Client

C. Một Server chỉ phục vụ yêu cầu của một Client

D. Một Client chỉ phục vụ yêu cầu của một Server

Câu 12. 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. Hàm API thực hiện các thao tác

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. Máy ảo JVM được nhiều nền tảng hỗ trợ

Câu 13. Phương thức getPort() trong lớp URL có ý nghĩa gì?

A. Trả về số hiệu cổng sử dụng 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ề tên của máy chủ trong một chuỗi địa chỉ URL

D. Trả về tên của file trong một chuỗi địa chỉ URL
Câu 14. Phương thức getData() trong lớp DatagramPacket được sử dụng với mục
đích gì?

A. Trả về nội dụng dữ liệu thật sự chứa trong gói dữ liệu

B. Trả về địa chỉ chứa trong gói dữ liệu

C. Trả về kích thước của gói chứa trong gói dữ liệu

D. Trả về số hiệu cổng chứa trong gói dữ liệu

Câu 15. Lớp String thuộc package nào?

A. java.string

B. javax.util

C. java.util

D. java.lang

Câu 16. 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 17. Điền vào phần ... cho phát biểu sau: "Mỗi gói dữ liệu chứa các thông tin:
Dữ liệu, chiều dài gói, ...., và số cổng"

A. Số cổng

B. Chiều dài gói

C. Địa chỉ IP

D. Dữ liệu

Câu 18. Điền vào phần ... cho phát biểu sau: "Mỗi gói dữ liệu chứa các thông tin:...,
chiều dài gói, địa chỉ IP, và số cổng"
A. Chiều dài gói

B. Địa chỉ IP

C. Dữ liệu

D. Số cổng

Câu 19. Điền vào phần …… cho phát biểu sau: "Mỗi gói dữ liệu chứa các thông tin:
Dữ liệu, ……, địa chỉ IP, và số cổng"

A. Địa chỉ IP

B. Dữ liệu

C. Chiều dài gói

D. Số cổng

Câu 20. Điền vào phần ... cho phát biểu sau: "Mỗi gói dữ liệu chứa các thông tin:
Dữ liệu, chiều dài gói, địa chỉ IP , và ...."

A. Địa chỉ IP

B. Chiều dài gói

C. Dữ liệu

D. Số cổng

Câu 21. Các định nghĩa phương thức sau đây định nghĩa nào sai:

A. private float MyMethd(float z, int i){z=10;return z;}

B. static void My(float x){x=5;return x}

C. protected float MyMethd(float r, String s){r=10;return r;}

D. final float MyMethd(float y){}

Câu 22. 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 với nhau thường dùng thông số nào sau đây?

A. Port D.

B. Địa chỉ IP
C. Tên miền

D. Tất cả đều sai

Câu 23. Điền phần còn thiếu cho cú pháp hàm sau DatagramPacket( …… buf[], int
len) trong lớp DatagramPackage

A. int

B. String

C. float

D. byte

Câu 24. 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 25. Phương thức writeBytes( String v) trong lớp DataOutputStream được sử
dụng với mục đích gì?

A. Gửi một ký tự v tới nguồn xuất bất kỳ

B. Gửi một chuỗi ký tự v tới nguồn xuất bất kỳ

C. Gửi một số thực v tới nguồn xuất bất kỳ

D. Gửi một số nguyên v tới nguồn xuất bất kỳ

Câu 26. Phương thức getPort( ) trong lớp Socket được dùng để làm gì?

A. Lấy địa chỉ của máy chủ được kết nối đến dưới dạng kiểu InetAddress

B. Lấy về luồng nhập để máy khách có thể đọc dữ liệu gửi trả về từ phía máy chủ

C. Lấy về số cổng được kết nối đến máy chủ

D. Lấy về luồng xuất để máy khách có thể gửi dữ liệu đến máy chủ
Câu 27. Phương thức ServerSocket(int port, int count) trong lớp ServerSocket
được sử dụng với mục đích gì?

A. Mở kết nối từ máy khách đến máy chủ

B. Mở kết nối từ máy khách đến máy chủ và mở kết nối từ phía máy chủ đến máy khách

C. Mở kết nối từ phía máy chủ chờ máy khách kết nối đến thông qua cổng port, cho phép
số máy kết nối cùng lúc là count

D. Mở kết nối từ phía máy chủ chờ máy khách kết nối đến thông qua số hiệu cổng port

Câu 28. Lớp Soket trong lập trình mạng được sử dụng khi viết chương trình bên
phía máy nào trong lập trình theo mô hình Client/Server:

A. Máy chủ và máy khách

B. Không phải máy chủ và máy khách

C. Máy khách

D. Máy chủ

Câu 29. Phuương thức writeInt( int v)trong lớp DataOutputStream được sử dụng
với mục đích gì?

A. Gửi một chuỗi ký tự v tới nguồn xuất bất kỳ

B. Gửi một ký tự v tới nguồn xuất bất kỳ

C. Gửi một số thực v tới nguồn xuất bất kỳ

D. Gửi một số nguyên v tới nguồn xuất bất kỳ

Câu 30. Điền phần còn thiếu cho cú pháp hàm sau: DatagramPacket( byte buf..., int
len) trong lớp DatagramPackage

A. [ ]

B. " "

C. { }

D. ()
Câu 31. Điền phần còn thiếu cho cú pháp hàm sau: DatagramPacket( byte
buf[], ...len) trong lớp DatagramPackage

A. String

B. int[]

C. int

D. Float

Câu 32. Lớp nào cung cấp các phương tiện để người sử dụng có thể truy nhập
được vào môi trường OSI và cung cấp các dịch vụ thông tin phân tán

A. Presentation

B. Transport

C. Session

D. Application

Câu 33. Tầng nào trong mô hình OSI làm việc với các tín hiệu điện?

A. Data Link

B. Physical

C. Network

D. Transport

Câu 34. Để cấp phát động địa chỉ IP, ta có thể sử dụng dịch vụ có giao thức nào:

A. Dùng giao thức FTP

B. Dùng giao thức HTTP

C. Dùng giao thức DHCP

D. Dùng giao thức DNS

Câu 35. Protocol là?

A. Một trong những thành phần không thể thiếu trong hệ thống mạng
B. Là các qui tắc để cho phép các máy tính có thể giao tiếp được với nhau

C. A và B đúng

D. A và B sai

Câu 36. 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 37. Java chạy trên hệ điều hành nào sau đây:

A. Sun Solaris OS

B. Microsoft Windows

C. Linux

D. Tất cả các đáp án đều đúng.

Câu 38. Lệnh if CONDITION { Khối lệnh } có tác dụng gì?

A. Nếu CONDITION đúng thì thực hiện Khối lệnh, nếu sai thì bỏ qua

B. Nếu CONDITION sai thì thực hiện Khối lệnh, nếu đúng thì bỏ qua

C. Không có đáp án đúng

D. Tất cả đều sai.

Câu 39. Kiểu dữ liệu byte có phạm vi trong khoảng nào?

A. (-32,768) đến 32,767

B. 0 đến 65535

C. (-256) đến 255

D. (-128) đến 127 +


Câu 40. Lệnh str.charat(n) có tác dụng gì?

A. Lấy ký tự có số chỉ mục n trong chuỗi k

B. Lấy ký tự bất kỳ trong chuỗi str

C. Lấy độ dài chuỗi str

D. Không có lệnh này

Câu 41. Lệnh result = condition ? value1 : value2 có nghĩa gì?

A. Nếu condition là true thì result = value2, nếu condition là false thì result = value1

B. Nếu condition là true thì result = value1, nếu condition là false thì result = value2

C. Không có lệnh này

D. Nếu condition là true thì result sẽ đảo giá trị của value1 và value2

Câu 42. Để kiểm tra 2 chuỗi có bằng nhau hay không, sử dụng phương thức nào?

A. string1 = string2

B. string1== string2

C. string1.equal(string2)

D. string1.equals(string2)

Câu 43. Mục đích chính của các câu lệnh import là….

A. Để tham chiếu tới các lớp mà không cần tiền tố

B. Để tránh thực hiện lời gọi tới các phương thức

C. Để gọi tới các ảnh mà bạn muốn sử dụng

D. Để tránh khỏi phải khai báo biến

Câu 44. Biên dịch có lỗi và đưa ra thông báo lỗi "Duplicate main() method
declaration"

A. Biên dịch thành công và đưa màn hình kết quả "In first main()" khi chạy với đối số của
'a'
B. Biên dịch thành công và đưa ra màn hình kết quả "a" khi chạy với đối số của 'a'

C. Biên dịch thành công nhưng sẽ đưa ra lỗi xảy ra ngoại lệ khi chạy

Câu 45. Lớp là gì?

A. Là đối tượng được khai báo để hoạt động trong chương trình.

B. Là bản thiết kế từ đó tạo ra các đối tượng

C. Là một chức năng trong java dùng để chứa đối tượng.

D. Tất cả đều sai.

Câu 46. Để khai báo lớp Xedap1 kế thừa lớp Xedap phải làm nhưthế nào?

A. class Xedap1 extends Xedap {}

B. public classs Xedap1 extend Xedap {}

C. class Xedap1 extend Xedap {}

D. Tất cả đều sai

Câu 47. Cách đặt tên nào sau đây là không chính xác?

A. _final

B. dem

C. final

D. $final

Câu 48. Phương thức hasNext() trong lớp Scanner có tác dụng?

A. Kiểm tra xem từ đó đã có trong dữ liệu vào chưa

B. Di chuyển đến từ tiếp theo

C. Cả A, B đều đúng

D. Cả A, B đều sai

Câu 49. Lệnh khai báo Scanner in = new Scanner(System.in); có tác dụng gì?
A. Cho phép ta đọc

B. Cho phép ta nhập vào 1 ký tự

C. Cho phép ta nhập vào 1 ký tự hay một chuỗi nào đó vào từ bàn phím

D. Cả A,B, C đều đúng

Câu 50. Phương thức nextInt() trong lớp Scanner có tác dụng?

A. Đọc 1 giá trị số nguyên từ bàn phím

B. Đọc 1 chuỗi ký tự từ bàn phìm, kể cả dấu cách

C. Đọc 1 giá trị số thực từ bàn phím

D. Đọc 1 chuỗi ký tự từ bàn phím, không kể dấu cách

ĐÁP ÁN BỘ CÂU HỎI TRẮC NGHIỆM LẬP TRÌNH MẠNG CÓ ĐÁP ÁN - PHẦN 7
Câu Đáp án Câu Đáp án

Câu 1 A Câu 26 C

Câu 2 B Câu 27 C

Câu 3 D Câu 28 A

Câu 4 B Câu 29 D

Câu 5 C Câu 30 A

Câu 6 D Câu 31 C

Câu 7 C Câu 32 D

Câu 8 B Câu 33 B

Câu 9 A Câu 34 C

Câu 10 C Câu 35 C

Câu 11 B Câu 36 D

Câu 12 D Câu 37 D

Câu 13 A Câu 38 A

Câu 14 A Câu 39 D

Câu 15 D Câu 40 A
Câu 16 A Câu 41 B

Câu 17 C Câu 42 D

Câu 18 C Câu 43 A

Câu 19 C Câu 44 A

Câu 20 D Câu 45 B

Câu 21 D Câu 46 A

Câu 22 A Câu 47 C

Câu 23 D Câu 48 A

Câu 24 C Câu 49 C

Câu 25 B Câu 50 A

You might also like