- 相關(guān)推薦
北京神舟航天軟件筆試題
在學(xué)習(xí)和工作的日常里,我們或多或少都會(huì)接觸到試題,試題是命題者根據(jù)測(cè)試目標(biāo)和測(cè)試事項(xiàng)編寫出來的。相信很多朋友都需要一份能切實(shí)有效地幫助到自己的試題吧?以下是小編收集整理的北京神舟航天軟件筆試題,希望能夠幫助到大家。
北京神舟航天軟件筆試題 1
基礎(chǔ)篇(100分鐘)(滿分100分)
(一) 不定項(xiàng)選擇題(36分,每小題1.5分)
基本語法測(cè)試
1.給定如下代碼
class Test{
private int m;
public static void fun() {
// some code...
}
}
怎樣修改才能使變量m能夠在方法fun()中直接使用
A.改成protected int m
B. 改成public int m
C. 改成static int m
D. 改成int m to int m
2.下面的方法中那個(gè)是public void example(){...}的正確的重載函數(shù)(JDK1.4)
A. public void example( int m){...}
B. public int example(){...}
C. public void example2(){...}
D. public int example ( int m, float f){...}
3.給出如下定義
String s = "story";
下面的表達(dá)式中那個(gè)是正確的?
A. s += "books";
B. char c = s[1];
C. int len = s.length;//沒有()
D. String t = s.toLowerCase();
4.給定如下代碼段:
boolean m = false;
if ( m = false )
System.out.println("False");
else
System.out.println("True");
其運(yùn)行結(jié)果是什么?
A. False
B. True
C. None
D. 有錯(cuò)誤,無法編譯通過.
5. 所給代碼如下:
1) class Example{
2) String str;
3) public Example(){
4) str= "example";
5) }
6) public Example(String s){
7) str=s;
8) }
9) }
10) class Demo extends Example{
11) }
12) public class Test{
13) public void f () {
14) Example ex = new Example("Good");
15) Demo d = new Demo("Good");
16) }
17) }
該代碼會(huì)在那一行出錯(cuò)?
A. line 3
B. line 6
C. line 10
D. line 14
E. line 15
6. 下面那種描述是正確的?
A. 在Java中不允許多重繼承,這樣可以使程序更加可靠
B. 子類繼承父類的所有方法 (包括構(gòu)造方法)
C. 一個(gè)類可以實(shí)現(xiàn)很多接口.
D. 當(dāng)一個(gè)類實(shí)現(xiàn)一個(gè)接口,那么他就必須定義該接口中的所有方法。
7. 下面關(guān)于final、finally、finalize描述正確的是
A. final可以被用來做常量的定義關(guān)鍵字
B. finally可以被用作類限定詞
C. finalize可以被用來進(jìn)行錯(cuò)誤處理
D. final可以被用來作為垃圾回收的回調(diào)函數(shù)
E. final可以被用來作為一個(gè)抽象函數(shù)的限定詞,如: public final abstract fun();
8. 下面關(guān)于String描述正確的是:
A. String str1=”aa”; String str2=”aa”; System.out.println((str1==str2)); 輸出為true
B. String str1=”aa”; String str2=”aa”; System.out.println(str1.equals(str2)); 輸出為true
C. String str1 = “aaaa” + “bbbbb” + “aaaa”; 會(huì)產(chǎn)生5個(gè)對(duì)象
D. String aaa = “aaaaaa[dd”.replaceAll(“[“, “c”); aaa的值變?yōu)椤盿aaaaacdd”
IO方面API測(cè)試
9. 下面哪些Java中的流對(duì)象是字節(jié)流?
A. FileInputStream B. BufferedInputStream
C. PushbackInputStream D. ByteArrayInputStream
10. 下面的類哪些可以處理Unicode字符?
A. InputStreamReader
B. BufferedReader
C. Writer
D. PipedInputStream
Java異常處理
11. 下面程序的輸出結(jié)果是什么
class TestException{
public static void main( String[] args ){
int i = 0;
try {
if (i == 0) {
throw new IOException("IO Error");
}
} catch (IOException ioex) {
System.out.print(ioex.getMessage());
i++;
} catch (Exception ex) {
System.out.print("Exception Find") ;
i += 2;
} finally {
i++;
}
try {
if (i == 1) {
throw new IOException("IO Error");
}
if (i == 2) {
throw new Exception("Exception Find");
} else {
throw new Error( "Unknow Error" ) ;
}
} catch( IOException ex ){
System.out.print(ex.getMessage());
} catch (Exception ex) {
System.out.print(ex.getMessage());
} catch (Throwable tr){
System.out.print(tr.getMessage());
}
}
}
A. IO ErrorIO Error
B. IO ErrorUnknow Error
C. IO ErrorException Find
D. Exception FindIO Error
E. Exception FindException Find
Java多線程測(cè)試
12. 如果一個(gè)線程調(diào)用了wait(), 那個(gè)方法可以讓他繼續(xù)運(yùn)行?
A. join()
B. resume()
C. notify()
D. notifyAll()
E. high priority thread is ready
13. 下面那個(gè)方法被用來定義線程的執(zhí)行體?
A. start()
B. init()
C. run()
D. main()
E. synchronized()
14. 下面那個(gè)關(guān)鍵字用于對(duì)線程進(jìn)行互斥訪問控制?
A. native
B. static
C. synchronized
D. abstract
數(shù)據(jù)結(jié)構(gòu)API
15. 下面那個(gè)Java中的類可以用來保存數(shù)據(jù)時(shí)隨機(jī)訪問效率較高
A. ArrayList B. Vector C.LinkList D.Stack
16. 下面那個(gè)Java類中可以用來用來保存鍵值對(duì)
A. HashSet B. HashMap C.LinkList D.Stack
Swing開發(fā)測(cè)試
17. 下面那個(gè)容器對(duì)象必須要添加到其他的容器對(duì)象中才能使用?
A. Window
B. Frame
C. Dialog
D. Panel
18. 下面哪些類是Java中的布局管理器?
A. CardLayout
B. BorderLayout
C. PanelLayout
D. GridLayout
E. BagLayout
19. 將一個(gè)Button放置到一個(gè)Frame中,使這個(gè)Button的高隨著Frame的改變而改變,但是寬度不隨之改變,應(yīng)該采用哪種布局方式?
A. FlowLayout
B. CardLayout
C. North and South of BorderLayout
D. East and West of BorderLayout
E. GridLayout
20. 下面哪些方法能夠在類EventObject中得到事件源?
A. getFrame() B. getID()
C. getSource() D. getWindow()
21. 下面那個(gè)關(guān)于事件探聽器的描述是正確的?
A. 一個(gè)組件可以注冊(cè)多個(gè)事件探聽器.
B. 一個(gè)組件只能注冊(cè)一個(gè)事件探聽器.
C. 一個(gè)探聽器可以接收和處理來自多個(gè)組件的事件.
D. 一個(gè)探聽器只能接收和處理來自一個(gè)組件的'事件.
22. 下面的類哪些不是Java中的容器類?
A. ScrollPane
B. JLabel
C. Scrollbar
D. Dialog
網(wǎng)絡(luò)通訊測(cè)試
23. 下面的類中哪些被用來實(shí)現(xiàn)Tcp/Ip協(xié)議的客戶端和服務(wù)器端程序?
A. ServerSocket
B. Server
C. Socket
D. DatagramPacket
E. DatagramSocket
24. 下面關(guān)于TCP和UDP的描述正確的是:
A. TCP連接發(fā)送數(shù)據(jù)之前必須保證網(wǎng)絡(luò)連接已經(jīng)成功建立
B. UDP連接發(fā)送數(shù)據(jù)之前必須保證網(wǎng)絡(luò)連接已經(jīng)成功建立
C. ServerSocket類建立的是TCP連接
D. DatagramSocket類建立的是UDP連接
(二) 問答題(34分)
數(shù)據(jù)庫基礎(chǔ)知識(shí)
1、 分別寫出數(shù)據(jù)庫邏輯結(jié)構(gòu)中各種不同對(duì)象的作用(表,視圖,序列,存儲(chǔ)過程,索引,主鍵,外鍵,約束,觸發(fā)器)(10分)
SQL問答題
2、 根據(jù)要求寫出Sql查詢語句(10分)
表結(jié)構(gòu):
1、 表名:g_cardapply
字段(字段名/類型/長(zhǎng)度):
g_applyno varchar 8;// 申請(qǐng) 單號(hào)(關(guān)鍵字)
g_applydate bigint 8;//申請(qǐng)日期
g_state varchar 2;//申請(qǐng)狀態(tài)
2、 表名:g_cardapplydetail
字段(字段名/類型/長(zhǎng)度):
g_applyno varchar 8;//申請(qǐng)單號(hào)(關(guān)鍵字)
g_name varchar 30;//申請(qǐng)人姓名
g_idcard varchar 18;//申請(qǐng)人身份證號(hào)
g_state varchar 2;//申請(qǐng)狀態(tài)
其中,兩個(gè)表的關(guān)聯(lián)字段為申請(qǐng)單號(hào)。
題目:
1、 查詢身份證號(hào)碼為440401430103082的申請(qǐng)日期
Select applay. g_applydate
From g_cardapply applay, g_cardapplydetail detail
Where applay. g_applyno=detail. g_applyno
And detail. g_idcard=’ 440401430103082’
2、 將身份證號(hào)碼為440401430103082的記錄在兩個(gè)表中的申請(qǐng)狀態(tài)均改為07
Update g_cardapply apply, g_cardapplydetail detail set applay.g_state=’07’, detail.g_state=’07’ Where applay. g_applyno=detail. g_applyno
And detail. g_idcard=’ 440401430103082’
3、 刪除g_cardapplydetail表中所有姓李的記錄
Delete from g_cardapplydetail where g_name like ‘李%’
Java API運(yùn)用
3、 請(qǐng)寫出你所知道的Java API中所提供的數(shù)據(jù)結(jié)構(gòu)模型(例如Vector),并指出各數(shù)據(jù)模型在存儲(chǔ)結(jié)構(gòu)上和使用上有什么不同。(7分)
4、 指出JDBC中三種不同類型的Statement(Statement、PreparedStatement、CallableStatement)的用途分別是什么。(7分)
(三) 讀程序?qū)懡Y(jié)果(10分)
寫出下面程序的運(yùn)行結(jié)果,下面程序有些可能根本無法通過編譯,如果無法編譯通過,請(qǐng)指出錯(cuò)誤原因。
1、寫出下面程序的運(yùn)行結(jié)果:(3分)
public class Test {
public static void changeStr(String str){
str="welcome";
}
public static void main(String[] args) {
String str="1234";
changeStr(str);
System.out.println(str);
}
}
2、寫出下面程序的運(yùn)行結(jié)果(5分)
class Foo{
public static void main(String args[]){
int x=4,j=0;
switch(x){
case 1:j++;
case 2:j++;
case 3:j++;
case 4:j++;
case 5:j++;
default:j++;
}
System.out.println(j);
}
}
(四) 代碼查錯(cuò)(10分)
1、指出下面程序的運(yùn)行錯(cuò)誤(4分)
public class OutClass{
private int varInOuterClass = 0;
public OutClass(){
}
public void callOutter(){
int varInOuterMethod = 0;
class InnerClass{
private int varInInnerClass = 0;
public InnerClass(){
}
public void print(){
System.out.println("varInOuterClass" + varInOuterClass);
System.out.println("varInInnerClass" + varInInnerClass);
System.out.println("varInInnerClass" + varInOuterMethod);
}
}
InnerClass inner = new InnerClass();
inner.print();
}
public static void main(String[] args){
OutClass out = new OutClass();
out.callOutter();
}
}
2、指出下面程序的運(yùn)行錯(cuò)誤(3分)
public class Something {
public static void main(String[] args) {
Something s = new Something();
System.out.println("s.doSomething() returns " + doSomething());
}
public String doSomething() {
return "Do something ...";
}
}
(五) 編程題(10分)
算法設(shè)計(jì)能力測(cè)試(10分)
1、編寫一個(gè)類,該類封裝了一元二次方程共有的屬性和功能,即該類有刻畫方程系數(shù)的3個(gè)成員變量以及計(jì)算實(shí)根的方法。
方程: 求根方法為 要求:該類的所有對(duì)象共享常數(shù)項(xiàng)。
下面給出了您在程序中可能會(huì)使用到的功能類,及其部分接口的API文檔,在程序中可以進(jìn)行使用,
參考答案
(一)不定項(xiàng)選擇
1, C 2, A D 3, A D 4, B 5, E 6, A C D 7, A E 8, A B 9, A B C D
10, A B C 11, C 12, C D 13, C 14, C 15, C 16, B 17, D, 18, A B D
19, D, 20, C D 21,B C 22, B C 23, A C E 24, A C D
(五)編程題
public class Equation {
public float a;
public float b;
public float c;
public double[] d;
public Equation(float a, float b, float c) {
this.a = a;
this.b = b;
this.c = c;
this.d = new double[2];
}
boolean getRealRoot() {
float temp = b * b - 4 * a * c;
if (temp < 0)
return false;
else {
this.d[0] = (-b + Math.sqrt(temp)) / (2 * a);
this.d[1] = (-b - Math.sqrt(temp)) / (2 * a);
return true;
}
}
public static void main(String[] arg) {
Equation e1 = new Equation(1, 2, 1);
if (e1.getRealRoot()) {
System.out.print(e1.d[0]);
System.out.print(";");
System.out.println(e1.d[1]);
} else {
System.out.print("no real root");
}
}
}
北京神舟航天軟件筆試題 2
一、選擇題
數(shù)據(jù)結(jié)構(gòu)
A. 某種前序遍歷為EAFCBD,LC(C的左指針)的存放地址為n+4
B. 某種層次遍歷為EFACDB,LC的內(nèi)容為n+8
C. 某種前序遍歷為EABCFD,RA(A的右指針)的內(nèi)容為n+16
D. ……(其他選項(xiàng),根據(jù)具體題目給出)
一株查找二叉樹,其結(jié)點(diǎn)A、B、C、D、E、F依次存放在一個(gè)起始地址為n(假定地址以字節(jié)為單位順序編號(hào))的連續(xù)區(qū)域中,每個(gè)節(jié)點(diǎn)占4個(gè)字節(jié):前兩個(gè)字節(jié)存放結(jié)點(diǎn)值,后兩個(gè)字節(jié)依次放左指針、右指針。若該查找二叉樹的根結(jié)點(diǎn)為E,則關(guān)于其遍歷和指針存放地址的說法,下列哪項(xiàng)是正確的?
軟件測(cè)試
A. alpha測(cè)試需要用用戶代表參加
B. alpha測(cè)試不需要用用戶代表參加
C. alpha測(cè)試是系統(tǒng)測(cè)試的一種
D. alpha測(cè)試是驗(yàn)收測(cè)試的`一種(正確答案可能包括A和D,根據(jù)具體題目要求確定)
下列關(guān)于alpha測(cè)試的描述中正確的是?
編程語言
A. 數(shù)組名代表數(shù)組的首地址,是常量
B. 指針可以指向數(shù)組中的任何一個(gè)元素,并且指針可以加減整數(shù)來遍歷數(shù)組
C. 數(shù)組可以通過下標(biāo)訪問,也可以通過指針運(yùn)算來訪問
D. 以上都是正確的
在C語言中,以下哪項(xiàng)關(guān)于數(shù)組和指針的說法是正確的?
二、填空題
在UNIX操作系統(tǒng)中,查看系統(tǒng)進(jìn)程使用的命令是__________。
答案:ps –ef
軟件能力成熟度模型CMMI一共有__________個(gè)級(jí)別。
答案:五
黑盒測(cè)試的常用方法包括等價(jià)類劃分、邊界值、__________、功能圖等。
答案:因果圖(或其他黑盒測(cè)試方法,如正交試驗(yàn)、場(chǎng)景法、錯(cuò)誤推測(cè)法等)
【北京神舟航天軟件筆試題】相關(guān)文章:
聯(lián)想北京24號(hào)12點(diǎn)筆試題目分享08-24
軟件測(cè)試 試題12-12
軟件筆試題10-23
中興2015筆試題08-22
360筆試題分享10-09
迅雷2011.10.21筆試題09-09
軟件類筆試題12-09
中興軟件筆試題10-07