腾讯视频2019面试题目分享

时光总嘲笑我的痴心妄想 提交于 2020-01-31 02:29:21

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实习面试所有题目见链接腾讯视频面试题

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!