? ? ? 畢業(yè)后做了7年java應(yīng)用開(kāi)發(fā),主要在一家傳統(tǒng)軟件公司做BI相關(guān)的東西何吝。因?yàn)橹饕菍憳I(yè)務(wù)代碼溉委,大公司都有自己的技術(shù)平臺(tái)鹃唯,所以java技術(shù)也并不很強(qiáng),多線程都很少自己寫瓣喊。最近三年到了互聯(lián)網(wǎng)公司俯渤,轉(zhuǎn)到做數(shù)倉(cāng)相關(guān)的項(xiàng)目,其實(shí)主要是用hive sql在做數(shù)據(jù)處理型宝,就是被鄙視的sql boy八匠。由于進(jìn)的并不是正經(jīng)的數(shù)倉(cāng)部門,而是在數(shù)倉(cāng)基礎(chǔ)上做數(shù)據(jù)應(yīng)用系統(tǒng)的部門趴酣,所以還是偏業(yè)務(wù)梨树,且對(duì)數(shù)倉(cāng)理解不是很深入。所以本人技術(shù)水平很渣岖寞。面試了很多抡四,面不過(guò)。把遇到的問(wèn)題記錄下來(lái)仗谆,希望可以和大家一起探討指巡,也是一種提高吧。如果大家能夠回答這些問(wèn)題隶垮,希望可以回復(fù)藻雪。
說(shuō)一說(shuō)你整個(gè)項(xiàng)目從數(shù)據(jù)采集到指標(biāo)、報(bào)表的這整個(gè)過(guò)程是怎么做的吧狸吞。
這個(gè)問(wèn)題還是挺能反映應(yīng)聘者能力的勉耀,因?yàn)閿?shù)倉(cāng)是比較雜的一個(gè)工種,在不同的公司或者不同的項(xiàng)目蹋偏,側(cè)重點(diǎn)不一樣便斥。比如小公司基本上從ETL開(kāi)始就要親力親為了,對(duì)于建模理論要求沒(méi)那么迫切威始。大公司可能etl基于平臺(tái)枢纠,開(kāi)發(fā)量變少,但是對(duì)建模黎棠、數(shù)據(jù)治理要求可能更高晋渺。還有的公司更偏重?cái)?shù)據(jù)分析的思路,或者說(shuō)分析業(yè)務(wù)的思路葫掉,而不是單純搞搞工程些举。開(kāi)放問(wèn)題,回答的時(shí)候就是把自己的項(xiàng)目說(shuō)清楚俭厚。如果不知道怎么說(shuō)清楚户魏,那么推薦一個(gè)技巧:把各個(gè)階段的產(chǎn)出物交代清楚,比如了解業(yè)務(wù)階段輸出什么、建模階段輸出什么叼丑,等等关翎。我太渣了,沒(méi)真正從0做過(guò)數(shù)倉(cāng)鸠信,項(xiàng)目經(jīng)驗(yàn)不足纵寝,哪里能找到標(biāo)準(zhǔn)一點(diǎn)的答案呢?從《阿里巴巴大數(shù)據(jù)之路》里面能找到嗎星立?
事實(shí)表有哪幾種類型爽茴?
本渣之前看過(guò)《數(shù)據(jù)倉(cāng)庫(kù)工具箱---維度建模指南》,但一時(shí)想不起來(lái)了绰垂,仔細(xì)想還是想不起來(lái)室奏。確定看過(guò),確定想不起劲装。
緩慢變化維你們是怎么處理的胧沫?
使用拉鏈表
拉鏈表是怎么實(shí)現(xiàn)的?
這個(gè)在網(wǎng)上一搜可以搜到實(shí)例占业,但是如果結(jié)合業(yè)務(wù)再問(wèn)的話绒怨,這是一個(gè)可以問(wèn)的挺深的問(wèn)題。數(shù)倉(cāng)就是這樣一個(gè)跟業(yè)務(wù)強(qiáng)結(jié)合的東西谦疾,離開(kāi)業(yè)務(wù)抽象出來(lái)的東西反而沒(méi)有靈魂南蹂,解決具體業(yè)務(wù)問(wèn)題的方法才是價(jià)值。
數(shù)據(jù)總線矩陣是怎么理解的餐蔬,為什么要做這個(gè)碎紊?
感覺(jué)可以從數(shù)據(jù)整合佑附、數(shù)據(jù)打通等角度回答吧樊诺,回答不好。
你們的數(shù)倉(cāng)是怎么樣的架構(gòu)音同?
技術(shù)架構(gòu)我基本不會(huì)词爬,所以也沒(méi)什么可以說(shuō)的。只會(huì)一個(gè)數(shù)倉(cāng)分層:ods权均、dwd顿膨、dwb、ads(app)叽赊。細(xì)問(wèn)的話會(huì)有很多衍生問(wèn)題:
ods你們是怎么實(shí)現(xiàn)的恋沃?
dwd這一層做了什么?
維度建模用在哪一層上必指?
維度建模有什么優(yōu)缺點(diǎn)囊咏?
更好的應(yīng)對(duì)業(yè)務(wù)變化,數(shù)據(jù)冗余多,占空間多梅割,就是用空間換時(shí)間霜第。這個(gè)問(wèn)題其實(shí)還蠻難的,分析優(yōu)缺點(diǎn)户辞,就要有對(duì)比泌类,跟別的建模方式對(duì)比,只有對(duì)其他的建模方式有理解才可能回答出來(lái)底燎。
做數(shù)據(jù)倉(cāng)庫(kù)如何解決不同業(yè)務(wù)部門的統(tǒng)計(jì)口徑不一致的問(wèn)題刃榨?
我們公司業(yè)務(wù)變化特別快,有時(shí)候半年業(yè)務(wù)主流程就會(huì)大變双仍,這種情況下喇澡,你怎么應(yīng)對(duì)?
如何評(píng)價(jià)一個(gè)數(shù)據(jù)倉(cāng)庫(kù)的好壞殊校?
數(shù)據(jù)準(zhǔn)確性晴玖、時(shí)效性、健壯性为流。面試官說(shuō)這些都是一些原則呕屎,比較虛,有沒(méi)有可衡量的指標(biāo)敬察?就是一個(gè)數(shù)據(jù)倉(cāng)庫(kù)建好了秀睛,用這些指標(biāo)評(píng)價(jià)它好不好,有不好的要指出來(lái)莲祸,指導(dǎo)它改進(jìn)蹂安。這個(gè)我真不知道。
mapreduce原理清楚嗎锐帜?講一講田盈,畫一畫那個(gè)經(jīng)典的流程圖吧。
從hive sql提交到生成mapreduce任務(wù)缴阎,再執(zhí)行允瞧,這個(gè)過(guò)程是怎么樣的?資源調(diào)度是怎樣的蛮拔?
hive優(yōu)化接觸過(guò)嗎述暂?做過(guò)哪些?
hive的數(shù)據(jù)傾斜一般怎么處理建炫?
spark用過(guò)嗎畦韭?
spark現(xiàn)在用的是真多。肛跌。艺配。
你們的數(shù)倉(cāng)建設(shè)過(guò)程中是如何保障數(shù)據(jù)正確性的据过?
讓你建設(shè)一個(gè)數(shù)倉(cāng)的話,你的關(guān)注點(diǎn)有哪些妒挎?
這個(gè)就開(kāi)放問(wèn)題了绳锅,能看出做數(shù)倉(cāng)的思路,也能看出對(duì)數(shù)倉(cāng)理解的情況酝掩。如果對(duì)面試官的路子就好鳞芙。
你的項(xiàng)目中怎么應(yīng)用維度建模?能具體說(shuō)說(shuō)嗎期虾,具體的表有哪些原朝?
RCFile解析過(guò)嗎?文件結(jié)構(gòu)是怎么樣的镶苞?
udaf寫過(guò)嗎喳坠?udtf呢?怎么寫茂蚓,分哪幾個(gè)步驟壕鹉,怎么轉(zhuǎn)換成mr的?
hive中transform用過(guò)嗎聋涨?