阿里巴巴2015校招筆試題(含答案、解析)

才智咖 人氣:7.92K

 ①、邏輯

阿里巴巴2015校招筆試題(含答案、解析)

下列描述中唯一錯誤的是( )

下面選項內容中的A,B,C,D,E,F都是表示某個選項

A:本題有五個選項是正確的

B:B正確

C:D正確

D:DEF都正確

E:ABC中有一個錯誤

F:如果ABCDE都正確,那麼F也正確

答案:B

解析:首先理解題意:本題的條件和結論是互為因果的。破解這種迴圈論證題目的方法就是選擇某一個選項,假定它對或者錯,然後推理。並且,這裡的“某一個選項”常常可以根據題目找到推理鏈條中的薄弱環節。如本題的題幹說“描述中唯一錯誤”,而一共有A到F6個選項,馬上得知“6個選項中有5個是對的,1個是錯的”,這即表明“A:本題有五個選項是正確的”是對的。而“C:D正確”“D:DEF都正確”都涉及了D,不妨假定“C:D正確”是錯的.,從而完成推理。B錯誤,其餘都正確

 ②、演算法

個數約為50K的數列需要進行從小到大排序,數列特徵是基本逆序(多數數字從大到小,個別亂序),以下哪種排序演算法在事先不瞭解數列特徵的情況下效能最優(不考慮空間限制)。( )

A:氣泡排序

B:改進氣泡排序

C:選擇排序

D:快速排序

E:堆排序

F:插入排序

答案:E

解析:氣泡排序、選擇排序、插入排序的基本時間複雜度為O(N^2)。如果數列基本升(降)序,而題目要求升(降)序排列,則改進的氣泡排序可以近似為O(N)。基本有序的數列,常規的快速排序時間複雜度退化成O(N^2),而堆排序無論任何情況下的時間複雜度都是O(NlogN),因此,堆排序是最優的。

 ③、系統設計

下列方法中,( )不可以用來程式調優?

A:改善資料訪問方式以提升快取命中率

B:使用多執行緒的方式提高I/O密集型操作的效率

C:利用資料庫連線池替代直接的資料庫訪問

D:使用迭代替代遞迴

E:合併多個遠端呼叫批量傳送

F:共享冗餘資料提高訪問效率

答案:B

解析:A、C、F都是從優化記憶體方面來進行程式調優;E可以提高CPU的訪問效率;普通的遞迴往往時間複雜度較高,使用迭代後能夠明顯改善(另外一種調優方式可以考慮帶快取的遞迴);而B中,多執行緒可以提高CPU的利用效率,但對於I/O密集型,瓶頸在於資料的獲取,所以B不正確。