?? 一、技術核心考察點
-
數據建模能力
- 星型 vs 雪花模型:面試官常要求對比兩種模型。星型模型(事實表+冗余維度表)查詢性能高但存儲冗余;雪花模型(規范化維度表)減少冗余但增加JOIN復雜度。需結合場景選擇,如實時分析首選星型。
- 建模實戰題:例如設計電商銷售數倉,需明確事實表(訂單流水)、維度表(商品、用戶、時間),并解釋粒度選擇(如訂單級)。
-
ETL流程與優化
- 增量抽取方案:面試高頻題。需掌握基于時間戳、CDC(變更數據捕獲)、日志解析(如Canal)等技術,并說明如何解決增量數據漂移。
- 數據清洗策略:舉例說明如何處理缺失值(填充默認值/剔除)、重復數據(分布式去重)、異常值(閾值過濾)。
-
存儲與計算引擎
- OLAP引擎選型:對比Kylin(預計算)、Druid(實時攝入)、ClickHouse(單表高性能)的適用場景。如實時監控選Druid,Ad-hoc查詢用ClickHouse。
- Hive優化技巧:需熟悉分區(時間/業務)、分桶、向量化查詢、Tez引擎替換MR等優化手段。
? 二、算法與優化能力
-
查詢性能優化
- SQL調優案例:例如優化慢查詢:
-- 原查詢(全表掃描) SELECT * FROM sales WHERE date > '2023-01-01'; -- 優化后(分區裁剪+聚合下推) SELECT product_id, SUM(amount) FROM sales PARTITION (p_2023) WHERE date > '2023-01-01' GROUP BY product_id;
- 索引與物化視圖:解釋位圖索引在低基數維度表的應用,以及物化視圖預聚合的代價/收益權衡。
- SQL調優案例:例如優化慢查詢:
-
實時計算算法
- 窗口聚合難點:如Flink中處理亂序事件需用Watermark+AllowLatency機。舉例:計算每分鐘GMV時,允許遲到數據更新結果。
- 維表關聯方案:實時JOIN商品維度表,可采用預加載緩存(Redis)+異步更新,避免每條數據查DB。
-
算法模型應用
- 數據質量監控:利用統計學算法(如Z-score檢測異常值)、機器學習(聚類發現數據分布模式)。
- 預測與推薦:在用戶畫像場景中,協同過濾用于商品推薦,需說明如何解決冷啟動(熱門填充/跨域遷移)。
🛠? 三、大數據生態工具鏈
-
Hadoop/Spark生態
- Spark vs MapReduce:強調Spark內存計算、DAG優化比MR磁盤IO效率提升10倍以上。
- Shuffle調優:解釋Spark的bypass機制規避排序開銷,調整
spark.shuffle.partitions
避免小文件。
-
流處理框架
- Lambda架構 vs Kappa架構:Lambda(批流并行)保障數據一致性但維護復雜;Kappa(全流式)簡化架構但依賴消息回溯。面試需根據業務容錯要求選擇。
- Flink Checkpoint機制:描述Barrier對齊實現精確一次語義(Exactly-once)。
-
云數倉與開源方案
- Snowflake vs Redshift:云數倉對比重點在存儲計算分離、自動擴縮容能力、跨云支持。
- Hudi/Iceberg應用:舉例Hudi的UPSERT如何解決CDC場景。
📐 四、項目架構設計能力
-
實時數倉架構
- 典型方案:
- 典型方案:
-
數據治理實踐
- 元數據管理:Apache Atlas實現血緣追蹤(分析SQL影響下游報表),輔助故障定位。
- 質量監控體系:定義6大指標(完整性、唯一性、時效性等),用規則引擎(如Griffin)自動告警。
🤝 五、軟技能與行業認知
- 業務驅動思維:舉例說明如何將“用戶復購率下降”轉化為數倉指標(如流失用戶畫像+商品關聯分析)。
- 前沿趨勢:被問及數據湖倉(Lakehouse)時,需解釋Delta Lake如何結合ACID事務與湖存儲。
- 故障排查邏輯:經典問題“半夜發現報表數據異常,如何排查?” 應展示鏈路:元數據檢查→ETL日志→源數據比對→重跑容錯。
📌 六、面試準備清單
類別 | 必刷題庫 |
---|---|
SQL優化 | 慢查詢改寫、窗口函數應用、分區剪裁技巧 |
場景設計 | 設計實時大屏監控、用戶畫像標簽體系、廣告點擊歸因模型 |
源碼原理 | Spark Shuffle流程、Flink狀態后端、HDFS讀寫機制 |
項目深挖 | 準備1-2個高復雜度項目,說明技術選型對比(如Kafka vs Pulsar)、踩坑解決方案 |