Java程序员面试-场景篇

前言

裁员增效潮滚滚而来,特总结一些实际场景方案的面试题,希望对大家找工作有一些帮助。

注册中心

题目: 有三台机器,分别部署了微服务A、微服务B、注册中心,其中A和B都有服务接口提供并正常注册到了注册中心,A和B之间有依赖调用,当前整个环境在正常运行,如果现在注册中心这台机器断电了,整个环境还是否可用,有哪些影响?

解析: 此题考察对注册中心原理的理解,这里不管注册中心是zookeep还是eureaka都是一样的。部分面试者会反问:注册中心一般会部署多台,不会都死掉的,面试官会强调场景中只有一台,并且部署多台也无法保证不会都出故障,只是概率问题。
首先要想清楚有没有影响,

  • 微服务中的消费者是如何知道生产者的IP端口的呢?
    是通过向注册中心问询得知;
  • 是什么阶段问的?
    服务启动时
  • 生产者增加或减少怎么知道?
    zk是推给消费者更新生产者列表
    eureaka是消费者定时查询生产者列表并更新

答案: 整个环境可用,但如果A或B需要重启,就无法正常运行了。

消息中间件

题目: 有三台机器,分别部署了微服务A、微服务B、消息中间件(比如RockeMQ),现在定义了一条点对点的消息,其中A是生产者、B是消费者,已知A成功生产一条消息,问B有没有可能收到两条消息?

解析: 消息中间件有什么作用,什么场景适合使用这些我向大家在各种面试宝典中已背的滚瓜烂熟,初级程序员还可以蒙混过关,但高级程序员是要独立负责一个子系统的定位,要有一定的技术把控力,你可以不懂具体实现,但你要知道这里有坑。

答案: 有可能,您问为什么有可能,请官方文档说明:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值