Java分布式面试题基础部分

大家在就业的时候都会遇到面试的问题,面试题回答的如何关系到能否顺利入职。动力节点java培训机构的小编为大家总结了java分布式面试题基础部分,希望对大家能够有所帮助。

1.Dubbo的底层实现原理和机制

–高性能和透明化的RPC远程服务调用方案

–SOA服务治理方案

Dubbo缺省协议采用单一长连接和NIO异步通讯,

适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况

2.描述一个服务从发布到被消费的详细过程

务。首先先获取zk的配置信息,然后获取需要暴露的url,然后调用registry.register方法将url注册到zookeeper上去。

3.分布式系统怎么做服务治理

针对互联网业务的特点,eg突发的流量高峰、网络延时、机房故障等,重点针对大规模跨机房的海量服务进行运行态治理,保障线上服务的高SLA,满足用户的体验,常用的策略包括限流降级、服务嵌入迁出、服务动态路由和灰度发布等

幂等的意思是同一个操作,重复执行多次,跟执行一次结果一致。消息幂等,即消息发送操作对于消息消费来说是幂等。也就是相同的消息发送多次,跟发送一次是一样的,这个消息只会被消费一次。

5.消息中间件如何解决消息丢失问题

为了解决消息丢失问题,我们引入了一些重发机制,但也带来的另外一个问题:消息重复,我们来看下都有哪些情况会导致消息重复:

消息发送超时,处于不确定状态,导致重试发送消息,有可能之前的消息已经发送成功,会出现消息重复的情况。解决的思路是,每个消息生成一个消息id,如果发送的消息Broker已经存在了,则丢弃。这种解决办法需要维护一个已经接收的消息的messageidlist。

消息在Broker中只有一份,但是consumer重启前,未及时更新offset,导致consumer重启之后重复消费消息。

上游业务给每个message分配一个messageID,下游业务在接收到message之后,执行业务并且保存messageID,而且要讲两部分放到同一个事务中,保证业务执行成功,messageID肯定保存,业务执行失败,messageID肯定不会保存下来,利用db中存储的messageid来做幂等。我们可以重新封装producerclient和consumerclient,将这部分messageID分配和判重的逻辑封装到clientlib里面。

dubbo启动时默认有重试机制和超时机制。

重试机制在出现调用失败时,会再次调用。如果在配置的调用次数内都失败,则认为此次请求异常,抛出异常。

7.重连机制会不会造成错误

dubbo在调用服务不成功时,默认会重试2次。

Dubbo的路由机制,会把超时的请求路由到其他机器上,而不是本机尝试,所以dubbo的重试机器也能一定程度的保证服务的质量。

8.对分布式事务的理解

本质上来说,分布式事务就是为了保证不同数据库的数据一致性。

事务的ACID特性原子性一致性隔离性持久性消息事务+最终一致性

CC提供了一个编程框架,将整个业务逻辑分为三块:Try、Confirm和Cancel三个操作。以在线下单为例,Try阶段会去扣库存,Confirm阶段则是去更新订单状态,如果更新订单失败,则进入Cancel阶段,会去恢复库存。总之,TCC就是通过代码人为实现了两阶段提交,不同的业务场景所写的代码都不一样,复杂度也不一样,因此,这种模式并不能很好地被复用。

9.如何实现负载均衡,有哪些算法可以实现

经常会用到以下四种算法:随机(random)、轮训(round-robin)、一致哈希(consistent-hash)和主备(master-slave)。

10.zookeeperwatch机制

Znode发生变化(Znode本身的增加,删除,修改,以及子Znode的变化)可以通过Watch机制通知到客户端。那么要实现Watch,就必须实现org.apache.zookeeper.Watcher接口,并且将实现类的对象传入到可以Watch的方法中。Zookeeper中所有读操作(getData(),getChildren(),exists())都可以设置Watch选项。

Redis生成ID这主要依赖于Redis是单线程的,所以也可以用生成全局唯一的ID。可以用Redis的原子操作INCR和INCRBY来实现。

12.用过哪些MQ,怎么用的,和其他mq比较有什么优缺点,MQ的连接是线程安全的吗

RabbitMQ支持AMQP(二进制),STOMP(文本),MQTT(二进制),HTTP(里面包装其他协议)等协议。Kafka使用自己的协议。

Kafka自身服务和消费者都需要依赖Zookeeper。

RabbitMQ在有大量消息堆积的情况下性能会下降,Kafka不会。毕竟AMQP设计的初衷不是用来持久化海量消息的,而Kafka一开始是用来处理海量日志的。

总的来说,RabbitMQ和Kafka都是十分优秀的分布式的消息代理服务,只要合理部署,不作,基本上可以满足生产条件下的任何需求。

13.MQ系统的数据如何保证不丢失

在数据生产时避免数据丢失的方法:

只要能避免上述两种情况,那么就可以保证消息不会被丢失。

(1)就是说在同步模式的时候,确认机制设置为-1,也就是让消息写入leader和所有的副本。

在数据消费时,避免数据丢失的方法:如果使用了storm,要开启storm的ackfail机制;如果没有使用storm,确认数据被完成处理之后,再更新offset值。低级API中需要手动控制offset值。

数据重复消费的情况,如果处理

(1)去重:将消息的唯一标识保存到外部介质中,每次消费处理时判断是否处理过;

(2)不管:大数据场景中,报表系统或者日志信息丢失几条都无所谓,不会影响最终的统计分析结

14.列举出你能想到的数据库分库分表策略;分库分表后,如何解决全表查询的问题

业务拆分、主从复制,数据库分库与分表

使用用户ID是最常用的分库的路由策略。用户的ID可以作为贯穿整个系统用的重要字段。因此,使用用户的ID我们不仅可以方便我们的查询

垂直分表

水平分表

15.zookeeper的选举策略

在zookeeper集群中也是一样,每个节点都会投票,如果某个节点获得超过半数以上的节点的投票,则该节点就是leader节点了。

zookeeper中有三种选举算法,分别是LeaderElection,FastLeaderElection,AuthLeaderElection,FastLeaderElection此算法和LeaderElection不同的是它不会像后者那样在每轮投票中要搜集到所有结果后才统计投票结果,而是不断的统计结果,一旦没有新的影响leader结果的notification出现就返回投票结果。这样的效率更高。

常被问到的Java面试题(带全部答案)

最全多线程编程java面试题

几个最难的资深Java面试题

2020年Java面试题选择题答案

学编程的学费一般是多少费用?

学Java六个月感觉啥也不会?不要担心,让我来帮助你!

学Java可以从事什么工作,职业发展无限可能!

0基础0学费15天面授

有基础直达就业

工作1~3年,加薪神器

工作3~5年,晋升架构

初级202925

初级203221

初级202629

初级203743

答:零基础学Java不要盲目,可以先尝试自己适不适合...查看回答

THE END
1.别让先用后付成了消费陷阱付成新浪财经先用后付是指消费者无需提前支付钱款、零元下单即可体验商品,满意后再付款的一种授信赊购服务。消费者在不知情的情况下被开通先用后付,有时只是想收藏商品或先添加到购物车却变为直接下单,如此一来,可能因未在规定时间内付款而产生逾期费用及征信问题。此外,消费者无需输入支付密码就能直接下单,也可能因此出现过...http://finance.sina.com.cn/jjxw/2024-11-13/doc-incvwfmt5646472.shtml
2.如何避免重复消费陷阱?重复消费是一个普遍存在的问题,不仅会造成个人财务负担,也会对整个社会经济产生不利影响。那么,如何避免陷入重复消费的陷阱呢?下面我们就来探讨一下这个问题。 明确需求,合理消费 在进行消费之前,我们首先要明确自己的实际需求。很多人容易受广告或者周围人的影响,盲目地进行消费,结果往往是买到不需要的东西。因此,我们...https://life.yxlady.com/consume/202408/789385.shtml
3.Kafka如何保证消息的消费顺序Kafka如何保证消息不被重复消费...Kafka如何保证消息不被重复消费生产者消息重复发送 生产发送的消息没有收到正确的broke响应,导致producer重试。 详解:producer发出一条消息,broker落盘以后,因为网络等原因,发送端得到一个发送失败的响应或者网络中断,然后producer收到 一个可恢复的Exception重试消息导致消息重复。 解决:enable.idempotence=true //此时会...https://www.dtstack.com/bbs/article/19475
4.公务卡知识问答5、遇到商户不具备刷卡条件怎么办? 答:我市规定,在公务卡结算方式的适用范围内,行政事业单位应优先在具有刷卡条件的商户进行公务消费,其中市直单位原则上只在具有刷卡条件的商户进行公务消费。对确实不具备刷卡条件的公务消费活动,单位职工应先行垫付现金完成交易,在报销时单位财务部门将款项支付至职工的工资卡账户,不得...http://www.wancheng.gov.cn/sitesources/wcqczj/page_pc/tzgg/article50f4cb55dcd144318566e4675a1b7e3b.html
1.如何确保消费行为的合理性和安全性?这种合理性和安全性如何进行衡量...储蓄和债务状况:合理的消费行为应该能够保证有一定的储蓄,以应对突发情况或未来的规划。同时,要控制债务水平,避免过度负债导致财务困境。 消费满意度:消费后对所购买的产品或服务是否满意也是衡量消费合理性和安全性的重要指标。如果频繁出现不满意的情况,可能意味着消费决策存在问题。 https://stock.hexun.com/2024-11-10/215455561.html
2.降随e保重大疾病保险购买攻略阳光保险集团官方网站23、如果购买时出现“交易流水重复”,导致无法支付怎么办? 为了保证您的资金不会重复扣款,登录进会员中心,删除待支付订单,重新进行购买即可。 24、健康随e保的保费多少钱? 每个人按照不同的保额、年龄不同等,有较大的区别,您可按照自己的情况点击“保费计算”计算。 https://www.sinosig.com/page/common/prdt/html/130922.shtml
3.Alibaba最新1000多道Java面试题汇总详解,收藏起来慢慢刷!9、如何确保消息不丢失? 10、消息基于什么传输? 11、如何保证消息的顺序性 12、Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别? 13、Fanout(广播分发)? 14、如何保证高可用的? 15、mq 的缺点 16、如何保证消息的可靠传输?如果消息丢了怎么办 17、如何避免消息重复投递或重复消费? https://maimai.cn/article/detail?fid=1728969401&efid=esjJLvGGL4fAr1LArgq_cQ
4.消息队列消费失败消息队列重复消费原因消息队列 消费失败 消息队列重复消费原因 1、如何保证消息不被重复消费? 一、为什么会出现重复消费的问题? RabbitMQ、RocketMQ、Kafka 都有可能出现重复消费的问题,导致重复消费的原因可能出现在生产者,也可能出现在 MQ 或 消费者。这里说的重复消费问题是指同一个数据被执行了两次,不单单指 MQ 中一条消息被消费...https://blog.51cto.com/u_16213586/9670405
5.面试官:RocketMQ如何保证消息不丢失,如何保证消息不被重复消费?先消费,消费成功后再提交; 思路一可以解决重复消费的问题但是会丢失消息,因此Rocketmq默认实现的是思路二,由各自consumer业务方保证幂等来解决重复消费问题。 手段七:消费消息重试机制 当消费消息失败了,如果不提供重试消息的能力,则也不能算完全的可靠消费,因此RocketMQ本身提供了重新消费消息的能力。 https://cloud.tencent.com/developer/article/2085783
6.如何保证消息不被重复消费?或者说,如何保证消息消费的幂等性...消费者处理消息失败:当消费者处理消息失败时,可能会导致消息没有被确认,从而出现重复消费的问题。 为了避免这些问题,我们需要采取一些措施来保证消息的可靠性,例如手动确认消息、消费者自身保证幂等性等。 3. 如何保证消息不被重复消费? 在MQ 中,消息的消费是异步的,消费者需要从队列中获取消息并进行处理。 https://www.nowcoder.com/discuss/522882458006618112
7.汽车电话销售话术5、客户要求与车型卖点或定位不符,怎么办? 引导需求 你要引导顾客需求甚至超越顾客需求。想想“和尚买梳”、“非洲卖鞋”,你就会明白这个道理。虽然现在汽车消费越来越崇尚个性,但依然摆脱不了汽车消费群体的“从众心理”,消费者不是专家,而你自己要树立专家形象,形成“权威效应”。 https://mip.jy135.com/zhichang/299913.html
8.公务卡知识问答33、因公务卡还款不及时而产生的循环利息和滞纳金,应由谁负担? 34、怎样避免公务卡还款不及时的问题? 35、如何查询公务卡报销是否已完成? 36、如果遗失了公务卡怎么办? 37、如果使用公务卡进行个人消费,能够保证消费信息的私密性吗? 38、如何获取短信息提示服务? https://caiwu.glut.edu.cn/info/1025/1069.htm
9.薛兆丰经济学课认真做下的笔记利息是对人们延迟消费,接受不确定性的一种补偿 商品紧俏是现货,如果可预见的未来有大量同样的商品补充,那囤货就是自杀;如果未来充满了不确定性,囤起来慢慢销售对社会更有利 23、价格管制 民间借贷不得超过银行利率的4倍,即不得超过24% 根据《合同法》、《最高人民法院关于审理民间借贷案件适用法律若干问题的规定》...https://www.douban.com/doubanapp/dispatch?uri=%2Fnote%2F860309728%3F%26
10.酒店服务礼仪标准8篇(全文)以顾客利益为重,为顾客创造更高消费价值,是酒店全体成员的共同职责。特殊服务的提供,有时涉及几个部门。只有沟通渠道畅通,各部门鼎立合作,才能保证服务的及时、有效提供。管理人员应建立明确的沟通和协作制度,增强部门间理解、上下级沟通,奖励内部服务激励协作精神,使协调工作成为各部门各成员的共同行为准则。 https://www.99xueshu.com/w/file2yyuwrp3.html
11.大数据培训Flink面试知识分享至少一次语义: barrier不对齐,会重复消费。如果不对齐,那么在 chk-100 快照之前,已经处理了一些 chk-100 对应的 offset 之后的数据, 当程序从 chk-100 恢复任务时,chk-100 对应的 offset 之后的数据还会被处理一次, 所以就出现了重复消费。 4. Savapoint了解多少? https://blog.itpub.net/70010293/viewspace-2884751/
12.Kafka中怎么保证消息不会丢失和不重复消费?consumer 采用 pull(拉) 模式从 broker 中读取数据。这个过程只涉及到了服务器和消费者两方,那消费者是怎么保证不丢失和不重复的获取消息呢? 关键在于consumer会维护一个offset,该offset实时记录着自己消费的位置。同时消费者能见到的最大的 offset,是HW, 是ISR 队列中最小的 LEO【这一点看1.3】,所以只要保证off...https://blog.csdn.net/qq_40322236/article/details/127222115
13.小本创业方法任何创业的成功案例,都可以找出更多失败的案例来反证。同样的项目,差不多的团队,操盘手法相仿,甚至办公都在楼上楼下。但是最终的结果可能南辕北辙,这就是艺术的魅力。成功是99%的努力+1%的运气,但是这1%的运气比99%的努力都要重要的多。谋事在人,成事在天。谋只是让成功的概率大一点,但是不保证一定会成功。https://www.yjbys.com/chuangye/zhidao/ruhechuangye/634661.html
14.大学生调查报告集锦15篇(3)动因分析。主要在于消费者自己的选择,其次抒告宣传,然后是亲友介绍,最后才是营业员推荐。不难发现,怎样吸引消费者的注意力,对于企业来说守键。 (二)饮食类产品的`消费情况。 本次调查主要针对一些饮食消费场所和消费者比较喜欢的饮食进行,调查表明,消费有以下几个重要特点: ...https://www.unjs.com/fanwenwang/dcbg/20221127152225_6024906.html