1. 程式人生 > >大資料面試題目第一部分

大資料面試題目第一部分

一 Linux

  1. Linux常用命令
  2. CentOS檢視版本的命令
  3. linux 檢視埠呼叫
  4. linux命令 檢視記憶體 磁碟 io 埠 程序
  5. 使用Linux命令查詢file1裡面空行的所在行號
  6. 有檔案chengji.txt內容如下:
    張三 40
    李四 50
    王五 60
    請使用Linux命令計算第二列的和並輸出
  7. 在Linux環境下有檔案/home/dim_city.txt如何載入dim_city外部表中,HDFS路徑/user/dim/dim_city
  8. Shell腳本里如何檢查檔案是否存在,如果不存在該如何處理?Shell裡如何檢查一個變數是否是空?
  9. Shell腳本里如何統計一個目錄下(包含子目錄)有多少個java檔案?如何取得每一個檔案的名稱(不包含路徑)
  10. Shell腳本里如何檢查檔案是否存在,如果不存在該如何處理?Shell裡如何檢查一個變數是否是空?
  11. Shell腳本里如何統計一個目錄下(包含子目錄)有多少個java檔案?如何取得每一個檔案的名稱(不包含路徑)

二 Hadoop入門

  1. 簡要描述如何安裝配置apache的一個開源Hadoop,只描述即可,無需列出具體步驟,列出具體步驟更好。
  2. Hadoop中需要哪些配置檔案,其作用是什麼?
  3. 請列出正常工作的Hadoop叢集中Hadoop都分別需要啟動哪些程序,它們的作用分別是什麼?
  4. 簡述Hadoop的幾個預設埠及其含義。
    三 Hadoop的HDFS
  5. HDFS的儲存機制(讀寫流程)。
  6. SecondaryNameNode 工作機制。
  7. NameNode與SecondaryNameNode 的區別與聯絡?
  8. 服役新資料節點和退役舊節點步驟
  9. NameNode掛了怎麼辦?
    四 Hadoop的MapReduce
  10. 談談Hadoop序列化和反序列化及自定義bean物件實現序列化?
  11. FileInputFormat切片機制
  12. 自定義InputFormat流程
  13. 如何決定一個job的map和reduce的數量?
  14. Maptask的個數由什麼決定?
  15. MapTask工作機制
  16. ReduceTask工作機制
  17. 請描述mapReduce有幾種排序及排序發生的階段
  18. 請描述mapReduce中shuffle階段的工作流程,如何優化shuffle階段
  19. 請描述mapReduce中combiner的作用是什麼,一般使用情景,哪些情況不需要,及和reduce的區別?
  20. Mapreduce的工作原理,請舉例子說明mapreduce是怎麼執行的?
  21. 如果沒有定義partitioner,那資料在被送達reducer前是如何被分割槽的?
  22. MapReduce 怎麼實現 TopN?
  23. 有可能使 Hadoop 任務輸出到多個目錄中麼?如果可以,怎麼做?
  24. 簡述hadoop實現join的幾種方法及每種方法的實現方法
  25. 請簡述hadoop怎樣實現二級排序
  26. 參考下面的MR系統的場景:
    –hdfs塊的大小為64MB
    –輸入型別為FileInputFormat
    –有三個檔案的大小分別是:64KB 65MB 127MB
    Hadoop框架會把這些檔案拆分為多少塊?
  27. Hadoop中RecordReader的作用是什麼?
  28. 給你一個1G的資料檔案。分別有id,name,mark,source四個欄位,按照mark分組,id排序,手寫一個MapReduce?其中有幾個Mapper?
    五 Hadoop的Yarn
  29. 簡述Hadoop1與Hadoop2 的架構異同。
  30. 為什麼會產生yarn,它解決了什麼問題,有什麼優勢?
  31. MR作用提交全過程
  32. HDFS的資料壓縮演算法?
  33. Hadoop的排程器總結。
  34. mapreduce推測執行演算法及原理。
    六 Hadoop優化
  35. mapreduce 跑的慢的原因?
  36. mapreduce 優化方法。
  37. HDFS小檔案優化方法。
  38. MapReduce怎麼解決資料均衡問題,如何確定分割槽號?
  39. Hadoop中job和Tasks之間的區別是什麼?
  40. MR資料傾斜?