軟件開發(fā)工程師JAVA筆試題
java是綜合性比較難的一門學科,下面YJBYS小編為大家精心搜集了關(guān)于軟件開發(fā)工程師的JAVA筆試題,歡迎大家參考借鑒,希望可以幫助到大家!
一、選擇題
1、下面哪項是不合法的標識符:()
A. $persons B. TwoUsers C. *point D. _endline E. final
2、下列運算符合法的是( )
A.&& B.<> C.if D.:=
3、下面描述中哪兩項相等:()[選擇兩項]
4、設(shè)float x = 1,y = 2,z = 3,則表達式 y+=z–/++x的值是:()
A. 3.5 B.3 C. 4 D. 5
5、下面的哪些敘述為真:()
equals()方法判定引用值是否指向同一對象
==操作符判定兩個不同的對象的內(nèi)容和類型是否一致
equal()方法只有在兩個對象的內(nèi)容一致時返回true
類File重寫方法equals()在兩個不同的對象的內(nèi)容和類型一致時返回true
6、如果一個對象僅僅聲明實現(xiàn)了cloneable接口,但是不聲明clone方法,外部能夠調(diào)用其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不會改變實際參數(shù)的數(shù)值
B. call by reference能改變實際參數(shù)的參考地址
C. call by reference不能改變實際參數(shù)的參考地址
D. call by reference能改變實際參數(shù)的內(nèi)容
9、下列說法錯誤的有( )
A. 數(shù)組是一種對象
B. 數(shù)組屬于一種原生類
C. int number=[]={31,23,33,43,35,63}
D. 數(shù)組的大小可以任意改變
1、不能用來修飾interface的有( )
A.private B.public C.protected D.static
11、關(guān)于Float,下列說法正確的是
A.Float是一個類
B.Float在java.lang包中
C.Float a=1.是正確的賦值方法
D.Float a= new Float(1.)是正確的賦值方法
12、下列哪種說法是正確的( )
A. 實例方法可直接調(diào)用超類的實例方法
B. 實例方法可直接調(diào)用超類的類方法
C. 實例方法可直接調(diào)用其他類的實例方法
D. 實例方法可直接調(diào)用本類的類方法
13、下列說法錯誤的有( )
A.在類方法中可用this來調(diào)用本類的類方法
B.在類方法中調(diào)用本類的類方法時可直接調(diào)用
C.在類方法中只能調(diào)用本類中的類方法
D.在類方法中絕對不能調(diào)用實例方法
14、下面說法哪些是正確的?
A.Applet可以訪問本地文件
B.對static方法的調(diào)用不需要類實例
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、關(guān)于以下程序段,正確的說法是:()
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都將執(zhí)行 B. 行4執(zhí)行,行6不執(zhí)行
C. 行6執(zhí)行,行4不執(zhí)行 D. 行4、行6都不執(zhí)行
17、下面程序的執(zhí)行結(jié)果為:()
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關(guān)鍵字聲明的
C. 方法變量在方法執(zhí)行時創(chuàng)建
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、已知如下的命令執(zhí)行 java MyTest a b c
請問哪個語句是正確的? ( )
A . args[] = ̶MyTest a b c”
B . args[] = ̶MyTest”
C . args[] = ̶a”
D . args[1]= ̶b”
28、下面哪個語句是創(chuàng)建數(shù)組的正確語句?( )
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)可以用來存儲任何類型的對象,且大小可以自動調(diào)整。但需要事先知道所存儲對象的類型,才能正常使用。
B:在java中,我們可以用違例(Exception)來拋出一些并非錯誤的消息,但這樣比直接從函數(shù)返回一個結(jié)果要更大的系統(tǒng)開銷。
C:java接口包含函數(shù)聲明和變量聲明。
D:java中,子類不可以訪問父類的私有成員和受保護的成員。
3、 以下關(guān)于數(shù)據(jù)庫范式的描述,哪些是錯誤的()
A. 如果把多個數(shù)據(jù)項用一個大的 String 表示為一個字段,則不滿足第一范式
B. 滿足數(shù)據(jù)庫范式使得數(shù)據(jù)庫的效率更高
C. 如果滿足更高的范式,則必須首先滿足低級別的范式
D. 數(shù)據(jù)庫第二范式要求把表中與所有鍵沒有直接關(guān)系的數(shù)據(jù)全部拆分到其他表中
31、在Hibernate中,元素有一個cascade屬性,如果希望Hibernate級聯(lián)保存集合中的對象,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();
執(zhí)行以上程序,Hibernate需要向數(shù)據(jù)庫提交幾條update語句?()
A. B.1 C. 2 D. 3
33、假設(shè)對Customer類的orders集合采用延遲檢索策略,編譯或運行以下程序,會出現(xiàn)什么情況?()
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、設(shè)棧最大長度為 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 方法中,使用多種類型的圖形來幫助進行設(shè)計,請問一下那些圖形不是 UML 的圖形類型()
A. 類圖 B. 實體關(guān)系圖 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有何區(qū)別?
5、現(xiàn)有Mysql數(shù)據(jù)庫,寫Spring + Hibernate的配置文件
數(shù)據(jù)IP:127...1
數(shù)據(jù)庫:bdtc
用戶名:root
密碼:mysql
6、請簡要描述一下J2EE應用中的class loader的層次結(jié)構(gòu)?
7、編寫一個截取字符串的函數(shù),輸入為一個字符串和字節(jié)數(shù),輸出為按字節(jié)截取的字符串。 但是要保證漢字不被截半個,如“我ABC”4,應該截為“我AB”,輸入“我ABC漢DEF”,應該輸出為“我ABC”而不是“我ABC+漢的半個”。
8、XML 的解析技術(shù)有哪些?區(qū)別是什么?你在項目中用到了xml技術(shù)的哪些方面?如何實現(xiàn)的?
9、寫一段代碼,實現(xiàn)銀行轉(zhuǎn)帳功能:
接口定義如下:
Public interface ITransfer{
/**
* 銀行內(nèi)部轉(zhuǎn)帳,從轉(zhuǎn)出帳號中扣除轉(zhuǎn)帳金額,給轉(zhuǎn)入帳號增加轉(zhuǎn)帳金額,需要保證以上兩個操作
* 要么同時成功,要么同時失敗
* fromAccountId 轉(zhuǎn)出帳號
* outAccountId 轉(zhuǎn)入帳號
* amount 轉(zhuǎn)帳金額
**/
Public void transferInner(String fromAccountId,String outAccountId,
BigDecimal amount);
/**
* 外部轉(zhuǎn)帳-轉(zhuǎn)出,從轉(zhuǎn)出帳號中扣除轉(zhuǎn)帳金額
* fromAccountId 轉(zhuǎn)出帳號
* amount 轉(zhuǎn)帳金額
**/
Public void transferOut(String fromAccountId,BigDecimal amount);
/**
* 外部轉(zhuǎn)帳-轉(zhuǎn)入,給轉(zhuǎn)入帳號增加轉(zhuǎn)帳金額
* toAccountId 轉(zhuǎn)入帳號
* amount 轉(zhuǎn)帳金額
Public void transerIn (String toAccountId, BigDecimal amount);
}
請編寫你的實現(xiàn)類,來實現(xiàn)上述接口
Account表
字段:accountId , 主鍵 varchar2(32), 用戶帳號
字段:amount , 金額 number(18,3)
1、SQL問答題
表結(jié)構(gòu):
1、 表名:g_cardapply
字段(字段名/類型/長度):
g_applyno varchar 8: //申請單號 (關(guān)鍵字)
g_applydate bigint 8: //申請日期
g_state varchar 2: //申請狀態(tài)
2、 表名:g_cardapplydetail
字段(字段名/類型/長度):
g_applyno varchar 8: //申請單號 (關(guān)鍵字)
g_name varchar 3: //申請人姓名
g_idcard varchar 18: //申請人身份證號
g_state varchar 2: //申請狀態(tài)
其中,兩個表的關(guān)聯(lián)字為申請單號
題目:
1、 查詢身份證號碼為61131981222382的申請日期
2、 查詢同一個身份證號碼有兩條以上記錄的身份證號碼及記錄個數(shù)
3、 將身份證號碼為61131981222382的記錄在兩個表中的申請狀態(tài)均改為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 ‘李%’
【軟件開發(fā)工程師JAVA筆試題】相關(guān)文章:
Java軟件開發(fā)工程師筆試題寶典10-15
java軟件開發(fā)工程師簡歷范文10-13
Java工程師筆試題11-15
軟件開發(fā)工程師筆試題12-13
Java工程師面試題11-09
Java開發(fā)工程師上機筆試題12-17