一面
- 簡單介紹一下自己以及自己做過的項目;
- Java HashMap 是不是線程安全的?爲什麼?
- 請用 Java 寫個單例模式
- 知道幾種 GC 算法?
- 如何實現一個高效的單項列表逆向輸出?
- 數據湖和數據倉庫有什麼區別?
- 詳細介紹下 Flink 的 Checkpoint 執行機制(分佈式快照)
- 算法題:尋找兩個正序數組的中位數
二面
- 如何在兩個進程間共享數據?線程呢?
- 如何在 main 函數裏面等待一個線程執行完畢?
- 用MapReduce手寫一個wordcount,
- 用 MapReduce TopK 怎麼實現?
- Hudi、Iceberg 和 Delta Lake 哪個熟悉?它們之前有什麼區別知道嗎?
- 請簡述 Hudi 的讀寫流程。
- 布隆過濾器的原理知道嗎?(在回答 Hudi 寫數據的時候提到布隆過濾器,所以面試官問了)。
- 算法題:合併兩個有序鏈表。三個有序鏈表合併?K 個呢?
三面
- Spark Shuffle 讀寫原理說下,和 MapReduce 的 Shuffle 有什麼區別?
- Hudi 支持流批一起處理嗎?他是怎麼實現的?
- Iceberg 知道嗎?實現原理你知道嗎?
- Iceberg 的時間旅行是怎麼實現的?什麼場景下要使用它?
- Hudi 和 Iceberg 你怎麼選?爲什麼。
- 算法題:一輛公交車,有 m 站,最多坐 n 人,輸入一路上的票信息(即上車下車站),輸出會不會超載。
四面
- 說一下你熟悉的設計模式?
- synchronized 和 ReentrantLock 區別是什麼?
- 都知道哪些分佈式一致性算法?挑一個你熟悉的說下其原理。
- Join 的實現有哪幾種?場景是哪些?
- 一條 SQL 從提交到拿到結果都經歷了什麼?
- 說下你理解的數據湖?
- Hudi、Iceberg 和 Delta Lake 怎麼選擇?
- 請簡述一下 Flink CDC 原理
歡迎關注,《大數據成神之路》系列文章
歡迎關注,《大數據成神之路》系列文章
歡迎關注,《大數據成神之路》系列文章