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