RocketMQ消费者是如何获取消息的?转疯了!

Posted Java范德萨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RocketMQ消费者是如何获取消息的?转疯了!相关的知识,希望对你有一定的参考价值。

1. 前言

相信大家对 ZooKeeper 应该不算陌生。但是你真的了解 ZooKeeper 到底有啥用不?如果别人/面试官让你给他讲讲对于 ZooKeeper 的认识,你能回答到什么地步呢?

拿我自己来说吧!我本人曾经使用 Dubbo 来做分布式项目的时候,使用了 ZooKeeper 作为注册中心。为了保证分布式系统能够同步访问某个资源,我还使用 ZooKeeper 做过分布式锁。另外,我在学习 Kafka 的时候,知道 Kafka 很多功能的实现依赖了 ZooKeeper。

前几天,总结项目经验的时候,我突然问自己 ZooKeeper 到底是个什么东西?想了半天,脑海中只是简单的能浮现出几句话:

  1. ZooKeeper 可以被用作注册中心、分布式锁;
  2. ZooKeeper 是 Hadoop 生态系统的一员;
  3. 构建 ZooKeeper 集群的时候,使用的服务器最好是奇数台。

由此可见,我对于 ZooKeeper 的理解仅仅是停留在了表面。

所以,通过本文,希望带大家稍微详细的了解一下 ZooKeeper 。如果没有学过 ZooKeeper ,那么本文将会是你进入 ZooKeeper 大门的垫脚砖。如果你已经接触过 ZooKeeper ,那么本文将带你回顾一下 ZooKeeper 的一些基础概念。

另外,本文不光会涉及到 ZooKeeper 的一些概念,后面的文章会介绍到 ZooKeeper 常见命令的使用以及使用 Apache Curator 作为 ZooKeeper 的客户端。

如果文章有任何需要改善和完善的地方,欢迎在评论区指出,共同进步!

一、一面 1小时40几分钟,基本会的被问完了

  • 1.介绍项目,考虑没考虑过服务器挂了怎么办
  • 这里应该是考查系统架构
  • 2.面向对象特性
  • 3.怎么理解多态
  • 4.接口和抽象类的区别
  • 5.说说并发是怎么回事,有什么问题,单核能并发吗?
  • 6.JMM
  • 7.说说volatile
  • 8.说说synchronized,发生异常会释放锁吗
  • 9.Lock
  • 10.JVM内存结构,详细说栈、方法区和堆
  • 11.String A = new String(“abc”) 创建了几个对象
  • 12.public class A{String name = “”;},public class B{A a = new A(); String add = “”;},如果我现在B b = new B(); 问JVM内存的变化
  • 13.类加载的过程
  • 14.Java8的.class文件用Java7的虚拟机可以加载吗
  • 15.说说GC,可达性分析法,什么可以作为GC ROOTS
  • 16.说说CMS,CMS有几个阶段,哪些阶段需要stop the world
  • 17.随便说一种单例模式
  • 18.说说AOP、IOC
  • 19.说说索引分类,索引实现
  • 20.说说MVCC
  • 21.事务问题和隔离级别
  • 22.幻读是什么
  • 23.CPU负载过高怎么排查问题
  • 24.知道MQ,RPC吗
  • 25.说说网络分层
  • 26.说说TCP和UDP
  • 27.哪一层有差错校验,有什么方法
  • 28.HTTP常见状态码
  • 29.说说B+树的结构
  • 30.聚簇索引,非聚簇索引,什么是回表查询
  • 31.建索引要注意什么问题
  • 32.链表和数组
  • 33.单链表反转思路
  • 34.重定向和转发的区别
  • 35.具体的一次HTTP请求的过程,越详细越好
  • 36.怎么看待工作环境都是男生并且要加班
  • 37.交给你一个任务,你不会做,怎么学习
  • 38.怎么看待工作中有些琐碎的事情要处理

二、二面 三四十分钟,后面提问再讨论了20分钟

  • 1.进程和线程的区别
  • 2.进程的通信方式,管道里面的fd[]是啥
  • 3.面向对象特性,多态
  • 4.TIME_WAIT和CLOSE_WAIT(忘了怎么问的了)
  • 5.TCP和UDP区别
  • 6.TCP三次握手,传输控制怎么实现
  • 7.HTTP和IP协议
  • 8.cookies是什么,怎么用
  • 9.堆的特点,堆排序时间复杂度,堆排序过程
  • 10.怎么确定给谁加索引,加不加索引
  • 11.做题:有序有重复的整数数组,得到去重后数组,返回无重复数字数量(要求尽量不用额外空间)
  • 12.状态码
  • 13.项目规模,几个人,推送怎么做的,是一个人做的吗
  • 14.怎么学习新的技术
  • 15.目前有offer吗,是哪里的(可以不说)
  • 16.能实习吗
  • 17.斐波那契数列知道吗?怎么做?
  • 18.动态规划知道吗

三、HR面

  • 1.自我介绍,抓住介绍的点让你详细说说
  • 2.为什么实习经历只有一个月
  • 3.为什么不去找其他的实习
  • 4.其他的面试流程
  • 5.考虑去哪里工作,北京是唯一选择吗
  • 6.为什么来美团,从哪里知道美团技术团队

总结:

总体下来技术面问的不算深,一面看我有不清楚的地方会换其他的问题继续问,java基础,jvm,java并发,数据结构,网络,数据库基本简历上写的都问了一遍,整体答的还可以,基本都能说来些什么,但没复习语言基础还有变量分配,那里答的有点含糊,也尽量答了。所有的问题,即使不清楚的地方,也会尽量答,答自己所能知道的所有。二面主要问了网络和操作系统,感觉很虚,网络看完基本没复习过,TIME_WAIT竟然忘记了,现场画状态图思考了一波,OS是弱项,IPC基本只知道方法种类,但具体的不知道,比较虚,堆排序也没看,现场想堆排序应该怎么做。

面试官反馈,建议我多思考问题的本质。面试官非常好~~美团体验很好,二面咨询了很多具体的业务问题,还有未来发展等,面试官都一一解答。

HR面因为是突然接到的电话,在走廊面的,感觉有点慌,忘记说已经有offer了,但是和二面面试官讲过,不知道会不会被当做不诚信。

最后

小编精心为大家准备了一手资料

**点击这里免费领取**以上Java高级架构资料、源码、笔记、视频。Dubbo、Redis、设计模式、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术

【附】架构书籍赠送

  1. BAT面试的20道高频数据库问题解析
  2. Java面试宝典
  3. Netty实战
  4. 算法

BATJ面试要点及Java架构师进阶资料

tty实战
4. 算法

[外链图片转存中…(img-QiPkUO5L-1621224618516)]

BATJ面试要点及Java架构师进阶资料

[外链图片转存中…(img-KzNQOdED-1621224618518)]

以上是关于RocketMQ消费者是如何获取消息的?转疯了!的主要内容,如果未能解决你的问题,请参考以下文章

RocketMQ - 如何用死信队列解决消费者异常

RocketMq如何保证消费顺序

如何成为一个更好的Android开发者?知乎上转疯了!

5年crud经验,转疯了!

RocketMQ消费者是如何获取消息的?挥泪整理面经

java新技术有哪些,转疯了!