您现在的位置是:首页 > 正文

2022年腾讯首发Java岗分布式面试真题,助力金三银四我是认真的!

2024-01-30 20:05:04阅读 1

前言

分布式分为分布式缓存(Redis)、分布式锁(Redis 或 Zookeeper)、分布式服务(Dubbo 或 SpringCloud)、分布式服务协调(Zookeeper)、分布式消息队列(Kafka 、RabbitMq)、分布式 Session 、分布式事务、分布式搜索(Elasticsearch)等。不可能所有分布式内容都熟悉,一定要在某个领域有所专长。

一、分布式基础

1、集群、分布式、SOA、微服务的概念及区别

集群:不同服务器部署同一套应用服务对外提供访问,实现服务的负载均衡或者互备(热备,主从等),指同一种组件的多个实例,形成的逻辑上的整体。单个节点可以提供完整服务。集群是物理形态

分布式:服务的不同模块部署在不同的服务器上,单个节点不能提供完整服务,需要多节点协调提供服务(也可以是相同组件部署在不同节点、但节点间通过交换信息协作提供服务),分布式强调的是工作方式

SOA:面向服务的架构,一种设计方法,其中包含多个服务, 服务之间通过相互依赖最终提供一系列的功能。一个服务通常以独立的形式存在于操作系统进程中。各个服务之间通过网络调用。

微服务:在 SOA 上做的升华,微服务架构强调的一个重点是业务需要彻底的组件化和服务化,原有的单个业务系统会拆分为多个可以独立开发、设计、运行的小应用。这些小应用之间通过服务完成交互和集成

2、简述CAP理论

3、简述Base理论

4、数据一致性模型有哪些

5、选举算法Quorum 机制、WARO

6、简述paxos算法

7、简述raft算法

8、简述zab协议

9、负载均衡策略有哪些

10、分布式系统的设计目标

 

二、分布式事务

1、分布式事务有哪些解决方案

2、对比两阶段,三阶段有哪些改进

3、简述TCC事务模型

三、分布式服务

1、如何理解RPC

2、zk的初始化选举和崩溃选举过程

3、zk的watch机制实现原理

4、zk分布式锁实现原理

5、Zookeeper 的典型应用场景

6、zk的数据同步原理

7、zk中一个客户端修改了某个节点的数据,其他客户端能够马上获取到这个最新数据吗?

8、请谈谈ZooKeeper对事务性的支持

9、简述zk中的观察者机制

10、zk的会话管理机制

11、zk和eureka的对比

12、Dubbo是什么?能做什么?

13、简述dubbo的分层设计

14、能说下Dubbo的工作流程吗

15、dubbo服务暴露过程

16、dubbo服务引入过程

17、dubbo服务调用过程

18、Dubbo支持的注册中心有哪些?

19、dubbo集群容错策略有哪些

20、dubbo的SPI机制

四、分布式存储

1、如何实现分库分表

2、存储拆分后如何解决唯一主键问题

3、雪花算法原理

4、如何解决不使用分区键的查询问题

5、session的分布式方案

五、分布式缓存

1、如何避免缓存穿透、缓存击穿、缓存雪崩?

2、分布式系统中常用的缓存方案有哪些

3、如何保证数据库与缓存的一致性?

4、缓存过期都有哪些策略?

5、常见的缓存淘汰算法

6、布隆过滤器原理,优缺点

7、分布式缓存寻址算法

8、redis的持久化机制

9、Redis单线程为什么这么快

10、说一下你知道的redis高可用方案

11、redis 主从同步机制

12、简述Redis事务实现

13、简述redis数据结构

14、数据库实现分布式锁的问题及解决方案

15、redis分布式锁实现

六、分布式高可用

1、什么是服务降级、什么是熔断

降级是解决系统资源不足和海量业务请求之间的矛盾

在暴增的流量请求下,对一些非核心流程业务、非关键业务,进行有策略的放弃,以此来释放系统资源,保证核心业务的正常运行,尽量避免这种系统资源分配的不平衡,打破二八策略,让更多的机器资源,承载主要的业务请求。服务降级不是一个常态策略,而是应对非正常情况下的应急策略。

服务降级的结果,通常是对一些业务请求,返回一个统一的结果,可以理解为是一种 FailOver 快速失败的策略。一般通过配置中心配置开关实现开启降级熔断模式保护的是业务系统不被外部大流量或者下游系统的异常而拖垮。

2、高并发场景下如何实现系统限流?

限流一般需要结合容量规划和压测来进行。当外部请求接近或者达到系统的最大阈值时,触发限流,采取其他的手段进行降级,保护系统不被压垮。常见的降级策略包括延迟处理、拒绝服务、随机拒绝等。

七、消息中间件

1、消息队列的优缺点,使用场景

2、如何保证消息不被重复消费

3、Kafka、ActiveMQ、RabbitMQ、RocketMQ 对比

4、RabbitMQ架构设计

5、简述RabbitMq的交换机类型

6、rabbitmq可以直连队列么?

7、rabbitmq的持久化机制

8、RabbitMQ事务消息

9、RabbitMQ如何保证消息的可靠性传输

10、rabbitmq的死信队列、延迟队列原理

11、rabbitmq的普通集群原理

12、rabbitmq的镜像队列原理

13、kafka架构设计

14、kafka高性能高吞吐的原因

15、kafka的副本同步机制

16、Kafka消息高可靠解决方案

17、kafka的rebalance机制

18、RocketMQ 架构设计

19、RocketMQ 事务消息原理

20、RocketMQ 顺序消息原理

不论是校招还是社招都避免不了各种⾯试、笔试,如何去准备这些东⻄就显得格外重要,希望这份Java分布式面试真题可以对大家今年的金三银四面试跳槽有帮助。

网站文章

  • 山西大学计算机专业国内排名,山西这所大学曾是国内排名前五,如今排名下滑,有点走下坡路了...

    山西大学计算机专业国内排名,山西这所大学曾是国内排名前五,如今排名下滑,有点走下坡路了...

    文/山西有不少大家熟知的大学,一共85所院校,其中34所本科院校,51所专科院校。我国的高校数量众多,达到了2900多所,快突破了3000所,不仅数量多,各大高校也都经过的多年的办学历程,才达到现在办...

    2024-01-30 20:04:57
  • html必要的结构标准,HTML_关于现代前端必要知识

    html必要的结构标准,HTML_关于现代前端必要知识

    由VS Code空.html文件打出html:5或!按下tab建后默认生成的.html基本框架代码说起我是title第一行: 很庆幸,如今我们只需要这么一个自闭合标签即可告诉浏览器,请使用html5的...

    2024-01-30 20:04:51
  • centos7 安装git_centos7搭建H1ve环境

    centos7 安装git_centos7搭建H1ve环境

    H1ve是一款开源的ctf平台,具备解题和攻防对抗模式,并且还有可视化战况界面.是个很不错的平台,我们今天来搭建一下,顺便解决一下搭建的各种问题.系统版本:centos7需要环境:dockerpython2 pipdocker-composemariadb开始搭建,先重新安装一个centos7的虚拟机.(mini最小化安装,安装过程不表).1.先安装docker依赖环境yum insta...

    2024-01-30 20:04:23
  • CSS中修改ul标签的样式

    在我们使用li标签的时候,ul样式经常会错乱 ul标签样式设置如下: ul { list-style: none; padding: 0px; margin: 0px; }

    2024-01-30 20:04:17
  • aop执行模版

    aop执行模版

    【代码】aop执行模版。

    2024-01-30 20:04:09
  • 用计算机怎么算sin30,计算器sin30怎么按

    大家好,我是智能客服时间君,上述问题将由我为大家进行解答。以OPPO手机为例,在计算器上按sin30的方法如下:1、打开计算器。2、将手机横屏,并点击右下角的小图标,使手机屏幕变成横向。3、点击sin...

    2024-01-30 20:03:40
  • JVM参数-Xms和-Xmx的作用是什么

    JVM参数-Xms和-Xmx的作用是什么

    2024-01-30 20:03:33
  • Flask框架---路由相关

    路由 现代 web 应用都使用有意义的 URL ,这样有助于用户记忆,网页会更得到用户的青睐, 提高回头率。 使用 route() 装饰器来把函数绑定到 URL: @app.route('/&...

    2024-01-30 20:03:26
  • Android学习|布局—— FrameLayout 悬浮

    Android学习|布局—— FrameLayout 悬浮一、常见属性二、前景属性Demo      FrameLayout 与 RelativeLayout 类似。 都是布局包含多个子 FrameL...

    2024-01-30 20:03:19
  • 18.文本处理命令sed

    18.文本处理命令sed

    sed主要是用来将数据进行选取,替换,删除,新增的命令。sed通过一次仅读取一行内容来对某些指令进行处理后输出。首先sed通过文件或管道读取文件内容,但sed默认并不输出直接修改源文件,而是将读入的内...

    2024-01-30 20:02:51