這次面試大約面了50min,
整個程序體驗還是不錯的,面試官遲到也做了解釋,記錯了時間,
下面👇是面試題:
由于我準備面試時大部分的專案準備是圍繞資料倉庫開發準備的,
而我面試的是貨拉拉的大資料開發崗,
所以整個面試程序面試官也在反復和我確認到底是面試應用開發還是數倉開發,,,

1.自我介紹
2.簡單介紹2個專案+專案選型+負責哪一部分
負責的部分是離線數倉部分
3.圍繞專案問問題:
專案所使用的資料模型(問的是星型模型和雪花模型的區別,愣是半天沒反應過來,害)
ClickHouse和Hbase有什么區別
Hive和Hbase有什么區別
?Hive是通過構建元資料,映射HDFS檔案構建成表,本質還是HDFS,實作離線大資料倉庫
?Hbase是通過構建上層分布式記憶體,底層HDFS,實作大資料實時存盤的NoSQL資料庫
Hive和Mysql有什么區別
(內心os:啊這,為啥老問我這么多區別,現在仔細想想我應該回答的更完整才符合面試官的需求,)

如何處理Hive的資料傾斜
如何解決資料傾斜一類的問題,可參見這篇:
Hive千億級資料傾斜解決方案
描述一下Hive的MapReduce程序
mapreduce的三大階段:
map階段:并行處理的階段 shuffle階段:從離開Mapper開啟到進入Reduce之前的階段 reduce階段:匯總整理的階段
mapreduce的八大步驟
設定MapReduce的輸入InputFormat型別,默認為TextInputFormat
自定義map函式,得到TextInputFormat的k1,v1;經過處理后傳出k2,v2
磁區–默認根據k2決定map中的資料該發送到哪個reduce中 排序–默認根據k2進行字典排序
規約–默認沒有此階段,是優化手段,可以提前合并 分組–相同k2的value會放到同一個集合中
自定義reduce函式,講分組得到的k2,v2轉成k3,v3輸出
設定輸出的OutputFormat,默認采用TextOutputFormat,將結果輸出到一個純文本檔案中
Hbase的設計原則
(沒答完整,剛剛自己才寫的面試題,小丑竟是我自己~)
業務原則:貼合業務,保證前綴是最常用的查詢欄位
唯一原則:每條rowkey唯一表示一條資料
組合原則:常用的查詢條件組合作為Rowkey
散列原則:rowkey構建不能連續
長度原則:滿足業務需求越短越好
最后一問:專案的資料流轉
4.Java方面
java的基本資料型別有哪些???
java基本資料型別有boolean、byte、short、int、long、char、float、double等
說一下Java的多型和繼承
繼承 子類可以直接實作父類中的方法,有選擇的擴展
多型 呼叫同一個方法展示出來不同的方式,
String、StringBuilder、StringBuffer的區別?
String:String類被final修飾不能被繼承,String內部char[]被final修飾,字串內容無法被修改
StringBuffer:可變字串、效率低、執行緒安全;
StringBuilder:可變字符序列、效率高、執行緒不安全;
5.Mysql的 一些問題
union和union all的區別
左連接和右連接 內連接和外連接
什么是最左前綴原則?什么是最左匹配原則
顧名思義,就是最左優先,在創建多列索引時,要根據業務需求,where子句中使用最頻繁的一列放在最左邊,
最左前綴匹配原則,非常重要的原則,mysql會一直向右匹配直到遇到范圍查詢(>、<、between、like)就停止匹配,比如a = 1
and b = 2 and c > 3 and d = 4
如果建立(a,b,c,d)順序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引則都可以用到,a,b,d的順序可以任意調整,
=和in可以亂序,比如a = 1 and b = 2 and c = 3 建立(a,b,c)索引可以任意順序,mysql的查詢優化器會幫你優化成索引可以識別的形式
innoDB啥,,,
沒有復習過全軍覆沒,,,
總的來說,這是我的第一次正經面試,
面試下來自我打分是不及格的,
還是太菜了,,,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/292168.html
標籤:其他
上一篇:大資料開發崗面試復習30天沖刺 - 榷訓月累,每日五題【Day12】——Hbase6
下一篇:大資料必學框架-Flume
