1. 程式人生 > >春招面試經驗系列(二)網易遊戲

春招面試經驗系列(二)網易遊戲

網易遊戲

一、MapReduce的split和HDFS的block的關係?

1、split是HDFS的邏輯分割槽,是用來控制Mapper的數量,split既可以比block大也可以比block小,split分了多少個則就有多少個Mapper,當沒有指定split的大小時,預設的是block的大小。

2、block是HDFS的物理分割槽,預設設定是128MB。HDFS會把資料分成不同的block,然後按照叢集的副本數,把block複製到不同的datanode。

3、HDFS是主要用來儲存大檔案的,如果存在大量的小檔案的話,應該調節block的大小,避免出現大量的小檔案。

4、因為小檔案的資訊儲存在namenode中,會導致namenode的記憶體非常大,小檔案會增加大量的磁碟IO。

5、解決小檔案的方法:使用HDFS的sync和append來把小檔案合成大檔案。

二、MySQL的連線方式?

表的追加:union:a union b會先把a和b的重複記錄刪除,然後再排序,union all就是簡單的把兩個表合併。

三、hive中order by和sort by的區別

1、order by對輸入做全域性排序,只有一個reducer,當輸入規模較大時,消耗較長的計算時間。

2、sort by不對全域性排序,只保證每個ruducer輸出有序。

四、敘述下java的反射機制。

類載入包括載入、驗證、準備、初始化、使用、解除安裝。通過class類的forName(),獲得class物件,進行類載入,然後初始化一個新的物件,進行呼叫相應的方法。

五、Hive的元資料放在那裡?

metastore是Hive元資料的集中存放地。metastore包括兩部分:服務和後臺資料的儲存。使用內嵌metastore是Hive入門最簡單的方法。

六、問了簡歷中專案相關的問題。(相關問題數量較多)

七、CDH namenode的備份節點相關問題。

CDH是Hadoop的髮型版本,目的就是為了提高Hadoop的可管理性,相容性,安全性。

CDH的安裝方式:cloudera manager 、yum、 rpm、tarball。

八、Python資料型別

1、numbers(數字):int (有符號整型)、long(長整型)、float(浮點型)、complex(複數)

2、string(字串)

3、list(列表)

4、tuple(元組)

5、dictionary(字典)