java編碼規(guī)范考試題答案_第1頁
java編碼規(guī)范考試題答案_第2頁
java編碼規(guī)范考試題答案_第3頁
java編碼規(guī)范考試題答案_第4頁
java編碼規(guī)范考試題答案_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、一、單選題1. 如下關(guān)于集合類的描述錯誤的是 BA. 含有集合意義的屬性命名,盡量包含其復(fù)數(shù)的意義B. 集合中的數(shù)據(jù)不需要釋放,垃圾回收器會自動回收C. 集合必須指定模板類型D. 使用集合類時要設(shè)置初始化容量2. 關(guān)于線程以下說法錯誤的有BA. 新起一個線程,都要使用Thread.setName(“”)設(shè)置線程名B. 在JDK1.5或更新的版本中,若字符串拼接發(fā)生在單線程環(huán)境,使用StringBufferC. 對多線程訪問的變量、方法,必須加鎖保護(hù),避免出現(xiàn)多線程并發(fā)訪問引起的問題D. 線程使用時,要在代碼框架中使用線程池,避免創(chuàng)建不可復(fù)用的線程;禁止在循環(huán)中創(chuàng)建新線程,否則會引起JVM資源耗

2、盡3. 下面哪個是推薦使用的對稱密碼算法BA. DESB. AESC. SHAD. RSA4. 以下說法正確的有CA. 程序中的一些狀態(tài)多直接用數(shù)字表示,如函數(shù)執(zhí)行成功return 1B. 對于表示函數(shù)執(zhí)行錯誤,多用約定的錯誤碼來標(biāo)識C. 用有意義的靜態(tài)變量或者枚舉來代替數(shù)字型的程序狀態(tài),如函數(shù)執(zhí)行成功return SUCCESSD. 程序中的魔鬼數(shù)字并不可怕,需要所有開發(fā)人員努力理解這些數(shù)字的含義5. 下列錯誤使用異常的做法是DA. 在程序中使用異常處理還是使用錯誤返回碼處理,根據(jù)是否有利于程序結(jié)構(gòu)來確定,并且異常和錯誤碼不應(yīng)該混合使用,推薦使用異常B. 一個方法不應(yīng)拋出太多類型的異常。th

3、rows/exception子句標(biāo)明的異常最好不要超過三個C. 異常捕獲盡量不要直接 catch (Exception ex),應(yīng)該把異常細(xì)分處理D. 程序內(nèi)拋出的異常本身就可說明異常的類型、拋出條件,可不填寫詳細(xì)的描述信息。捕獲異常后用exception.toString()取到詳細(xì)信息后保存6. 關(guān)于命名規(guī)范,以下說法錯誤的有DA. 屬性名使用意義完整的英文描述,第一個單詞的字母使用小寫,剩余單詞首字母大寫其余字母小寫的大小寫混合法。屬性名不能與方法名相同B. 方法名使用類意義完整的英文描述:第一個單詞的字母使用小寫、剩余單詞首字母大寫其余字母小寫的大小寫混合法C. 方法中,存取屬性的方法

4、采用setter 和 getter方法,動作方法采用動詞和動賓結(jié)構(gòu)D. 常量名使用全大寫的英文描述,英文單詞之間用下劃線分隔開,并且使用 static 修飾y1 7. 下列哪個場景可以使用java.util.Random類產(chǎn)生的隨機(jī)數(shù)CA. 挑戰(zhàn)算法中的隨機(jī)數(shù)生成B. 驗(yàn)證碼的隨機(jī)數(shù)生成C. 隨機(jī)選取路由D. Web應(yīng)用會話標(biāo)識符8. 一段使用ZipInputStream對壓縮文件進(jìn)行解壓的代碼,在1處填入適合的關(guān)鍵字是Apublic RandomAccessFile openFile(java.io.File f) 1 java.io.File copy = new java.io.File

5、(f.getPath();askUserPermission(copy.getPath();/ .return (RandomAccessFile)AccessController.doPrivileged(new PrivilegedAction () public Object run() return new RandomAccessFile(copy, copy.getPath(););A. finalB. staticC. volatileD. private9. 安全編程規(guī)范中,下面說法錯誤的是D A. 對外部輸入進(jìn)行校驗(yàn)B. 禁止不受信任的代碼直接終止JVMC. 創(chuàng)建文件時指定合

6、理的訪問權(quán)限D(zhuǎn). 記錄日志時可以拋異常10. 若程序中需要獲取操作系統(tǒng)登錄用戶名,應(yīng)采取下列哪種方法來獲取CA. 提示用戶輸入B. 由環(huán)境變量獲取:System.getenv(USER)C. 由JVM屬性獲取:System.getProperty()D. 啟動程序的時候由程序參數(shù)傳入11. 以下說法正確的是A A. 盡量使用Java 5.0新循環(huán)寫法B. 判斷一個變量是否等于null、或者一個常量,應(yīng)把變量放在操作符的左邊C. 方法參數(shù)不能超過7個D. 用“=”比較兩個字符串內(nèi)容相等12. 在下列哪個場景中,不需要加密和數(shù)字簽名機(jī)制保證數(shù)據(jù)安全DA. 序列化傳輸敏感數(shù)據(jù)B.

7、無SSL傳輸通道或者代價(jià)太高C. 敏感數(shù)據(jù)需要持久化長久保存D. 同一信任域內(nèi)組件間傳遞13. 下列JDK中的API調(diào)用中若使用不當(dāng)易遭致OS命令注入的是BA. java.lang.System.load()B. java.lang.Runtime.exec()C. java.lang.Thread.start()D. java.lang.Process.waitFor()14. 如下描述不正確的是DA. 除了構(gòu)建器外,不要使用和類名相同的方法名B. 使用 equals() 比較兩個類的值是否相同C. 不要使用嵌套賦值,即在一個表達(dá)式中使用多個 =D. 重載 equals() 方法時,不必要重

8、載 hashCode() 方法15. 下列不符合編碼規(guī)范的是CA. 數(shù)據(jù)庫、IO操作等需要使用結(jié)束close()的對象必須在try-catch-finally 的finally中close()B. 數(shù)組聲明的時候使用 int index ,而不要使用 int indexC. 所有的類必須重載toString()方法,返回該類有意義的內(nèi)容D. 自己拋出的異常必須要填寫詳細(xì)的描述信息16. 對于下面的代碼片段,假設(shè)PasswordManager的實(shí)例可以被非信任代碼所訪問,且changePassword()方法調(diào)用屬于敏感操作,則下列說法中不正確是的Cpublic class PasswordMa

9、nagerpublic final Object lock = new Object(); public void changePassword() throws FileNotFoundExceptionsynchronized (lock) / . . .A. changePassword()方法中應(yīng)該包含安全管理器檢查,以確認(rèn)調(diào)用代碼是否具有該操作權(quán)限B. 應(yīng)該將lock成員變量的可見性聲明為privateC. 可以省去changePassword()方法中的同步塊,直接將changePassword()方法聲明為synchronized修飾的同步方法D. changePassword(

10、)方法不應(yīng)該拋出FileNotFoundException異常17. 推薦的防御SQL注入的最佳方式是CA. 限制外部輸入的長度B. 使用存儲過程C. 使用預(yù)編譯語句-java.sql.PreparedStatementD. 對外部輸入進(jìn)行轉(zhuǎn)義18. JAAS授權(quán)類中,不包含以下哪一類DA. PolicyB. AuthPermissionC. PrivateCredentialPermissionD. LoginContext19. 下面說法或者語句不符合公司編程規(guī)范的排版要求的是DA. 逗號、分號只在后面加空格; 比較操作符, 賦值操作符=、 +=,算術(shù)操作符+、%,邏輯操作符&、&,位域操

11、作符80字符)要分成多行書寫,長表達(dá)式要在低優(yōu)先級操作符處劃分新行,操作符放在新行之首,劃分出的新行要進(jìn)行適當(dāng)?shù)目s進(jìn),使排版整齊,語句可讀D. if, for, do, while等語句的執(zhí)行語句如果只有一行的話,不需要要加括號20. 對于注釋的描述錯誤的是CA. 公有和保護(hù)方法注釋內(nèi)容:列出方法的一句話功能簡述、功能詳細(xì)描述、輸入?yún)?shù)、輸出參數(shù)、返回值、異常等B. 對重載父類的方法必須進(jìn)行Override聲明C. 對關(guān)鍵變量的定義必須編寫注釋,分支語句(條件分支、循環(huán)語句等),可以根據(jù)實(shí)際情況,可以增加注釋,也可以不加,根據(jù)注釋量確定D. 對于方法內(nèi)部用throw語句拋出的異常,必須在方法的

12、注釋中標(biāo)明,對于所調(diào)用的其他方法所拋出的異常,選擇主要的在注釋中說明。 對于非RuntimeException,即throws子句聲明會拋出的異常,必須在方法的注釋中標(biāo)明二、多選題21. 如下類名符合公司規(guī)范的有CDA. FtpDownload_UtilB. DEBUGLOGC. OrderResponseD. UserManager22. 如下哪些地方應(yīng)該加上空行ABDA. import語句與類定義之間B. 注釋與其上面的無關(guān)的代碼之間C. 注釋和被注釋的代碼之間D. 變量說明之后23. 關(guān)于局部變量說法,符合編程規(guī)范的說法是ABCA. 不要定義不會被用到的局部變量,類私有屬性,類私有方法和

13、方法參數(shù)B. 幾乎每一個局部變量的聲明都應(yīng)該包含一個初始化表達(dá)式C. 變量定義的“就近原則”D. 屬性名可以和公有方法參數(shù)相同,也可以和局部變量相同24. 下列說法描述正確的是ABCDA. public方法參數(shù)的合法性檢查應(yīng)由方法本身負(fù)責(zé),每一個public方法必須保證自己的健壯性B. 調(diào)用方法獲取返回結(jié)果后必須進(jìn)行有效性校驗(yàn),以確保后續(xù)代碼在運(yùn)行過程中不會拋出異?;虍a(chǎn)生邏輯錯誤C. 訪問數(shù)組、List等容器內(nèi)的元素時,必須首先檢查下標(biāo)是否越界,杜絕下標(biāo)越界異常的發(fā)生D. 對于if ? else if ?(后續(xù)可能有多個else if )這種類型的條件判斷,最后必須包含一個else分支,避免出

14、現(xiàn)分支遺漏造成錯誤;每個switch-case語句都必須保證有default,避免出現(xiàn)分支遺漏,造成錯誤25. 下面關(guān)于存取控制符號的描述,符合編程規(guī)范的有ABCA. 只是該類內(nèi)部調(diào)用的函數(shù)使用 private 屬性B. 繼承類可以使用的使用protected屬性C. 對外公開的函數(shù)使用public屬性D. 類的成員變量的盡量采用protected修飾,其他類可以通過類的成員方法來訪問和修改變量26. 下列關(guān)于類和接口的注釋,正確的說法有ABCA. 放在class或者interface關(guān)鍵字之前B. 放在import關(guān)鍵字之后C. 注釋主要是一句話功能簡述與功能詳細(xì)描述D. 類注釋使用“/*/

15、”注釋方式27. 以下說法正確的有ABCDA. 一個系統(tǒng)或者模塊應(yīng)該統(tǒng)一規(guī)劃異常類型和返回碼的含義B. 異常的處理效率比條件分支低C. 異常的跳轉(zhuǎn)流程難以預(yù)測D. 系統(tǒng)非正常運(yùn)行產(chǎn)生的異常捕獲后,如果不對該異常進(jìn)行處理,則應(yīng)該記錄日志28. 關(guān)于異常,以下說法正確的有ACA. 運(yùn)行時異常使用RuntimeException的子類來表示,不用在可能拋出異常的方法聲明上加throws子句B. 運(yùn)行時異常使用RuntimeException的子類來表示,必須在可能拋出異常的方法聲明上加throws子句C. 非運(yùn)行期異常是從Exception繼承而來的,必須在方法聲明上加throws子句D. 非運(yùn)行期

16、異常是從Exception繼承而來的,不需要在方法聲明上加throws子句29. 下述排版代碼中,符合編碼規(guī)范的是CDA. if (ij) doStart();B. Object o = new Object(); Object b = null;C. 類定義 類的公有屬性定義 類的保護(hù)屬性定義 類的私有屬性定義 類的公有方法定義 類的保護(hù)方法定義 類的私有方法定義 D. typeCounter *= 2;30. 循環(huán)嵌套的時候,下面哪些情況需要盡量避免ABCDA. 實(shí)例化對象B. try/catchC. 開啟IOD. 連接數(shù)據(jù)庫31.當(dāng)與非信任代碼(非產(chǎn)品包).ACD32.以下哪些方式是被禁

17、止的 ABC33.當(dāng)外部輸入用于以下。合法性驗(yàn)證。ABCD34.以下哪些場景。安全檢查 ACD35.下列異常中,哪些易引起信息泄露 ABCD36.下列關(guān)于編碼相關(guān),錯誤的是。ACD37.目錄遍歷攻擊。AC38.對于文件IO操作。ABCD39.安全規(guī)范中,如下。正確的有 ACD40.為防止敏感數(shù)據(jù)傳輸。ABC三、判斷題41. 將字符串轉(zhuǎn)換為數(shù)字時必須處理NumberFormatException異常42. 一個文件不要定義兩個類(并非指內(nèi)部類)43. interface 中定義的常量不要寫public、static、final的修飾詞,方法需要寫public修飾詞 44. 應(yīng)明確規(guī)定對接口方法參數(shù)的合法性檢查應(yīng)由方法的調(diào)用者負(fù)責(zé)還是由接口方法本身負(fù)責(zé),缺省是由方法調(diào)用者負(fù)責(zé)45. 代碼提交前,需要消除相應(yīng)的錯誤、告警,并將findbug清零46. 對于switch語句下的case語句,必須在每個case分支結(jié)束前加上break語句47. 判斷語句可以使用”* = true”來判斷為真 48. 不要使用循環(huán)將集合轉(zhuǎn)為數(shù)組,可以使用集合的toArray()方法49. 實(shí)現(xiàn)Seria

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論