天天看點

阿裡巴巴2013最新筆試題/面試題(2012年9月12日更新)

9.7日晚于廈門商務會館筆試

共兩題:

1. 關于圖檔檔案存儲的一個開放性的題目,沒什麼好說的。

2. 有一顆樹,每一個樹節點存儲着一個數字,現在想要找到兩個相同的節點(這兩個節點存儲的數字及其所有子樹均相等)。

以下是我答題時候的思路,歡迎大家讨論。

思路1:

    1) 首先通過一個周遊(如前序周遊)得到一個數字序列,并對樹中的葉子節點在這個序列中做标記(現在問題退化為在一個數字串中找出重複的字元串,且這些字元串應該是以标記的葉子節點結尾的)

    2) 采用字尾樹可以很友善的求得相同的數字串序列

    3) 驗證2)中得到的結果(應該是一個小結果集) 是否滿足要求,驗證的時間複雜度應該是比較小的

思路2:

    1) 對樹中的每一個節點設定一個權值,這個權值為其所有子節點的權值及其自身數字值之間的乘積(可能需要bignumber,或者考慮将這些數字進行移位異或)

    2) 采用後序周遊,計算每一個節點的權值,并順帶記錄其樹深度。統計權值和深度均相同的節點

    ​3) 驗證2)中得到的結果是否滿足要求,驗證的時間複雜度應該是比較小的

9.12日于淘寶北京總部面試(共兩面,研發崗位)

第一面,問的問題比較雜,大緻包括如下内容:

    1) 資料庫索引問題,資料庫的索引是如何實作的 ,B/B+樹的差別

    2) 資料庫的存儲引擎比較

    3) SQL語言的編寫,主要涉及的關鍵字包括: like、order、group、sum等

    3) 設計模式中的裝飾模式

    4) Java中記憶體是如何實作的,以及垃圾回收機制分析

    5) HDFS的設計原理,及解釋 什麼是一緻性Hash

    6) Git與SVN之間的差別

    7) 排序(快排)及改進再改進

第二面,問的問題同樣比較雜,沒有算法面試

    1) 資料庫存儲引擎比較

    2) 搜尋引擎原理

    3) 給看一張資料結構的某個運作時切面圖,讓分析這個資料結構是用來幹嘛的