考試網址: https://edu.aliyun.com/clouder/exam/intro/33
共50道題 限時90分鍾
阿里雲大學Apsara Clouder基礎技能認證——阿里巴巴編碼規范認證考試。成績在80分以上可獲得認證證書。本考試應用了防作弊系統,請遵守考試秩序。(Java代碼在線檢測及IDE插件下載:https://edu.aliyun.com/course/417) 【注意:本認證考試不提供錯題答案查看】
答題開始即開始計時,中途不可暫停,如超時則自動提交
1、考試共 (50) 道題,總分100分,及格分數80分
2、考試需在(90分鍾)內交卷,過程中無法暫停,請提前安排好時間;如未及時交卷,則本次考試作廢
3、推薦使用 Chrome 瀏覽器(版本:73及以上的正式版本),或Firefox瀏覽器(版本:66及以上的正式版本)
4、開始答題前會進行身份驗證,需要您拍攝並上傳身份證正面照片,並按照系統要求開啟攝像頭進行面部識別
5、考試過程中請保持攝像頭開啟並對准面部,系統會不定時進行抓拍,並與身份證照片做對比,如發現作弊行為,您的考試成績將作廢
6、考試過程中,系統將判斷您的瀏覽器狀態,如發現最小化瀏覽器、切換標簽頁、窗口縮小或擴大等行為,以及彈出廣告彈窗,將會給出警告。如果次數過多您的考試成績將作廢
7、考試前請關閉即時通信軟件以及其他可能會有彈窗的軟件,以免影響您的考試
搜集的一些考題:
多選 1.關於多線程並行處理定時任務的情況,下列哪些說法符合《阿里巴巴Java開發手冊》:BCD
A .推薦使用Timer方式處理。
B .推薦使用ScheduledExecutorService方式處理。
C .Timer運行多個TimeTask時,只要其中之一沒有捕獲拋出的異常,其它任務便會自動終止運行。
D .ScheduledExecutorService並發運行多個定時任務時,其中某線程拋出異常,不會影響到其它線程的繼續運行。
————————————————
多選 2.在多線程並發讀寫的情況下,下列哪些處理方式能保證對象的線程安全:BCD
A .使用volatile關鍵字。
B .使用synchronized關鍵字給對象的讀寫操作加鎖。
C .如果是基本類型,推薦使用java.util.concurrent.atomic包下面提供的線程安全的基本類型包裝類,例如AtomicInteger。
D .如果是集合,推薦使用java.util.concurrent提供的並發集合類,例如:ConcurrentHashMap。
備注:
(volatile 解決多線程內存不可見問題。對於一寫多讀,是可以解決變量同步問題,
但是如果多寫,同樣無法解決線程安全問題。)
————————————————
多選 6.關於線程池管理線程的好處,下列哪些說法是正確的:AC
A .能夠減少在創建和銷毀線程上所花的時間以及系統資源的開銷。
B .使用線程池一定能避免OOM問題。
C .線程資源必須通過線程池提供,不允許在應用中自行顯式創建線程。
D .線程池能夠根據資源等待情況,自動調整線程優先級並解決死鎖問題。
————————————————
多選 20.關於加鎖,下列哪些說法符合《阿里巴巴Java開發手冊》:ABCD
A .可以只鎖代碼區塊的情況下,就不要鎖整個方法體。
B .高並發的業務場景下,要考慮加鎖及同步處理帶來的性能損耗,能用無鎖數據結構,就不要用鎖。
C .能用對象鎖的情況下,就不要用類鎖。
D .加鎖時需要保持一致的加鎖順序,否則可能會造成死鎖。
多選 2.關於數據庫中表相關的命名,下列哪些說法符合《阿里巴巴Java開發手冊》:ABD
A .表名、字段名禁止出現數字開頭,禁止兩個下划線中間只出現數字。
B .表名不使用復數名詞。
C .表必備三字段命名:id, gmt_create, gmt_modify。
D .表必備三字段命名:id, gmt_create, gmt_modified。
————————————————
1.4版本
1.5版本
單選 4.關於使用explain對數據庫性能進行優化分析,下列哪些說法符合《阿里巴巴Java開發手冊》:A
A .SQL性能優化的目標:至少要達到 range 級別,要求是ref級別,如果可以是consts最好。
B .index級別走的是掃描索引,所以速度會比ref快。
C .range級別是指對表進行范圍索引。
D .ref級別是指使用主鍵或者唯一索引。
————————————————
多選 5.關於索引效率,下列哪些說法符合《阿里巴巴Java開發手冊》:CD
A .使用索引的效率一定高於全表掃描的效率。
B .關於explain的結果,type=index的索引效率好於type=ref。
C .sql查詢條件 where a like ‘%阿里%’ ,不會走索引。
D .sql查詢條件 where a like ‘阿里%’ ,a列創建了索引,一般會使用索引進行檢索。
————————————————
多選 7.關於MySQL性能優化的描述,下列哪些說法是正確的:ABCD
A .主鍵查詢優先於二級索引查詢。
B .表連接有一定的代價,故表連接數量越少越好。
C .一般情況下,二級索引掃描優先於全表掃描。
D .可以使用通過索引避免排序代價
多選 11.關於索引的設計,下列哪些說法符合《阿里巴巴Java開發手冊》:ACD
A .對varchar類型的字段建立索引,必須指定索引長度。
B .對varchar類型的字段建立索引,不需要指定索引長度,這樣索引區分度最好。
C .業務上具有唯一特性的字段(含組合字段),必須指定唯一索引。
D .建復合索引時,一般選擇區分度高的字段放在最左列。
————————————————
單選3.KV結構的集合,在處理null值的存儲上有細微的區別,下列哪些說法是正確的:A
A .TreeMap的key不可以為null
B .TreeMap的key可以為null
C .ConcurrentHashMap的key可以為null
D .ConcurrentHashMap的value可以為null
注釋:HashMap的key/value均可以為null,但是TreeMap的key不能為空,value可以為空
————————————————
多選 10.Hashtable,HashMap, ConcurrentHashMap都是Map的實現類,它們在處理null值的存儲上有細微的區別,下列哪些說法是正確的:ABD
A .Hashtable的KV都不可以為null。
B .HashMap的KV都可以為null。
C .HashMap的K不可以為null,V可以為null。
D .ConcurrentHashMap的KV都不可以為null。
————————————————
單選 32.sort表示元素在存入集合時進行了排序,數據遍歷的結果是按某個排序規則輸出的; 而order表示每次遍歷的序列都是一樣的,元素前后關系每次遍歷都是確定的,那么下列哪些集合既是sort,又是order的:D
A .HashSet
B .LinkedList
C .HashMap
D .TreeSet
多選 12.關於checked/unchecked exception,下列哪些說法是正確的:BCD
A .繼承java.lang.Error的類屬於checked exception。
B .checked異常繼承java.lang.Exception類。
C .unchecked異常繼承java.lang.RuntimeException類。
D .NullPointerException , IllegalArgumentException屬於unchecked exception。
————————————————
多選 20.關於接口使用拋異常還是返回錯誤碼,下列哪些說法符合《阿里巴巴Java開發手冊》:ABCD
A .向公司外部提供的http/api接口,推薦使用“錯誤碼”方式返回異常或者錯誤信息。
B .對於應用內部的方法調用,推薦使用“拋出異常”的方式處理異常或者錯誤信息。
C .跨應用的RPC調用,推薦使用將“錯誤碼”和“錯誤簡短信息”封裝成Result的方式進行返回。
D .對外提供的接口,一定要保證邏輯健壯性:盡量避免空指針等技術類異常;對於業務類異常要做好錯誤碼或者異常信息的封裝。
————————————————
多選 5.關於異常的處理方式,下列哪些說法是正確的:BD
A .為防止obj對象本身空指針異常,書寫代碼時應該注意加異常捕獲處理,例如:try { obj.method() } catch(NullPointerException e){……} 。
B .方法簽名中,拋給調用者的關鍵字為throws
C .方法內部,拋出異常實例對象為throws
D .自定義異常要做到“認知對等”,即:拋出者和接收者要保持對自定義異常的認知統一,接收方需要知道這種異常的含義和對應的處理方案。
————————————————
掃個紅包吧!
Donate捐贈
如果我的文章幫助了你,可以贊賞我 1 元,讓我繼續寫出更好的內容)
(微信) (支付寶)
微信/支付寶 掃一掃