1. 程式人生 > >2016年鏈家網校招筆試(JAVA研發)

2016年鏈家網校招筆試(JAVA研發)

一、單選題

1. 在編寫java Applet程式時,需在程式的開頭寫上()語句

A. import java.awt.*;

B. import java.applet.Applet;

C. import java.io.*;

D. import java.awt.Graphics;

2. 下面的程式段建立了BufferedReader類的物件in,以便讀取本機cmy資料夾下的檔案1.txtFile建構函式中正確的路徑和檔名的表示是()。

File f = new File(填程式碼處);
file = new FileReader(f);
in = new BufferedReader(file);

A. "./1.txt"

B. "../my/1.txt"

C. "c:\\my\\1.txt"

D. "c:\my\1.txt"

11. 關於spring說法錯誤的是()

A. spring是一個輕量級JAVA EE的框架集合

B. spring是“依賴注入”模式的實現

C. 使用spring可以實現宣告事務

D. spring提供了AOP方式的日誌系統

解析:

Spring Framework是一個開源的JavaJava EE全功能棧(full-stack)的應用程式框架,Spring中包含的關鍵特性:
1.強大的基於JavaBeans的採用控制翻轉(Inversion of Control

IoC)原則的配置管理,使得應用程式的組建更加快捷簡易。
2.一個可用於從appletJava EE等不同執行環境的核心Bean工廠。
資料庫事務的一般化抽象層,允許宣告式(Declarative)事務管理器,簡化事務的劃分使之與底層無關。
3.內建的針對JTA和單個JDBC資料來源的一般化策略,使Spring的事務支援不要求Java EE環境,這與一般的JTA或者EJB CMT相反。
4.JDBC 抽象層提供了有針對性的異常等級(不再從SQL異常中提取原始程式碼),簡化了錯誤處理,大大減少了程式設計師的編碼量。再次利用JDBC時,你無需再寫出另一個'終止'finally)模組。並且面向
JDBC的異常與Spring通用資料訪問物件(Data Access Object)異常等級相一致。
5.以資源容器,DAO實現和事務策略等形式與HibernateJDOiBATIS SQL Maps整合。利用眾多的翻轉控制方便特性來全面支援,解決了許多典型的Hibernate整合問題。所有這些全部遵從Spring通用事務處理和通用資料訪問物件異常等級規範。
6.靈活的基於核心Spring功能的MVC網頁應用程式框架。開發者通過策略介面將擁有對該框架的高度控制,因而該框架將適應於多種呈現(View)技術,例如JSPFreeMarkerVelocityTilesiText以及POI。值得注意的是,Spring中間層可以輕易地結合於任何基於MVC框架的網頁層,例如StrutsWebWorkTapestry
7.提供諸如事務管理等服務的面向方面程式設計框架。

另外,Spring並沒有提供日誌系統,我們需要使用AOP(面向方面程式設計)的方式,藉助Spring與日誌系統log4j實現我們自己的日誌系統。

答案D

16. 關於JAVA堆,下面說法錯誤的是()

A. 所有類的例項和陣列都是在堆上分配記憶體的

B. 物件所佔的堆記憶體是由自動記憶體管理系統回收

C. 堆記憶體由存活和死亡的物件,空閒碎片區組成

D. 陣列是分配在棧中的

二、多選題

17. java中關於繼承的描述正確的是()

A. 一個子類只能繼承一個父類

B. 子類可以繼承父類的構造方法

C. 繼承具有傳遞性

D. 父類一般具有通用性,子類更具體

18. 下列有關InnoDBMylSAM說法正確的是()

A. InnoDB不支援FULLTEXT型別的索引

B. InnoDB執行DELETE FROM table命令時,不會重新建表

C. MylSAM的索引和資料是分開儲存的

D. MylSAM支援主外來鍵,索引及事務的儲存

答案ABC

19. 下列選項中,有關死鎖說法正確的是()

A. 採用“按序分配”策略可以破壞產生死鎖的環路等待條件

B. 銀行家演算法是最有代表性的死鎖解除演算法

C. 在資源的動態分配過程中,防止系統進入安全狀態,可避免發生死鎖

D. 產生死鎖的現象是每個程序等待著某一個不能得到且不可釋放的資源

20. 分散式系統設計包括()

A. 容錯,design for fault

B. 多資料中心的資料一致性

C. 資料/服務可靠性

D. 可擴充套件性

E. 要滿足ACID特性

三、程式設計題

1. Description

Jam是個喜歡標新立異的科學怪人。他不適用阿拉伯數字計數,而是使用小寫英文字母計數,他覺得這樣做,會使世界更加豐富多彩。在他的計數法中,每個數字的位數都是相同的(使用相同個數的字母),英文字母按原先的順序,排在前面的字母小於排在它後面的字母。我們把這樣的“數字”稱為Jam數字。在Jam數字中,每個字母互不相同,而且從左到右是嚴格遞增的。每次,Jam還指定使用字母的範圍,例如,從210,表示只能使用{b,c,d,e,f,g,h,i,j}這些字母。如果再規定位數為5,那麼,緊接在Jam數字“bdfij”之後的數字應該是“bdghi”。(如果我們用UV依次表示Jam數字“bdfij”與“bdghi”,則U<V<span>,且不存在Jam數字P,使U<P<V< span>)。你的任務是:對於從檔案讀入的一個Jam數字,按順序輸出緊接在後面的5Jam數字,如果後面沒有那麼多Jam數字,那麼有幾個就輸出幾個。

Input

輸入檔案counting.in 2行,第1行為3個正整數,用一個空格隔開:

s t w

(其中s為所使用的最小的字母的序號,t為所使用的最大的字母的序號,w為數字的位數,這3個數滿足:1<=s<T< span><=26,2<=w<=t-s

2行為具有w個小寫字母的字串,為一個符合要求的Jam數字。

所給的資料都是正確的,不必驗證。

Output

輸出檔案counting.out 最多為5行,為緊接在輸入的Jam數字後面的5Jam數字,如果後面沒有那麼多Jam數字,那麼有幾個就輸出幾個。每行只輸出一個Jam數字,是由w個小寫字母組成的字串,不要有多餘的空格。

輸入示例:

2 10 5
bdfij

輸出示例:

bdghi
bdghj
bdgij
bdhij
befgh

2.description

給定一顆二叉樹,要求輸出二叉樹的深度以及中序遍歷二叉樹得到的序列。本題假設二叉樹的結點數不超過1000

Input

輸入資料分為多組,第一行是測試資料的組數n,下面的n行分別代表一棵二叉樹。每棵二叉樹的結點均為正整數,資料為0代表當前結點為空,資料為-1代表二叉樹資料輸入結束,-1不作處理。二叉樹的構造按照層次順序(即第11個整數,第22個,第34個,第48.......,如果某個結點不存在以0代替)

Output

輸出每棵二叉樹的深度以及中序遍歷二叉樹得到的序列

輸入示例:

2
1 -1
1 2 0 3 4 -1

輸出示例:

1 1
3 3 2 4 1