❤ 想知道大厂面试都问什么吗,附最强面试技巧!!(大数据开发岗)❤
作者簡介
藍橋簽約作者、大數(shù)據(jù)&Python領(lǐng)域優(yōu)質(zhì)創(chuàng)作者。維護多個大數(shù)據(jù)技術(shù)群,幫助大學(xué)生就業(yè)和初級程序員解決工作難題。
我的使命與愿景:持續(xù)穩(wěn)定輸出,賦能中國技術(shù)社區(qū)蓬勃發(fā)展!
粉絲福利:免費下載海量【PPT模板、簡歷模板、學(xué)習(xí)資料】
目錄
1、溝通技巧
1)引導(dǎo)式聊天
2)自信的表達
3)不要暴露缺點
2、充足且針對性的知識儲備
1)技術(shù)框架部分
2)項目部分
3)算法部分
4)HR部分
3、真實面試案例
真實面試案例(一)
真實面試案例(二)
真實面試案例(三)
很多小伙伴問我說:你拿了那么多大廠的offer,有什么面試套路嗎?
我想說的是,面試無非就兩點:溝通技巧 + 充足且針對性的知識儲備。
1、溝通技巧
1)引導(dǎo)式聊天
????????簡單來說,就是從自我介紹開始,就蹦出一些技術(shù)名詞,引導(dǎo)面試官對這些技術(shù)知識點進行提問,然后提前準備好答案,回答完上一個問題的時候,扯一嘴其他的技術(shù)知識點(很多面試官喜歡打破砂鍋問到底,但往往中了你的圈套)。
? ? ? ? 在面試過程中有很多引導(dǎo)的機會,慢慢體會吧!
????????????????
2)自信的表達
????????一個自信的表達,能讓整體面試氣氛輕松活躍,給面試官好的印象分,面試就像談戀愛,看感覺的。
3)不要暴露缺點
????????很多小伙伴(包括當(dāng)年的我),在面對不會的提問時,不斷的去解釋,反而會暴露更多問題。這個時候你完全可以說這個不太了解,然后繼續(xù)后面的回答。相信我,放過幾個不會的,不會影響面試結(jié)果,因為沒有人什么都懂, 你要做的就是:盡可能多的呈現(xiàn)你會的,快速跳過不會的!
2、充足且針對性的知識儲備
? ? ? ? 關(guān)于知識儲備,我在技術(shù)群里咨詢了一些大廠的小伙伴的面試經(jīng)歷,分享給大家。
? ? ? ? 針對這些問題的回答話術(shù),小編會在近期啃下來,作為粉絲福利發(fā)布。
1)技術(shù)框架部分
? ?? (1)會根據(jù)面試者簡歷上的技能點進行考察。注意技能點描述用詞,不要隨便用熟悉,覺得特別熟的可以說熟練使用
? ?? (2)常用的大數(shù)據(jù)框架是肯定會問的,比如Hive、Spark、Kafka等。常見的如Kafka精準消費問題的多種解決辦法對比,Spark的Task調(diào)度規(guī)則
? ?? (3)有些面試官會直接讓講了解的框架最底層實現(xiàn)
? ?? (4)Java,MySQL,Redis必問,JVM,Hashmap,JUC相關(guān),MySQL的索引及優(yōu)化,Redis數(shù)據(jù)結(jié)構(gòu)、集群、緩存淘汰
? ?? (5)常見的協(xié)議會考,租約協(xié)議,quarum原理,Zookeeper選舉,acid,acp,base等
2)項目部分
? ?? (1)一般會讓你挑你最熟的一個項目講。考察從項目背景到實現(xiàn)的把控
? ?? (2)重點是參與的部分,遇到的難點
? ?? (3)常見業(yè)務(wù)難題的解決和優(yōu)化,層層遞進,頭條追求做到極致
? ?? (4)沒有做過的項目、模塊不要亂講,容易被問懵逼或者被太簡單被鄙視
3)算法部分
? ?? (1)數(shù)據(jù)結(jié)構(gòu)必考,手寫代碼,每一面都會考。常見數(shù)組、鏈表、二叉樹、跳表的題。有些部門會先筆試(電腦實際編碼運行)再面試
? ?? (2)算法部分常見動態(tài)規(guī)劃、概率題、二進制一類
? ?? (3)SQL題目,行列轉(zhuǎn)換。分區(qū)函數(shù),統(tǒng)計連續(xù)登陸天數(shù)這一類問題
? ?? (4)多刷Leetcode,題都是有套路的
4)HR部分
? ?? (1)想好跳槽理由,一般注重抗壓能力和穩(wěn)定性
? ?? (2)大廠會有明確的穩(wěn)定性的要求,如:無連續(xù)2段不超過1年的工作經(jīng)歷,當(dāng)然,一般安排面試的話,就說明穩(wěn)定性和學(xué)歷初篩通過了。? ? ? ?
3、真實面試案例
真實面試案例(一)
?1)技術(shù)部分
(1)WordCount的實現(xiàn)過程
(2)MR與Spark的區(qū)別
(3)Spark在Client與在集群運行的區(qū)別
(3)相同的SQL在HiveSql與SparkSQL的實現(xiàn)中,為什么Spark比Hadoop快
(4)自定義UDF
(5)設(shè)計HBase表需要注意的點
(6)HBase的hlog
(7)數(shù)據(jù)同樣存在HDFS,為什么HBase支持在線查詢
(8)數(shù)據(jù)從Hive中用SparkSql進行操作有遇到什么問題?類似兼容性的問題。
(9)SparkStream與Strom,Flink與什么區(qū)別
(10)有三個map,一個reduce來做top10,哪種方法最優(yōu)。數(shù)據(jù)量特別大。
?2)項目的架構(gòu)
(1)數(shù)據(jù)倉庫的模型設(shè)計
(2)數(shù)據(jù)倉庫的數(shù)據(jù)清洗
(3)業(yè)務(wù)建模、數(shù)據(jù)分析方法。
(4)數(shù)據(jù)倉庫是怎么設(shè)計的
(5)數(shù)倉規(guī)范設(shè)計哪些方面(字段、維度,存儲壓縮、數(shù)據(jù)保留機制)
(6)數(shù)倉質(zhì)量怎么監(jiān)控(數(shù)據(jù)質(zhì)量管理系統(tǒng),主鍵唯一、非空、數(shù)據(jù)波動)
(7)數(shù)倉主題分哪些(按照公司業(yè)務(wù)歸類
(8)數(shù)倉拉鏈表的原理
(9)有沒有遇到數(shù)據(jù)傾斜的問題(場景、解決方式)
(10)數(shù)倉重點調(diào)度任務(wù)的保障方式(調(diào)度系統(tǒng)優(yōu)先級)
(11)數(shù)倉任務(wù)報錯和監(jiān)控(調(diào)度系統(tǒng)捕捉錯誤,電話短信告之值班人員)
真實面試案例(二)
1)筆試部分
(1)有一表名t_sh_mtt_netdisk_log,從表名可以看出該表是什么業(yè)務(wù)的,是什么周期粒度的表。
(2)怎么查看表結(jié)構(gòu),表創(chuàng)建語句?怎么查看表有哪些分區(qū)?怎么查看分區(qū)對應(yīng)hdfs路徑?怎么計算某個分區(qū)的數(shù)據(jù)量大小?怎么計算某個分區(qū)的文件總數(shù)?
(3)有一hive sql,怎么計算這個sql會產(chǎn)生多少個map數(shù)?
(4)怎么查看hive有什么自帶函數(shù)?怎么查看函數(shù)的詳細信息?
(5)Hive支持哪些基木數(shù)據(jù)類型?
(6)請指出下面兩個語句讀取分區(qū)ds數(shù)據(jù)的不同
Select * from t where ds=20150101 and province='gd' or province='ex'
Select x fromt where ds 20150101 and(province='gd' or province='ex')
(7)將字符串"keyl=valuel&key2=value2...keyn=valuen"進行分割放到一個字段里面,可以查出任意一個keyx對應(yīng)的valuex值。請寫出查詢語句,并計算總共有多少個key值。
(8)用一個字符串比如"alblc"來測試某個函數(shù)比如split(用|分隔符將字符串進行分割)的語句
(9)a表和b表內(nèi)連接,a表為小表,只有2000行記錄
select a.*from a Join b on a.key=b.key
可以進行怎樣的優(yōu)化
(10)a表left join b表,b表為小衣,可以進行怎樣優(yōu)化?
scleet a.*from a left join Join b ona.key=b.key
如果a為小表,可以怎樣優(yōu)化?
(11)請指出下面sql語句的區(qū)別
select a.* from a left Join b on a.key = b.key and a.ds=xxx and b.ds=xxx
sclect a.* from a lef Join b on a.key = b.key and b.ds=xxx
select a.* from a lef Join b on a.key = b.key and b.ds=xxx where a.ds=xxx
Select a.* from a left Join b on a.key = b.key where a.ds=xxx and b.ds=xxx
(12)多表連按的寫法:a,.b,c三個表內(nèi)連接,連接字段都是key,怎樣寫連接語句?
(13)兩大表連接,發(fā)生了數(shù)據(jù)傾斜,有幾個reduce無法完成,怎么查找發(fā)生數(shù)據(jù)領(lǐng)斜的原因?應(yīng)該怎樣優(yōu)化?
語句:select t1.*,nvl(t2.x,1) from t1 left join t2 on t1.guid=t2.guid
(14)兩大表連接,發(fā)生了數(shù)據(jù)傾斜。有一個reduce無法完成,檢直發(fā)現(xiàn)t1中g(shù)uid="的記錄有很多,其他guid都不重復(fù),這條語句該怎樣優(yōu)化?
語句:select t1.*,nvl(t2.x,1) from t1 left join t2 on t1.guid = t2.guid
(15)如何用hive q!實現(xiàn)sqL中的exist/in 子句
mysql語句如下:
SEL ECT a* FROM a where a.key in(select dstinct key from b where key like ‘filter%’)
(16)sort by、distribute by、cluster by 和 order by 區(qū)別
注:可參考數(shù)據(jù)工廠的“幫助中心》集群hive》hive使用優(yōu)化》hive使用注意事項”
真實面試案例(三)
1)技術(shù)部分
(1)我看你上面寫了你會Spark,那你用Spark寫一下剛剛那道題的代碼,不能用Spark SQL
(2)我看你上面有寫到熟悉Hive原理和優(yōu)化,你說一下怎么優(yōu)化
(3)優(yōu)化有說到語句優(yōu)化,然后又說回到pv和uv那個問題,假如說讓你優(yōu)化你怎么優(yōu)化(我代碼里面有count(distinct?id)?uv,)
(4)問了一些Kafka的,我只記得一點點,問我數(shù)據(jù)會不會重復(fù)消費,什么情況下會重復(fù)消費
(5)在Hive執(zhí)行語句的時候如果很慢,什么原因造成
我有提到數(shù)據(jù)傾斜的問題,他又問怎么解決數(shù)據(jù)傾斜
2)項目部分
(1)讓你挑一個比較有亮點的項目詳細說
(2)你負責(zé)了什么,數(shù)倉中統(tǒng)計了哪些指標,
(3)剛剛聽你說項目里面有提到分層,如果我要你求每天商品的pv,uv,從ods層到dm層它的具體流向,各層都統(tǒng)計了什么(后來讓寫求pv,uv的sql語句)
3)場景部分
(1)有一個分區(qū)表,表名T,字段qq,age,按天分區(qū),讓寫出創(chuàng)建表的語句
(2)剛剛的分區(qū)表,求20200221這個分區(qū)中,年齡第N大的qq號列表
4)手寫部分
(1)三個字段,timestamp,user_id,product_id,讓求pv最大的商品,寫了之后又叫用Scala代碼寫一遍,然后又問,假如說只讓你求pv數(shù)大于100的top3呢,代碼又怎么寫
?
【求評論、求點贊、求收藏】?
讀到此處的大佬,你的面試技巧有哪些呢?請在評論區(qū)暢所欲言吧!!
總結(jié)
以上是生活随笔為你收集整理的❤ 想知道大厂面试都问什么吗,附最强面试技巧!!(大数据开发岗)❤的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 两种列式存储格式:Parquet和ORC
- 下一篇: 利用tensorflow构建AlexNe