Skip to main content

moregeek program

2022最新分布式面试题合集,轻松应对java面试_wx6135b7119b442的博客-多极客编程

本系列会系统的整理MySQL,Redis,SSM框架,算法,计网等面试常问技术栈的面试题,本文主要是整理分享了分布式相关的面试题,MySQL、Spring、JVM、Redis之前已经更新了,需要的同学也可以去看一下,希望对正在准备秋招的你们有所帮助!

当然个人整理的所有面试题都无偿分享,只求大伙一个点赞关注转发三连,这些文档都放在文末了,需要的同学可以自取

一、分布式基础

  • 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、高并发场景下如何实现系统限流?

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

资料领取

本文就先写到这里,
面试中常问的一些题目我都有整理的,
后面会持续更新,
需要PDF的好兄弟可以点赞本文+关注后si【分布式】即可领取

2022最新分布式面试题合集,轻松应对Java面试_分布式

2022最新分布式面试题合集,轻松应对Java面试_java_02

©著作权归作者所有:来自51CTO博客作者不想秃头的原创作品,请联系作者获取转载授权,否则将追究法律责任
2022最新分布式面试题合集,轻松应对Java面试
https://blog.51cto.com/u_15357269/5497466

没有了可用task slot,flink新增任务会怎样?_github.com/zq2599的博客-多极客编程

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 没有了可用Task slot,新增任务会怎样? 如下图所示,一个普通Flink1.7的Local环境,正在运行一个并行度为4的任务,现有Task slot全部被使用,因此Available Task Slots为零: 如果这时候再提交一个任务,

javase 多态_人生逐梦正当时的博客-多极客编程

(一)什么是多态?(What)  I.基本概念         多态指的是允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。通俗理解:在程序运行时,相同类型的变量可以呈现出不同的行为特征。II.多态核心核心点一       多态指程序中定义的引用变量(父类)所指向的具体类型和通过该引用变量发出的方法调用在编译时并不确定,而是在程序运行期间才确定,即一个

springboot数据库管理 - 用flyway对数据库管理和迁移_wx607590ac4ce05的博客-多极客编程

上文介绍了Liquibase,以及和SpringBoot的集成。除了Liquibase之外,还有一个组件Flyway也是经常被使用到的类似的数据库版本管理中间件。本文主要介绍Flyway, 以及SpringBoot集成Flyway。@pdai知识准备需要了解Flyway和要解决的问题,以及一些基础概念,比如变迁(migrations),常用命令(commands)等。什么是Flyway? 要解决什

java练习项目——在线聊天室_人类群星闪耀时的博客-多极客编程

Java练习项目——在线聊天室 话不多说,先上源码: server端: import java.io.*; import java.net.*; import java.util.*; public class ChatServer { boolean stated = false; ServerSocket ss = null; //创建集合,存储子线程 Li

#yyds干货盘点# 解决名企真题:小a最多会新认识的多少人_风的博客-多极客编程

1.简述:描述小A参加了一个n人的活动,每个人都有一个唯一编号i(i>=0 & i<n),其中m对相互认识,在活动中两个人可以通过互相都认识的一个人介绍认识。现在问活动结束后,小A最多会认识多少人?输入描述:第一行聚会的人数:n(n>=3 & n<10000);第二行小A的编号: ai(ai >= 0 & ai < n);第三互相认识的数

#yyds干货盘点# leetcode算法题:螺旋矩阵 ii_灰太狼_cxh的博客-多极客编程

题目:给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1:输入:n = 3输出:[[1,2,3],[8,9,4],[7,6,5]]示例 2:输入:n = 1输出:[[1]]代码实现:class Solution { public int[][] generateMatrix(int n) {

#夏日挑战赛#【ffh】ai作诗之httprequest实战_鸿蒙社区的博客-多极客编程

本文正在参加星光计划3.0–夏日挑战赛@TOC 前言 ​ 最近在一个网课上看到了一个AI作诗的接口,因为之前的fetch接口已经不再维护了,所以我就借这个机会想试试鸿蒙的http接口。接下来会重新复习一下http请求的一些基本知识,并且跟大家一起实现一个简单的AI写诗的demo实际操练一下鸿蒙的http请求。 Demo展示 http接口常识补充 内容类型(Content-Type) 内容类型

没有了可用task slot,flink新增任务会怎样?_github.com/zq2599的博客-多极客编程

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 没有了可用Task slot,新增任务会怎样? 如下图所示,一个普通Flink1.7的Local环境,正在运行一个并行度为4的任务,现有Task slot全部被使用,因此Available Task Slots为零: 如果这时候再提交一个任务,

javase 多态_人生逐梦正当时的博客-多极客编程

(一)什么是多态?(What)  I.基本概念         多态指的是允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。通俗理解:在程序运行时,相同类型的变量可以呈现出不同的行为特征。II.多态核心核心点一       多态指程序中定义的引用变量(父类)所指向的具体类型和通过该引用变量发出的方法调用在编译时并不确定,而是在程序运行期间才确定,即一个

初识c++继承_玄鸟轩墨的博客-多极客编程

写在前面在谈着这个之前,我们需要先说说C++的几大特性,封装继承,多态...注意,实不置这三种,只不过他们是基础罢了,大家面试的时候注意一点.我们已经学过了封装,今天就开始继承吧,我们最好按照简单的学习来,这里的语法可能有点难,但是我们用的时候一定要偏简单一点.继承说实话,C++的那些大佬也考虑了很多方式,把继承搞得很复杂,管是继承方式就有三种,所以后面的语言尽力把这个知识点给简化了,我们学习C+

springboot到底是什么?_华为云开发者社区的博客-多极客编程

摘要:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。本文分享自华为云社区《​​SpringBoot到底是什么?如何理解parent、starter、引导类以及内嵌Tomcat?​​》,作者:我是一棵卷心菜 。Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发

[c语言]指针_追梦dnu的博客-多极客编程

指针的本质:#include <stdio.h>//&符号--->取地址,也称引用,通过该操作符我们可以获取一个变量的地址值//指针变量的初始化一定是某个变量取地址//取值操作符为*,也称解引用,通过该操作符我们可以得到一个地址对应的数据int main(){/*int i = 5;int* i_pointer = &i;*/int i = 5;int* p =