大數據

Flink 面試指南 | 終於要跟大家見面了,我有點緊張。(附思維導圖)

面試,一個令人大多數同學頭疼的問題,要麼成功進入心儀公司,要麼沮喪與其失之交臂。但是,如果能在面試前就能知道面試官將會問的問題,然後可以好好提前準備,這種感覺是不是特別棒?

之前社區幫大家彙總了目前 15 家重量級公司的招聘需求更新在社區招聘帖,也收到了很多同學的反饋:

投了一堆簡歷,但是都沒面試機會
面試官說是想招高階人才
“**哎,感覺像我這種畢業年限短,
公司又是小公司,本科也不太好的,找工作太難了**”

最後只能總結:

我不優秀,我連面試機會都沒有

也太南南南了!

那麼究竟怎麼積累技術實力,成為 Flink 高級開發,拿下心儀公司的 offer 呢?小松鼠徵集了 Flink 用人主管的核心訴求並提供一份超級清晰、實用的學習路徑。雖然我們都不會讀心術,但破解面試難題也有思路可尋!

Tips:2020 Flink 最新招聘信息查看請見下方鏈接,內推或有招聘需求的公司可聯繫小松鼠(微信ID:Ververica2019)投遞 JD~

2020 最新 Flink 招聘崗位彙總:
https://juejin.im/post/5df9e25fe51d4557f5450274

01 瞭解用人主管的需求

在收集招聘信息時小松鼠瞭解到用人主管的核心需求以及面試了部分同學之後的感受,總結下來主要分為以下方面:

  1. 經驗都偏少,缺乏複雜場景的歷練
  2. 在用 Flink 做數據開發,但沒有底層修改經驗
  3. 想招比較高階的對 Flink 底層有深入研究的同學,但是高階的太難找
  4. 需要有深入研究、改造經驗的也可以,獨立完成問題排查與任務調優

請注意關鍵詞!「複雜場景歷練」、「底層修改經驗」、「高階」、「問題排查與調優」,這是當前大多數崗位對 Flink 開發同學的預期,相當於劃重點吶!除了解用人主管的核心需求外,我們也需要結合自身基礎,找對合適的崗位方向。

02 找對崗位方向

小松鼠總結了市面上大多數招聘內容,對這些崗位進行分析並整合,可以看到如下表格內容。總體上分為3個方向:

招聘.jpg
(不完全統計,僅供參考)

眾所周知,平臺開發或底層引擎開發都需要對 Flink 有鑽研精神,需要持續專注地深耕,對技術深度、技術原理掌握甚至是源碼能力要求都較高。

相對而言,業務類的開發則更關注具體應用場景,大多是在平臺的基礎上進行業務場景的應用開發,對底層、源碼的要求相對較低。

總體上,無論選擇哪種技術方向,紮實的語言功底都是基礎,而對開源社區的貢獻、對 Flink 生態有深入瞭解等都將成為 blingbling 的加分項。

03 從小白到 Flink 高級開發,應該掌握哪些技術?

如果你瞭解到自己與用人主管的核心需求存在哪些差異,或者有自己傾向的崗位方向,那麼恭喜你已成功完成心理建設。第三部分,小松鼠邀請了 Apache Flink PMC 程鶴群(軍長)來幫大家解決“從小白到 Flink 高級開發,應該掌握哪些技術?”這個核心問題,此處感謝 Apache Flink PMC 伍翀(雲邪)的反饋與建議。

首先,送你一份 X-mind!公眾號後臺回覆關鍵字「面試」,可以下載 PDF 版本~

640-2.png

然後,我們來了解這份思維導圖的構成以及如何使用。

1.專治無從下手

根據 Flink 相關招聘崗位要求,我們將重點分為以下部分:

  • 大數據基礎理論
  • SQL & Table
  • Runtime
  • Flink 生態
  • Flink 實戰

整合了當前 Flink 面試崗位中涉及的絕大多數知識點,並分為五大板塊。除了 SQL & Table、Runtime 等硬核內容外,生態以及實戰是面試中需要重點關注的內容。

2.沒有問題的思維導圖不是好題庫

  1. 從問題開始,每塊內容都以問題的形式幫你回顧可能考察的知識點。
  2. 不僅是 Flink,思維導圖對面試中可能涉及的數據基礎理論也整理成問題供大家參考。
  3. 難易分明,Flink 生態以及實戰部分不僅是重點也是大部分難點所在,腦圖中相應部分也用笑臉標示,難易程度一眼分明。

希望這份思維導圖能夠對你有所幫助!大家可以結合之前的 Flink 知識圖譜一起學習,效果更佳哦~

Flink 社區知識圖譜:
https://ververica.cn/developers/special-issue/

04 跟 5 位大廠同學聊了聊,他們分享了 10 道真題

面試跟從小到大我們經歷的大大小小的考試異曲同工,雖然可以臨時抱佛腳,可最核心最重要的還是技術實力。下面分享 10 道真題,都來自於生產環境經驗豐富的大廠同學,希望對大家面試有所幫助。此處感謝五位同學!

BTW,以下真題僅供大家參考,開拓思路,切不可本末倒置,將真題作為面試準備的唯一法寶。

▼ 真題集 ▼

1.闡述 Flink 如何處理反壓,相比 Storm,Spark Streaming 提供的反壓機制,描述其實現有什麼不同?

2.闡述流處理引擎提供的三種數據處理語義,解釋 Flink Checkpoint 機制如何保證 Flink 程序結果的 Exactly-Once 語義,描述如何通過兩階段提交協議提供端到端的 Exactly-Once 保證?結合 Kafka 如何構建端到端的 Exactly-Once 處理?

3.闡述 Flink 提供的容錯機制,解釋分佈式快照 Chandy Lamport 算法邏輯,剖析 Flink Checkpoint 具體實現流程?

4.如何處理 Flink 作業頻繁重啟問題?

5.如何優化大狀態的 Flink 作業?

6.如何排查 Flink Checkpoint 超時問題?

7.如何處理 Flink 作業中的數據傾斜問題?

8.Flink 反壓機制,如何排查反壓瓶頸在哪,及如何處理反壓問題?

9.哪種 join 可以滿足單個流斷流的時候仍然能夠保證正確的 join 到數據?

10.watermark 是怎麼生成和傳遞的?

以上。真題集部分還有後續,下期更新~我們的目標是“Flink 學得好,工作容易找”!無論您是面試者想要幫忙內推還是企業用人主管想要招聘,歡迎聯繫小松鼠(微信ID:Ververica2019)。

點擊下方鏈接可查看 2020 社區最新招聘信息彙總~
https://juejin.im/post/5df9e25fe51d4557f5450274

Leave a Reply

Your email address will not be published. Required fields are marked *