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清理了.这就会带来过期消费的问题.

知道了它产生的原因以后,解决方法也就显而易见了.解决方法是broker清理消息时候读取消费者的offset,保证清理的消息offset小于消息者消费消息的offset.

4. 更多题目

腾讯视频2019实习面试所有题目见链接腾讯视频面试题

腾讯视频2019面试题目分享相关推荐

  1. 2020腾讯视频实习生面试

    2020腾讯视频实习生面试 能获得腾讯视频技术部所给出的实习生面试机会,真的很感激我的一位素未谋面过的学姐.何德何能,能获得腾讯公司的面试资格.那我从获取面试机会到一面和二面开始说起. 腾讯暑期实习生 ...

  2. 【数字设计】芯动科技|芯原科技_2023届_笔试面试题目分享

    芯片设计验证社区·芯片爱好者聚集地·硬件相关讨论社区·数字verifier星球 四社区联合力荐!近500篇数字IC精品文章收录! [数字IC精品文章收录]学习路线·基础知识·总线·脚本语言·芯片求职· ...

  3. 【数字设计】经纬恒润_2023届_笔试面试题目分享

    芯片设计验证社区·芯片爱好者聚集地·硬件相关讨论社区·数字verifier星球 四社区联合力荐!近500篇数字IC精品文章收录! [数字IC精品文章收录]学习路线·基础知识·总线·脚本语言·芯片求职· ...

  4. 算法工程师(机器学习和人工智能方向)面试题目分享

    算法工程师面试题目分享 1.GBDT和Xgboosting的区别,bagging和boosting的区别 (1)参考答案详见:https://blog.csdn.net/jackmcgradylee/ ...

  5. 大厂音视频职位面试题目--今日头条

    作为一名IT从业者,不管你是否有跳槽的计划.时不时的去参加一些有针对性的招聘面试,对个人也是有好处的, 一方面可以了解大厂有哪些的热招职位,这些热招的职位往往能给表明社会上相关行业发展的热度,资本投入 ...

  6. Python后端工程师面试题目分享,求职面试之前先来看看!

    Python后端工程师面试题目有哪些?下面就跟着小编一起赶紧来看看吧! 面试是公司挑选职工的一种重要方法.它给公司和应招者提供了进行双向交流的机会,能使公司和应招者之间相互了解,从而双方都可更准确做出 ...

  7. 高级PHP面试题目分享(技术篇)

    今年8月份开始就准备从老东家离职看看新的机会,在找新的工作时,给自己定的方向就是PHP或者Java方面的工作,希望找朝阳行业,这期间经历的面试不多,最终拿到心意的offer,也算达到了自己的预期,在此 ...

  8. 最新高频Java面试题目分享,分布式ID(数据库多主模式

    三.号段模式 我们可以使用号段的方式来获取自增ID,号段可以理解成批量获取,比如DistributIdService从数据库获取ID时,如果能批量获取多个ID并缓存在本地的话,那样将大大提供业务应用获 ...

  9. unity算法面试_Unity笔试面试题目分享

    这几天在准备找工作,拿出了以前的一些资料,整理了一下分享出来看看,一是方便自己查漏补缺,二来其中的大部分问题是自己理解概括的,有大佬如果看到有错误的地方能够评论交流一下自然是最好的啦!希望早点找到一个 ...

最新文章

  1. pycharm代码模板设置
  2. python廖雪峰_【Python】python中实现多进程与多线程
  3. 共享文件服务器迁移,服务器共享文件夹迁移
  4. android 活动外的类,Android – 活动外的startActivityForResult?
  5. dump java 内存_Java如何dump对象的内存
  6. java设计模式 订阅模式_Java中的复合设计模式
  7. redis 4.0.9 centos7 双机集群安装
  8. ApacheCN 捐赠名单 2019
  9. 锚杆拉拔试验弹性模量计算_【安全宣教】煤亮子小课堂(十三)——锚杆的锚固力和拉拔力...
  10. TCP/IP:SCTP报文格式
  11. Coolite Toolkit学习笔记四:容器控件之FiledSet、Panel和Window
  12. 生活中的七个语音识别经典应用
  13. 软件著作权人享有的权利
  14. 科研实习 | 清华大学交叉信息研究院弋力老师招收三维视觉科研实习生
  15. 逻辑公式之吸收律理解
  16. 阿里云配置服务器,短信,域名
  17. 微信公众号开发-----实现模板、图文、文本、音乐、图片推送
  18. 搞懂分布式技术28:微服务(Microservice)那点事
  19. 关于av_freep
  20. ubuntu16.04安装rtems

热门文章

  1. UOS无法使用无线网络
  2. 【程序人生】互联网岗位分工;互联网开发流程;职责分工
  3. [回顾]2007年木马病毒“英雄榜”,你中过几个
  4. vector的 resize()和reserve()的区别
  5. Java基于SSH框架的银行业务管理系统
  6. oracle修改open_cursors,oracle的open_cursors问题探究
  7. 基于lamp搭建Discuz论坛
  8. 计算机上如何保存ico格式,PS怎么保存ico格式
  9. SMARTY安装与使用
  10. mysql投影和选择区别_计算机二级。选择和投影到底有什么区别?