疫情期間找工作其實真的不是很好找,下面是最近一段時間的面試總結
hive面試總結:
一、經常會被問到的就是row_number()函式的使用
(2)、資料如下
date user age programid playtime
20190421 u1 30 a 4min
20190421 u1 30 b 10min
20190421 u2 27 a 2min
20190422 u3 35 c 3min
20190422 u2 27 d 1min
問題如下
統計:(1條sql)使用者總量,所有使用者平均年齡,所有使用者平均**時長
統計:每10歲乙個分段,統計每個區間的使用者總量,每個區間使用者的平均**時長
統計:每個使用者最喜歡的節目
統計:**時長大於5min的使用者總量,只要有乙個節目使用者**時間小於5min就不能算(智聯面試題)
二、hive傾斜的調優
解決方案:
1、存在大量null值的時候需要取出null
2、大小表關聯的時候,小表在左大表在右,減少join操作時的條數
3、增加隨機字首的方式
4、區域性聚合+全域性聚合
原理:首先把大表先加入隨機字首,對下面需要join的表也進行拆分成多個小表的形式,分別與左表進行關聯,然後把最終的結果在進行聚合
5、sql優化
這個在這裡就不細說,比如避免使用distinct等
hbase面試題:
因為簡歷專案中有涉及到二級索引和協處理器方面的東西,所以面試中有被問到過
1、hbase熱點問題:
可以使用加鹽的方式或者雜湊的方式避免熱點問題
2、hbase表結構的設計
3、hbase為什麼支援高併發增刪改?
因為hbase是基於hbfs,所以可以提高併發,而且hbase是構建在hdfs上的分布式的面向列的存住系統,hbase上的資料都是以storefile二進位製流的形式儲存到hdfs上的block塊中,對於hdfs檔案系統是透明的
4、hbase region拆分
(1)手動拆分:手動指定拆分點,呼叫hbase shell的split方法
(2)預拆分:在建表的時候就定一號拆分點的演算法
(3)自動拆分:使用引數hbase.hregion.max.filesize引數
5、hbase中regionserver宕機恢復
因為資料寫入並沒有直接寫入資料檔案,而是會先寫入快取(memstore)在滿足一定條件下快取資料再會非同步重新整理到硬碟,寫入快取之前會首先將資料寫入hlog中,可以從hlog中進行日誌回放,進行資料的補救
spark面試題:
1、spark中dagger理解:
2、spark中stage
3、spark提交流程(大廠可能會問一些原始碼相關的東西)
4、spark中的shuffle
這個需要把1.6版本前後的乙個更新都需要介紹一下 ,shuffle的原理
5、spark底層引擎
這個問的不是很多,感興趣的大家可以網上查閱資料
6、spark的容錯機制
7、spark中sortbykey的底層理解,怎麼對key進行排序的
8、spark處理記憶體溢位
9、scala的class和case class區別
10、scala隱式轉換(360有被問到)
11、spark傾斜問題
sparkstreaming主要問的問題就是和kafka結合的時候怎麼保證訊息的一致性和僅一次語義
還有就是offset的儲存問題,這個可以根據實際專案去介紹
其中又被問到kafka如果有乙個使用者組掛了,會有什麼影響的問題
我這裡簡單介紹一下我的理解
會導致所有新版消費者都無法拉取訊息,
為了避免這種現象,我們可以通過設定引數offsets.topic.replication.factor=3設定副本數量,這樣當一台消費者宕機時,其他消費者也可以今習慣消費,或者也可以重新啟東乙個broker,把broker.id設定為損壞的那個broker的id,就會自動複製過去丟失的資料
12、spark中如何優雅的關閉程式
13、spark中的背壓機制
資料結構:
快排的原理
**實現非遞迴前序遍歷二叉樹
判斷陣列中第二大元素
這些可以通過leetcode刷題去學習
面試題總結 html面試題)
附上鏈結 doctype 的作用是什麼?宣告一般位於文件的第一行,它的作用主要是告訴瀏覽器以什麼樣的模式來解析文件。一般指定了之後會以標準模式來 進行文件解析,否則就以相容模式進行解析。在標準模式下,瀏覽器的解析規則都是按照最新的標準進行解析的。而在相容模式下,瀏 覽器會以向後相容的方式來模擬老式瀏...
面試題總結
網路部分 子網劃分 演算法部分 穩定排序 泡沫排序 bubble sort o n 插入排序 insertion sort o n 桶排序 bucket sort o n 需要 o k 額外空間 計數排序 counting sort o n k 需要 o n k 額外空間 合併排序 merge so...
面試題總結
1 關於商品秒殺的問題,如何保證100件商品,只能使前100個使用者搶到呢?思路1 我們可以使用redis快取的list儲存型別,當有乙個使用者請求到來時,將該使用者的id存放在list中,這樣當list中的llen長度達到100時就不在新增新的使用者id,然後在從list中取出對應的id運算元據庫...