當前位置:學識都>好好學習>考研>

軟件開發工程師JAVA筆試題

學識都 人氣:1.07W

java是綜合性比較難的一門學科,下面本站小編爲大家精心蒐集了關於軟件開發工程師的JAVA筆試題,歡迎大家參考借鑑,希望可以幫助到大家!

軟件開發工程師JAVA筆試題

一、選擇題

1、下面哪項是不合法的標識符:()

A. $persons B. TwoUsers C. *point D. _endline E. final

2、下列運算符合法的是( )

A.&& B.<> C.if D.:=

3、下面描述中哪兩項相等:()[選擇兩項]

4、設float x = 1,y = 2,z = 3,則表達式 y+=z–/++x的值是:()

A. 3.5 B.3 C. 4 D. 5

5、下面的哪些敘述爲真:()

equals()方法判定引用值是否指向同一對象

==操作符判定兩個不同的對象的內容和類型是否一致

equal()方法只有在兩個對象的內容一致時返回true

類File重寫方法equals()在兩個不同的對象的內容和類型一致時返回true

6、如果一個對象僅僅聲明實現了cloneable接口,但是不聲明clone方法,外部能夠調用其clone方法嗎?()

A. 能 B. 不能 C. 不確定

7、下列說法錯誤的有( )

A. 能被java.exe成功運行的java class文件必須有main()方法

B. J2SDK就是Java API

C. Appletviewer.exe可利用jar選項運行.jar文件

D. 能被Appletviewer成功運行的java class文件必須有main()方法

8、下列正確的有( )

A. call by value不會改變實際參數的數值

B. call by reference能改變實際參數的參考地址

C. call by reference不能改變實際參數的參考地址

D. call by reference能改變實際參數的內容

9、下列說法錯誤的有( )

A. 數組是一種對象

B. 數組屬於一種原生類

C. int number=[]={31,23,33,43,35,63}

D. 數組的大小可以任意改變

1、不能用來修飾interface的有( )

A.private B.public C.protected D.static

11、關於Float,下列說法正確的是

A.Float是一個類

B.Float在java.lang包中

C.Float a=1.是正確的賦值方法

D.Float a= new Float(1.)是正確的賦值方法

12、下列哪種說法是正確的( )

A. 實例方法可直接調用超類的實例方法

B. 實例方法可直接調用超類的類方法

C. 實例方法可直接調用其他類的實例方法

D. 實例方法可直接調用本類的類方法

13、下列說法錯誤的有( )

A.在類方法中可用this來調用本類的類方法

B.在類方法中調用本類的類方法時可直接調用

C.在類方法中只能調用本類中的類方法

D.在類方法中絕對不能調用實例方法

14、下面說法哪些是正確的?

A.Applet可以訪問本地文件

B.對static方法的`調用不需要類實例

C.socket類在java.lang中

D.127...1地址代表本機

15、類Test1、Test2定義如下:

public class Test1 {

public float aMethod(float a, float b) throws

IOException { }

}

public class Test2 extends Test1 {

//Line6

}

將以下()方法插入行6是不合法的。

float aMethod (float a, float b) {}

public int aMethod (int a, int b) throws Exception {}

public float aMethod (float P, float q) {}

public int aMethod (int a, int b) throws IOException {}

16、關於以下程序段,正確的說法是:()

1. String s1 = “abc” + “def”;

2. String s2 = new String(s1);

3. if(s1.equals(s2))

4. System.out.println(“.equals() succeeded”);

5. if(s1 == s2)

6. System.out.println(“== succeeded”);

A. 行4與行6都將執行 B. 行4執行,行6不執行

C. 行6執行,行4不執行 D. 行4、行6都不執行

17、下面程序的執行結果爲:()

public class Test {

static Boolean foo(char c) {

System.out.println(c);

return true;

}

public static void main(String[] args) {

int i = ;

for (foo(‘A’); foo(‘B’)&&(i<2); foo(‘C’)) {

i++;

foo(‘D’);

}

}

}

A. ABDCBDCB B. ABCDABCD

C. Compilation fails C. An exception is thrown at runtime

18、閱讀下面的程序

public class Outer {

public void someOuterMethod() {

//Line3

}

public class Inner() {}

public static void main(String[] args) {

Outer o = new Outer();

//Line8

}

}

Which instantiates is an instance of Inner? ()

A. new Inner(); // At line3 B. new Inner(); // At line 8

C. new o.Inner(); // At line8 C. new Outer.inner(); // At line 8

19、選出能正確賦值的:

public class TestA {

private int a;

public int change(int m) {

return m;

}

}

public class TestB extend TestA{

public int b;

public static void main() {

TestA aa = new TestA();

TestB bb = new TestB();

int k;

// Line 13

}

}

在Line13處可以正確賦值的有: ()

k= m; B. k=b; C. k=aa.a; D. k=bb.change(3); E. k=bb.a

2、已知如下代碼:

switch (m)

{

case : System.out.println(̶Condition ″);

case 1: System.out.println(̶Condition 1″);

case 2: System.out.println(̶Condition 2″);

case 3: System.out.println(̶Condition 3″);break;

default: System.out.println(̶Other Condition”);

}

當 m 的值爲什麼時輸出 ̶Condition 2″? ( )

A . B .1 C. 2 D . 3 E.4 F. None

21、給出程序段

public class Parent

{

public int addValue(int a,int b)

{

int s;

s=a+b;

return s;

}

}

class Child extends Parent{}

可以加在Child類的方法有:()

A. int addValue(int a,int b){}

B. public void addValue(int a,int b){}

C. public int addValue(int a){}

D. public int addValue(int a,int b){}

22、下述哪些說法是正確的?()

A. 實例變量是類的成員變量

B. 實例變量是用static關鍵字聲明的

C. 方法變量在方法執行時創建

D. 方法變量在使用之前必須初始化

23、對於下列代碼:

public class Sample{

long length;

public Sample(long l){ length = l; }

public static void main(String arg[]){

Sample s1, s2, s3;

s1 = new Sample(21L);

s2 = new Sample(21L);

s3 = s2;

long m =21L;

}

}

下列哪些表達式返回值爲’true’? ( )

A .s1 = = s2; B. s2 = = s3; C. m = = s1; D. s1.equals(m)

24、哪個類可用於處理 Unicode?

A .InputStreamReader B .BufferedReader C.Writer D.PipedInputStream

25、已知如下說明:

TextArea ta = new TextArea (̶Hello”, 5, 5);

請問哪個語句是正確的?( )

A . The maximum number of characters in a line is 5.

B. The displayed height is 5 lines otherwise constrain.

C. The displayed string can use multiple fonts.

D. The displayed strings are editable.

26、當 Frame 改變大小時,放在其中的按鈕大小不變,則使用如下哪個 layout? ( )

A. FlowLayout

B. CardLayout

C. North and South of BorderLayout

D. East and West of BorderLayout

E. GridLayout

27、已知如下的命令執行 java MyTest a b c

請問哪個語句是正確的? ( )

A . args[] = ̶MyTest a b c”

B . args[] = ̶MyTest”

C . args[] = ̶a”

D . args[1]= ̶b”

28、下面哪個語句是創建數組的正確語句?( )

A . float f[][] = new float[6][6];

B . float []f[] = new float[6][6];

C . float f[][] = new float[][6];

D . float [][]f = new float[6][6];

E . float [][]f = new float[6][];

29、下面敘述那些是正確的?()

A:java中的集合類(如Vector)可以用來存儲任何類型的對象,且大小可以自動調整。但需要事先知道所存儲對象的類型,才能正常使用。

B:在java中,我們可以用違例(Exception)來拋出一些並非錯誤的消息,但這樣比直接從函數返回一個結果要更大的系統開銷。

C:java接口包含函數聲明和變量聲明。

D:java中,子類不可以訪問父類的私有成員和受保護的成員。

3、 以下關於數據庫範式的描述,哪些是錯誤的()

A. 如果把多個數據項用一個大的 String 表示爲一個字段,則不滿足第一範式

B. 滿足數據庫範式使得數據庫的效率更高

C. 如果滿足更高的範式,則必須首先滿足低級別的範式

D. 數據庫第二範式要求把表中與所有鍵沒有直接關係的數據全部拆分到其他表中

31、在Hibernate中,元素有一個cascade屬性,如果希望Hibernate級聯保存集合中的對象,casecade屬性應該取什麼值?()

A. none B. save C. delete D. save-update

32、以下程序代碼對Customer的name屬性修改了兩次:

tx = session.beginTransaction();

Customer customer=(Customer)session.load(Customer.class, new Long(1));

customer.setName(̶Jack”);

customer.setName(̶Mike”);

tx.commit();

執行以上程序,Hibernate需要向數據庫提交幾條update語句?()

A. B.1 C. 2 D. 3

33、假設對Customer類的orders集合採用延遲檢索策略,編譯或運行以下程序,會出現什麼情況?()

Session session=sessionFactory.openSession();

tx = session.beginTransaction();

Customer customer=(Customer)session.get(Customer.class,new Long(1));

tx.commit();

session.close();

Iterator orderIterator=customer.getOrders().iterator();

A. 編譯出錯 B. 編譯通過,並正常運行 C. 編譯通過,但運行時拋出異常

34、設棧最大長度爲 3 ,入棧序列爲 1 , 2 , 3 , 4 , 5 , 6 ,則不可能得出棧序列是()

A. 1 , 2 , 3 , 4 , 5 , 6

B. 2 , 1 , 3 , 4 , 5 , 6

C. 3 , 4 , 2 , 1 , 5 , 6

D. 4 , 3 , 2 , 1 , 5 , 6

35、在 UML 方法中,使用多種類型的圖形來幫助進行設計,請問一下那些圖形不是 UML 的圖形類型()

A. 類圖 B. 實體關係圖 C. 序列圖 D. 活動圖

二、問答題

1、閱讀下面的代碼

interface Playable {

void play();

}

interface Bounceable {

void play();

}

interface Rollable extends Playable, Bounceable {

Ball ball = new Ball(̶PingPang”);

}

class Ball implements Rollable {

private String name;

public String getName() {

return name;

}

public Ball(String name) {

this.name = name;

}

public void play() {

ball = new Ball(̶Football”);

System.out.println(ball.getName());

}

}

上面代碼是否有錯,如果有錯,錯誤在何處?

2、詳細解釋下面的語句:

Class.class.getClass()

3、解釋一下什麼是MVC,IOC,AOP,ORM,JNDI,,Hibernate,SSO、Portal?

4、什麼是EJB?EJB和JAVA BEAN有何區別?

5、現有Mysql數據庫,寫Spring + Hibernate的配置文件

數據IP:127...1

數據庫:bdtc

用戶名:root

密碼:mysql

6、請簡要描述一下J2EE應用中的class loader的層次結構?

7、編寫一個截取字符串的函數,輸入爲一個字符串和字節數,輸出爲按字節截取的字符串。 但是要保證漢字不被截半個,如“我ABC”4,應該截爲“我AB”,輸入“我ABC漢DEF”,應該輸出爲“我ABC”而不是“我ABC+漢的半個”。

8、XML 的解析技術有哪些?區別是什麼?你在項目中用到了xml技術的哪些方面?如何實現的?

9、寫一段代碼,實現銀行轉帳功能:

接口定義如下:

Public interface ITransfer{

/**

* 銀行內部轉帳,從轉出帳號中扣除轉帳金額,給轉入帳號增加轉帳金額,需要保證以上兩個操作

* 要麼同時成功,要麼同時失敗

* fromAccountId 轉出帳號

* outAccountId 轉入帳號

* amount 轉帳金額

**/

Public void transferInner(String fromAccountId,String outAccountId,

BigDecimal amount);

/**

* 外部轉帳-轉出,從轉出帳號中扣除轉帳金額

* fromAccountId 轉出帳號

* amount 轉帳金額

**/

Public void transferOut(String fromAccountId,BigDecimal amount);

/**

* 外部轉帳-轉入,給轉入帳號增加轉帳金額

* toAccountId 轉入帳號

* amount 轉帳金額

Public void transerIn (String toAccountId, BigDecimal amount);

}

請編寫你的實現類,來實現上述接口

Account表

字段:accountId , 主鍵 varchar2(32), 用戶帳號

字段:amount , 金額 number(18,3)

1、SQL問答題

表結構:

1、 表名:g_cardapply

字段(字段名/類型/長度):

g_applyno varchar 8: //申請單號 (關鍵字)

g_applydate bigint 8: //申請日期

g_state varchar 2: //申請狀態

2、 表名:g_cardapplydetail

字段(字段名/類型/長度):

g_applyno varchar 8: //申請單號 (關鍵字)

g_name varchar 3: //申請人姓名

g_idcard varchar 18: //申請人身份證號

g_state varchar 2: //申請狀態

其中,兩個表的關聯字爲申請單號

題目:

1、 查詢身份證號碼爲61131981222382的申請日期

2、 查詢同一個身份證號碼有兩條以上記錄的身份證號碼及記錄個數

3、 將身份證號碼爲61131981222382的記錄在兩個表中的申請狀態均改爲7

4、 刪除g_cardapplydetail表中所有姓李的記錄

1、 select g_applydate from g_cardapply a,g_cardapplydetail b where a.g_applyno=b.g_applyno and b.g_idcard=’61131981222382’

2、 select g_idcard,count(g_applyno) from g_cardapplydetail group by g_idcard having count(g_applyno)>2

3、 update g_cardapply a,g_cardapplydetail b set a.g_state=’7’,b.g_state=’7’ where a.g_applyno=b.applyno and b.g_idcard=’ 61131981222382’

4、 delete from g_cardapplydetail where g_name like ‘李%’