关于MySQL、分布式系统、SpringCloud面试题

news2025/1/31 2:57:21

前言

之前为了准备面试,收集整理了一些面试题。
本篇文章更新时间2023年12月27日。
最新的内容可以看我的原文:https://www.yuque.com/wfzx/ninzck/cbf0cxkrr6s1kniv

MySQL

索引

说一下有哪些锁?

行锁有哪些?

性能优化

分库分表

常用库:mycat、shardingsphere

Sharding 策略

  • 哈希取模
  • 范围:时间范围、ID范围
  • 增加映射表

高性能、高可用

什么时候分库?什么时候分表?

分库的时机:

  • 性能需求:比如高并发下,连接数不够用。
  • 数据规模:数据库服务器空间不足、数据量大性能下降。

分表时机:

  • 单表过大
  • 冷、热数据分离;

分布式系统

分布式锁

分布式事务

Seata提供的分布式事务方案

分布式接口幂等性

SpringCloud

什么是微服务?

微服务标签:一种架构风格、拆分成多个小服务、独立进程、服务围绕业务功能而构建、可独立开发、部署、扩展、轻量级通信、多语言&不同存储技术

简单地说,微服务架构风格就是一种将单个应用拆分成一组小服务开发的方法,每一个小服务运行在它自己的进程中并且使用轻量的协议通信,通常是一个HTTP资源API。这些服务围绕业务能力构建并且由自动化部署机器部署。这些服务有着最小化的中央管理,这个中央管理可以使用不同语言编写并使用不同的数据存储技术。—— James Lewis and Martin Fowler(马丁·福勒)

SpringBoot和SpringCloud的区别?

SpringBoot专注开发单个服务。
SpringCloud关注全局的微服务协调治理。
SpringCloud依赖SpringBoot。

谈谈服务降级、熔断、服务隔离

  • 服务降级:服务不可用时直接返回结果给客户端,不用一直等待。
  • 熔断:错误率达到一定的阈值之后就断路,之后慢慢重新开放。
  • 隔离:防止调用雪崩。一般是通过线程池、或信号量隔离。

服务隔离方案

类别线程池隔离信号量隔离
线程使用线程池的内的线程,而非调用线程与调用线程是同一个
开销线程切换、排队、调度无切换开销
异步支持不支持
超时支持支持
并发控制线程池大小控制信号量数控制

微服务治理

微服务治理是指在微服务架构中,通过一系列的策略工具实践来 管理、监控和控制微服务的运行和交互。
它旨在确保微服务系统的可靠性、高效性和可扩展性,并提供一致的开发和运维体验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1338582.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GrayLog日志平台的基本使用-ssh接入Dashboards展示

这里使用的版本为graylog4.2.10 1、一键安装graylog4.2.10,解压zip包,执行脚本就行 链接:https://pan.baidu.com/s/11U7GpBZ1B7PXR8pyWVcHNw?pwdudln 提取码:udln 2、通过rsyslog采集系统日志,具体操作参考前面文…

Java框架基础--maven,http,postman

maven Maven 提供了一个标准的构建生命周期和一组约定的目录结构,以简化和规范项目的构建过程。它主要用于 Java 项目,但也可以用于其他类型的项目。提高了项目的可维护性、可重复性和一致性,简化了构建和依赖管理的复杂性,使得开…

人类偏好导向:DPO技术重塑SDXL-1.0图像生成

引言 在AI领域,适应和理解人类偏好一直是技术发展的重要方向。斯坦福大学研究团队最近提出的Diffusion-DPO方法,旨在将这一理念应用于图像生成模型,特别是在文本到图像的转换领域。 Huggingface模型下载: https://huggingface.co/mhdang/ A…

dl转置卷积

转置卷积 转置卷积,顾名思义,通过名字我们应该就能看出来,其作用和卷积相反,它可以使得图像的像素增多 上图的意思是,输入是22的图像,卷积核为22的矩阵,然后变换成3*3的矩阵 代码如下 import…

遗传算法的应用——求解一元函数的极值

遗传算法的应用——求解一元函数的极值 1 基本概念2 预备知识3.1 模拟二进制转化为十进制的方法3.2 轮盘赌选择算法 3 问题4 Matlab代码5 运行效果6 总结 1 基本概念 遗传算法(Genetic Algorithm,GA)是模拟生物在自然环境中遗传和进化过程从而形成的随机全局搜索和优化方法&am…

C#与php自定义数据流传输

C#与php自定义数据流传输 介绍一、客户端与服务器数据传输流程图客户端发送数据给服务器:服务器返回数据给客户端: 二、自定义数据流C#版本数据流PHP版本数据流 三、数据传输测试1.在Unity中创建一个C#脚本NetWorkManager.cs2.服务器www目录创建StreamTe…

Docker 创建容器

1、创建MySQL5.7 拉取镜像:docker pull mysql:5.7创建容器:docker run -d --name mysql57001 -p 3306:3306 -v D:\DockerImage\QhData\MySql57:/var/lib/mysql -e MYSQL_ROOT_PASSWORD123456 mysql:5.7进入容器:docker exec -it mysql57001 …

检测如下MHA运行条件【踩坑记录】

【masterha_check_ssh --conf/etc/mha/app1.cnf:SSH免密登录】 【错误信息1】 [error][/usr/share/perl5/vendor_perl/MHA/SSHCheck.pm, ln111] SSH connection from root10.0.0.53(10.0.0.53:22) to root10.0.0.51(10.0.0.51:22) failed! 【错误反馈】就是服务器…

2024 软件测试面试题(800道)【附带答案】持续更新...

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…

什么是数据分析思维

参考 一文学会如何做电商数据分析(附运营分析指标框架) 电子商务该如何做数据分析?如何数据分析入门(从各项指标表象进入) https://www.processon.com/outline/6589838c3129f1550cc69950 数据分析步骤 什么是数据分析…

HackTheBox - Medium - Linux - OnlyForYou

OnlyForYou OnlyForYou 是一台中等难度的 Linux 计算机,其特点是 Web 应用程序容易受到本地文件包含 (LFI) 的影响,该应用程序用于访问源代码,从而揭示盲目命令注入漏洞,从而导致目标系统上的 shell。该计…

k8s的二进制部署1

k8s的二进制部署:源码包部署 k8smaster01:192.168.176.61 kube-apiserver kube-controller-manager kube-scheduler etcd k8smaster01:192.168.176.62 kube-apiserver kube-controller-manager kube-scheduler node节点01:192.…

华清远见嵌入式学习——ARM——作业4

作业要求&#xff1a; 代码运行效果图&#xff1a; 代码&#xff1a; do_irq.c: #include "key_it.h" extern void printf(const char *fmt, ...); unsigned int i 0;//延时函数 void delay(int ms) {int i,j;for(i0;i<ms;i){for(j0;j<2000;j);} }void do_i…

VScode安装Remix.js开发环境

目录 1 Remix.js介绍 2 远程连接方法 3 安装remix环境 4 设置根路由 5 编译运行 6 自己的helloworld 7 总结 书接上回&#xff0c;我们已经完成了vue的基本开发环境配置&#xff0c;并成功跑了第一个vue程序。下面我们要尝试安装remix.js的开发环境。 1 Remix.js介绍 …

00-Git 应用

Git 应用 一、Git概述 1.1 什么是Git git 是一个代码协同管理工具&#xff0c;也称之为代码版本控制工具&#xff0c;代码版本控制或管理的工具用的最多的&#xff1a; svn、 git。 SVN 是采用的 同步机制&#xff0c;即本地的代码版本和服务器的版本保持一致&#xff08;提…

Java中实现百度浏览器搜索功能

要在Java中实现百度浏览器搜索功能&#xff0c;你可以使用Selenium WebDriver。Selenium是一个用于自动化浏览器的工具&#xff0c;WebDriver是Selenium的一个子项目&#xff0c;它提供了一套API&#xff0c;可以直接与浏览器交互。 依赖: <dependencies><dependency…

【http】HTTP/1.0、HTTP/1.1和HTTP/2.0

✨ 专栏介绍 在当今互联网时代&#xff0c;计算机网络已经成为了人们生活和工作中不可或缺的一部分。而要实现计算机之间的通信和数据传输&#xff0c;就需要依靠各种网络协议来进行规范和约束。无论是浏览网页、发送电子邮件还是进行在线交流&#xff0c;都离不开各种各样的网…

【PTA】L1-016 验证身份(C++)

题目链接 &#xff1a; 题目要求&#xff1a; 一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下&#xff1a; 首先对前17位数字加权求和&#xff0c;权重分配为&#xff1a;{7&#xff0c;9&#xff0c;10&#xff0c;5&#xff0…

手机无人直播:解放直播的新方式

现如今&#xff0c;随着科技的迅猛发展&#xff0c;手机已经成为我们生活中不可或缺的一部分。除了通讯、娱乐等功能外&#xff0c;手机还能够通过直播功能将我们的生活实时分享给他人。而针对传统的直播方式&#xff0c;使用手机进行无人直播成为了一种全新的选择。 手机无人…

H.264宏块(Macroblock)概念(运动估计、变换编码、环路滤波)

参考文章&#xff1a;音视频高手课系列5-h264编码基础(宏块原理) 参考文章&#xff1a;切片slice与宏块&#xff0c;运动矢量 文章目录 使用videoEye分析视频宏块示例H.264宏块概念1. 宏块的定义2. 运动估计3. 变换编码4. 环路滤波5. 注意&#xff1a;宏块的概念既适用于帧内编…