期末测试 | 消息队列100分试卷等你来挑战!

你好,我是李玥。

到这里,《消息队列高手课》这门课程已经全部结束了。照例,我给你准备了一个期末小测试,来帮助你检验自己的学习效果。之前的期中测试,检验的主要内容是消息队列实现原理相关的知识。

这次的期末测试,我们要加大一点儿难度,考察更多的,是你对实现消息队列所需的这些知识技能的掌握情况,检验你“造轮子”的能力。当然,测试题中涉及到的知识都是我们课程中讲到过的。

在期末测试题中,共有5道单选题,5道多选题,满分100分。你可以通过下面的答题系统来答题,检测自己的学习效果。

在答完题之后,你也可以回顾试卷内容。对不太理解或答错的问题,进行深入思考和学习。在每道题的解析中,我为你标注了题目所对应的专栏内容。希望你可以针对自己的疑惑点,到专栏中找到相应的课程深入学习。

好的,开始测试吧,祝你学有所成。

精选留言

  • Standly

    2019-10-31 12:24:56

    老师,重看了一下rocketmq源码,发现第五题答案好像有点问题,因为rocketmq的commitlog文件和consumeQueue文件大小都是固定的,commitlog默认是1G,consumeQueue是30w乘以20字节,所以查询消息所在文件的时候直接用(消息偏移量-第一个MappedFile的起始偏移量)/ 文件固定大小 即可得到所在文件下标,具体可以看下源码中MappedFileQueue.findMappedFileByOffset()方法,所以总体时间复杂度应该是O(1),不知道我有没有理解错,还望老师解答。
    作者回复

    感谢你的指正!我检查了一下RocketMQ的源码,确实你的理解是正确的,我联系编辑小姐姐修改。

    2019-11-01 10:24:38

  • leslie

    2019-10-17 09:00:19

    先打卡:先复习再好好考试^_^
  • 南山

    2019-10-27 20:17:49

    只对了一半,学习的时候还是漏了许多细节!!!继续复习,完成课后作业!!!老师这些题很有技术含量,学以致用,才是学习的最终目标!
  • ifelse

    2023-01-13 12:42:33

    掌握的不好
  • 小嘟嘟

    2022-06-13 22:47:40

    至少得看2-3遍,才能吸收
  • 梁中华

    2020-02-25 13:20:04

    对了没几个,大都是理解不全面。这个题目设计的非常好,建议其他专栏也开设这种题目来检验学习成果