騰訊視頻2019面試題目分享

1. 面試流程簡介

騰訊視頻面試的是實習,一般只有兩輪技術面,騰訊視頻面試感覺算法比較簡單,但是對實際項目經驗要求比較高.騰訊視頻面試除了介紹項目經驗之外,總共問了5道題.3道實際操作題目,2道算法題.其中比較有趣的一道的kafka過期消費問題.

2. 題目概述

請介紹一下kafka過期消費問題以及解決方法.

3. 解題思路及代碼

解決這個問題需要對kafka有基本的瞭解,kafka的基本原理可以見文章kafka工作原理.
在kafka中,真正存儲消息的模塊叫做pation,一個partion是一個追加文件,每條消息都對應文件中的一個offset.

一個broker會記錄消息隊列中最早的消息的offset,這個值用earlieastLeaderOffsets來表示,記爲A.一個consumer也會記錄當前消費消息的offset,用consumerOffsets表示,記爲B.正常情況下,消費者消息消息的偏移量應該大於broker中最早消息的偏移量,即A<B,如下圖所示.但是broker有清理過期消息的機制,如果consumer讀取速度比較慢,就會導致A>B,即消費者還未讀取的消息被broker清理了.這就會帶來過期消費的問題.
kafka過期消息消費
知道了它產生的原因以後,解決方法也就顯而易見了.解決方法是broker清理消息時候讀取消費者的offset,保證清理的消息offset小於消息者消費消息的offset.

4. 更多題目

騰訊視頻2019實習面試所有題目見鏈接騰訊視頻面試題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章