天天看點

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個方向:

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

(不完全統計,僅供參考)

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

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

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

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

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

首先,送你一份 X-mind!公衆号背景回複關鍵字「面試」,可以下載下傳 PDF 版本~

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

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

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 社群最新招聘資訊彙總~

繼續閱讀