Spring Cloud Consul面试题

在这里插## 标题入图片描述

您好,我是程序员小羊!

前言

Spring Cloud Consul 是微服务架构中的一个重要组件,用于服务发现、配置管理以及健康检查。了解 Spring Cloud Consul 的工作原理和应用场景,对于微服务开发者和架构师来说至关重要。以下是一些常见的 Spring Cloud Consul 面试问题及其详细解答,旨在帮助你更好地准备相关面试。

一、基本概念

1. 什么是 Spring Cloud Consul?

回答:
Spring Cloud Consul 是 Spring Cloud 提供的一个集成模块,它基于 HashiCorp 的 Consul 系统,主要用于微服务架构中的服务发现和配置管理。Consul 提供了多种功能,包括服务注册与发现、分布式键值存储、健康检查等。Spring Cloud Consul 通过与 Consul 的深度集成,帮助开发者在 Spring Cloud 应用中轻松实现这些功能。

2. Consul 的核心组件有哪些?

回答:
Consul 的核心组件包括:

  • Agent:Consul 的守护进程,可以运行在每个节点上。Agent 可以是客户端模式(用于与 Consul 集群交互)或服务器模式(用于参与 Consul 集群)。
  • Catalog:维护服务和节点的注册信息。
  • Service:表示一个可发现的服务,它由服务实例在 Consul 中注册。
  • Health Check:用于监控服务的健康状态。Consul 会定期检查服务的健康状况,并根据结果将服务标记为“健康”或“不可用”。
  • KV Store:一个简单的键值存储,适用于配置管理和其他需要共享数据的场景。

3. 什么是服务发现?为什么在微服务架构中需要它?

回答:
服务发现是指在动态环境中,客户端能够找到服务提供者的位置和地址的机制。在微服务架构中,服务之间通常会相互调用,因此需要一种机制来跟踪和定位这些服务的位置。服务发现可以自动管理服务实例的注册和注销,确保客户端能够通过服务名称动态找到可用的服务实例,而不需要硬编码服务地址。

二、Spring Cloud Consul 的使用

4. 如何在 Spring Boot 应用中集成 Spring Cloud Consul?

回答:
要在 Spring Boot 应用中集成 Spring Cloud Consul,可以按照以下步骤操作:

  1. 引入依赖:在 pom.xml 文件中添加 Spring Cloud Consul 依赖。

    <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-discovery</artifactId>
    </dependency>
    
  2. 配置 Consul:在 application.ymlapplication.properties 文件中配置 Consul 的相关属性。

    spring:cloud:consul:host: localhostport: 8500discovery:service-name: my-service
    
  3. 启用服务发现:在主应用类上添加 @EnableDiscoveryClient 注解,以启用服务发现功能。

    @SpringBootApplication
    @EnableDiscoveryClient
    public class MyApplication {public static void main(String[] args) {SpringApplication.run(MyApplication.class, args);}
    }
    
  4. 运行应用:启动应用后,服务会自动注册到 Consul 中,并可以通过 Consul 控制台查看。

5. 如何使用 Spring Cloud Consul 进行配置管理?

回答:
Spring Cloud Consul 提供了分布式的键值存储,可以用于配置管理。以下是使用步骤:

  1. 在 Consul 中存储配置:在 Consul 的 KV Store 中添加配置数据。例如,可以在 config/application/my-service 路径下存储配置:

    {"spring.datasource.url": "jdbc:mysql://localhost:3306/mydb","spring.datasource.username": "user","spring.datasource.password": "password"
    }
    
  2. 在 Spring Boot 应用中使用配置:Spring Cloud Consul 会自动读取这些配置,并将其加载到 Spring 环境中。你可以像使用本地配置一样,使用这些配置。

  3. 动态刷新配置:如果需要动态刷新配置,可以使用 Spring Cloud Consul 的 @RefreshScope 注解,结合 Spring Cloud Config 的 /actuator/refresh 端点,触发配置刷新。

6. 如何在 Spring Cloud Consul 中实现服务的健康检查?

回答:
健康检查是 Consul 的核心功能之一。你可以在 Spring Boot 应用中通过以下方式实现健康检查:

  1. 自定义健康检查端点:在 Spring Boot 应用中定义一个健康检查端点,例如 /health,返回服务的健康状态。

  2. 配置健康检查:在 application.yml 中配置健康检查的相关属性。例如:

    spring:cloud:consul:discovery:health-check-path: /healthhealth-check-interval: 10s
    
  3. 注册健康检查:Consul 会根据配置定期访问 /health 端点,并根据返回的状态来判断服务的健康状况。如果健康检查失败,Consul 将不再将该服务实例标记为可用。

三、高级主题

7. 如何处理 Spring Cloud Consul 中的服务优雅下线?

回答:
在微服务架构中,优雅下线是指在停止或重启服务时,避免正在处理的请求突然中断。Spring Cloud Consul 可以通过以下方式实现服务的优雅下线:

  1. 使用 spring-cloud-starter-consul-discovery 提供的自动注销机制:在应用停止时,Spring Cloud Consul 会自动将服务从 Consul 中注销。

  2. 配置 deregister-critical-service-after:在 application.yml 中配置 deregister-critical-service-after,指定服务在健康检查失败后多长时间内被 Consul 注销。例如:

    spring:cloud:consul:discovery:health-check-critical-timeout: 30s
    
  3. 在停止应用前设置健康状态为 critical:通过编程方式,在应用关闭前手动将服务的健康状态设置为 critical,并等待足够时间以确保 Consul 取消注册服务。

8. 如何处理 Spring Cloud Consul 中的服务熔断和降级?

回答:
服务熔断和降级是微服务架构中常用的保护机制。虽然 Spring Cloud Consul 本身不直接提供熔断和降级功能,但可以与其他 Spring Cloud 组件(如 Spring Cloud Circuit Breaker)结合使用。

  1. 引入依赖:在 pom.xml 中添加 Spring Cloud Circuit Breaker 依赖。

    <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-circuitbreaker-resilience4j</artifactId>
    </dependency>
    
  2. 配置熔断器:在 application.yml 中配置熔断器的相关参数,如超时时间、失败次数等。

  3. 使用熔断器:在代码中使用 @CircuitBreaker 注解,为某个服务调用添加熔断保护。例如:

    @CircuitBreaker(name = "myService", fallbackMethod = "fallback")
    public String callService() {// 调用远程服务
    }public String fallback(Throwable throwable) {// 降级处理return "Fallback response";
    }
    

通过这些步骤,你可以在使用 Spring Cloud Consul 进行服务发现的同时,增加服务的容错能力。

9. Spring Cloud Consul 与 Spring Cloud Eureka 有何区别?

回答:
Spring Cloud Consul 和 Spring Cloud Eureka 都是服务发现工具,但它们在架构和功能上有所不同:

  • 架构:Eureka 是 Netflix 提供的服务发现工具,采用的是 P2P 架构,无需第三方工具。而 Consul 是 HashiCorp 提供的,采用了中心化架构,依赖 Consul 服务器。
  • 功能:Consul 提供更多的功能,如分布式键值存储、健康检查等,而 Eureka 专注于服务发现和注册。
  • 一致性模型:Eureka 在服务注册时采用了最终一致性模型,而 Consul 采用的是强一致性模型。
  • 支持语言:Consul 提供多语言支持,而 Eureka 主要针对 Java 生态。

四、实践与问题解决

10. Spring Cloud Consul 在生产环境中的最佳实践是什么?

回答:
在生产环境中使用 Spring Cloud Consul,以下是一些最佳实践:

  1. 高可用性部署:Consul 服务器应至少部署 3 个节点,以确保高可用性和数据一致性。
  2. 服务注册优化:避免频繁注册和注销服务,减少 Consul 服务器的压力。
  3. 配置管理:将应用的动态配置存储在 Consul 的 KV Store 中,利用 Spring Cloud Config 与 Consul 集成进行配置管理。
  4. 安全性:使用 Consul 的 ACL(访问控制列表)功能,确保只有授权的应用和用户可以访问和修改服务注册信息。
  5. 监控和报警:定期监控 Consul 的状态,设置健康检查和报警机制,确保服务的可用性。

11. 如何处理 Spring Cloud Consul 中的网络分区问题?

回答:
网络分区是分布式系统中的常见问题,尤其在使用 Consul 这样的集中式服务发现工具时,处理网络分区显得尤为重要。可以采取以下措施:

  1. 配置 Consul 的分区容忍参数:通过调整 consulrejoin-after-partition 参数,可以让服务在网络分区恢复后自动重新加入集群。
  2. 使用服务缓存:在客户端应用中缓存服务列表,当网络分区发生时,客户端可以使用缓存的服务信息,避免服务不可用。
  3. 增加健康检查频率:在网络分区恢复后,快速检测并恢复服务的健康状态。

12. 如何解决 Spring Cloud Consul 中的服务发现延迟问题?

回答:
服务发现延迟可能会导致应用在短时间内无法找到新的服务实例。为了解决这个问题,可以采取以下措施:

  1. 减少健康检查间隔:通过减少健康检查的间隔时间,可以更快地检测到新的服务实例。
  2. 优化 Consul 客户端配置:在客户端配置中调整 discovery-waitdiscovery-block-time 参数,以减少服务发现的延迟。
  3. 使用批量注册:如果服务实例数量较多,可以使用批量注册功能,减少服务注册和发现的时间。

通过以上问题的解析,你应该对 Spring Cloud Consul 有了更加深入的理解。在面试中,除了掌握基础知识外,展示对实际问题的解决能力也至关重要。希望这些内容能帮助你在面试中取得好成绩。Spring Cloud Consul 是微服务架构中的一个重要组件,用于服务发现、配置管理以及健康检查。了解 Spring Cloud Consul 的工作原理和应用场景,对于微服务开发者和架构师来说至关重要。以下是一些常见的 Spring Cloud Consul 面试问题及其详细解答,旨在帮助你更好地准备相关面试。

一、基本概念

1. 什么是 Spring Cloud Consul?

回答:
Spring Cloud Consul 是 Spring Cloud 提供的一个集成模块,它基于 HashiCorp 的 Consul 系统,主要用于微服务架构中的服务发现和配置管理。Consul 提供了多种功能,包括服务注册与发现、分布式键值存储、健康检查等。Spring Cloud Consul 通过与 Consul 的深度集成,帮助开发者在 Spring Cloud 应用中轻松实现这些功能。

2. Consul 的核心组件有哪些?

回答:
Consul 的核心组件包括:

  • Agent:Consul 的守护进程,可以运行在每个节点上。Agent 可以是客户端模式(用于与 Consul 集群交互)或服务器模式(用于参与 Consul 集群)。
  • Catalog:维护服务和节点的注册信息。
  • Service:表示一个可发现的服务,它由服务实例在 Consul 中注册。
  • Health Check:用于监控服务的健康状态。Consul 会定期检查服务的健康状况,并根据结果将服务标记为“健康”或“不可用”。
  • KV Store:一个简单的键值存储,适用于配置管理和其他需要共享数据的场景。

3. 什么是服务发现?为什么在微服务架构中需要它?

回答:
服务发现是指在动态环境中,客户端能够找到服务提供者的位置和地址的机制。在微服务架构中,服务之间通常会相互调用,因此需要一种机制来跟踪和定位这些服务的位置。服务发现可以自动管理服务实例的注册和注销,确保客户端能够通过服务名称动态找到可用的服务实例,而不需要硬编码服务地址。

二、Spring Cloud Consul 的使用

4. 如何在 Spring Boot 应用中集成 Spring Cloud Consul?

回答:
要在 Spring Boot 应用中集成 Spring Cloud Consul,可以按照以下步骤操作:

  1. 引入依赖:在 pom.xml 文件中添加 Spring Cloud Consul 依赖。

    <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-discovery</artifactId>
    </dependency>
    
  2. 配置 Consul:在 application.ymlapplication.properties 文件中配置 Consul 的相关属性。

    spring:cloud:consul:host: localhostport: 8500discovery:service-name: my-service
    
  3. 启用服务发现:在主应用类上添加 @EnableDiscoveryClient 注解,以启用服务发现功能。

    @SpringBootApplication
    @EnableDiscoveryClient
    public class MyApplication {public static void main(String[] args) {SpringApplication.run(MyApplication.class, args);}
    }
    
  4. 运行应用:启动应用后,服务会自动注册到 Consul 中,并可以通过 Consul 控制台查看。

5. 如何使用 Spring Cloud Consul 进行配置管理?

回答:
Spring Cloud Consul 提供了分布式的键值存储,可以用于配置管理。以下是使用步骤:

  1. 在 Consul 中存储配置:在 Consul 的 KV Store 中添加配置数据。例如,可以在 config/application/my-service 路径下存储配置:

    {"spring.datasource.url": "jdbc:mysql://localhost:3306/mydb","spring.datasource.username": "user","spring.datasource.password": "password"
    }
    
  2. 在 Spring Boot 应用中使用配置:Spring Cloud Consul 会自动读取这些配置,并将其加载到 Spring 环境中。你可以像使用本地配置一样,使用这些配置。

  3. 动态刷新配置:如果需要动态刷新配置,可以使用 Spring Cloud Consul 的 @RefreshScope 注解,结合 Spring Cloud Config 的 /actuator/refresh 端点,触发配置刷新。

6. 如何在 Spring Cloud Consul 中实现服务的健康检查?

回答:
健康检查是 Consul 的核心功能之一。你可以在 Spring Boot 应用中通过以下方式实现健康检查:

  1. 自定义健康检查端点:在 Spring Boot 应用中定义一个健康检查端点,例如 /health,返回服务的健康状态。

  2. 配置健康检查:在 application.yml 中配置健康检查的相关属性。例如:

    spring:cloud:consul:discovery:health-check-path: /healthhealth-check-interval: 10s
    
  3. 注册健康检查:Consul 会根据配置定期访问 /health 端点,并根据返回的状态来判断服务的健康状况。如果健康检查失败,Consul 将不再将该服务实例标记为可用。

三、高级主题

7. 如何处理 Spring Cloud Consul 中的服务优雅下线?

回答:
在微服务架构中,优雅下线是指在停止或重启服务时,避免正在处理的请求突然中断。Spring Cloud Consul 可以通过以下方式实现服务的优雅下线:

  1. 使用 spring-cloud-starter-consul-discovery 提供的自动注销机制:在应用停止时,Spring Cloud Consul 会自动将服务从 Consul 中注销。

  2. 配置 deregister-critical-service-after:在 application.yml 中配置 deregister-critical-service-after,指定服务在健康检查失败后多长时间内被 Consul 注销。例如:

    spring:cloud:consul:discovery:health-check-critical-timeout: 30s
    
  3. 在停止应用前设置健康状态为 critical:通过编程方式,在应用关闭前手动将服务的健康状态设置为 critical,并等待足够时间以确保 Consul 取消注册服务。

8. 如何处理 Spring Cloud Consul 中的服务熔断和降级?

回答:
服务熔断和降级是微服务架构中常用的保护机制。虽然 Spring Cloud Consul 本身不直接提供熔断和降级功能,但可以与其他 Spring Cloud 组件(如 Spring Cloud Circuit Breaker)结合使用。

  1. 引入依赖:在 pom.xml 中添加 Spring Cloud Circuit Breaker 依赖。

    <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-circuitbreaker-resilience4j</artifactId>
    </dependency>
    
  2. 配置熔断器:在 application.yml 中配置熔断器的相关参数,如超时时间、失败次数等。

  3. 使用熔断器:在代码中使用 @CircuitBreaker 注解,为某个服务调用添加熔断保护。例如:

    @CircuitBreaker(name = "myService", fallbackMethod = "fallback")
    public String callService() {// 调用远程服务
    }public String fallback(Throwable throwable) {// 降级处理return "Fallback response";
    }
    

通过这些步骤,你可以在使用 Spring Cloud Consul 进行服务发现的同时,增加服务的容错能力。

9. Spring Cloud Consul 与 Spring Cloud Eureka 有何区别?

回答:
Spring Cloud Consul 和 Spring Cloud Eureka 都是服务发现工具,但它们在架构和功能上有所不同:

  • 架构:Eureka 是 Netflix 提供的服务发现工具,采用的是 P2P 架构,无需第三方工具。而 Consul 是 HashiCorp 提供的,采用了中心化架构,依赖 Consul 服务器。
  • 功能:Consul 提供更多的功能,如分布式键值存储、健康检查等,而 Eureka 专注于服务发现和注册。
  • 一致性模型:Eureka 在服务注册时采用了最终一致性模型,而 Consul 采用的是强一致性模型。
  • 支持语言:Consul 提供多语言支持,而 Eureka 主要针对 Java 生态。

四、实践与问题解决

10. Spring Cloud Consul 在生产环境中的最佳实践是什么?

回答:
在生产环境中使用 Spring Cloud Consul,以下是一些最佳实践:

  1. 高可用性部署:Consul 服务器应至少部署 3 个节点,以确保高可用性和数据一致性。
  2. 服务注册优化:避免频繁注册和注销服务,减少 Consul 服务器的压力。
  3. 配置管理:将应用的动态配置存储在 Consul 的 KV Store 中,利用 Spring Cloud Config 与 Consul 集成进行配置管理。
  4. 安全性:使用 Consul 的 ACL(访问控制列表)功能,确保只有授权的应用和用户可以访问和修改服务注册信息。
  5. 监控和报警:定期监控 Consul 的状态,设置健康检查和报警机制,确保服务的可用性。

11. 如何处理 Spring Cloud Consul 中的网络分区问题?

回答:
网络分区是分布式系统中的常见问题,尤其在使用 Consul 这样的集中式服务发现工具时,处理网络分区显得尤为重要。可以采取以下措施:

  1. 配置 Consul 的分区容忍参数:通过调整 consulrejoin-after-partition 参数,可以让服务在网络分区恢复后自动重新加入集群。
  2. 使用服务缓存:在客户端应用中缓存服务列表,当网络分区发生时,客户端可以使用缓存的服务信息,避免服务不可用。
  3. 增加健康检查频率:在网络分区恢复后,快速检测并恢复服务的健康状态。

12. 如何解决 Spring Cloud Consul 中的服务发现延迟问题?

回答:
服务发现延迟可能会导致应用在短时间内无法找到新的服务实例。为了解决这个问题,可以采取以下措施:

  1. 减少健康检查间隔:通过减少健康检查的间隔时间,可以更快地检测到新的服务实例。
  2. 优化 Consul 客户端配置:在客户端配置中调整 discovery-waitdiscovery-block-time 参数,以减少服务发现的延迟。
  3. 使用批量注册:如果服务实例数量较多,可以使用批量注册功能,减少服务注册和发现的时间。

五、结尾

今天这篇文章就到这里了,大厦之成,非一木之材也;大海之阔,非一流之归也。感谢大家观看本文

在这里插入图片描述

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

思特科技:国家宝藏数字体验馆展现东方美学 让“文物活起来”

01      思特科技为“国家宝藏数字体验展”提供“数字技术”支持&#xff0c;带来国宝的数字化演绎。以《国家宝藏》顶级IP为基础&#xff0c;打造的全新沉浸文化项目“国宝数字体验展“&#xff0c;借由文物的视角、站在历史的星河中&#xff0c;探寻时间长河中不变的智慧…

CART决策树-基尼指数(全网最详解)

文章目录 一、基尼指数的定义二、基尼指数在CART决策树中的应用三、基尼指数与CART决策树的构建1.计算每个子集的基尼系数&#xff1a;2.计算基尼指数3.选择最优特征4.其余基尼指数5.构建决策树 四、总结 CART决策树基尼指数是CART&#xff08;Classification And Regression T…

8-9月强化速成|30天带刷《严选题》《660》

如果你的目标是90-100分&#xff0c;肯定是够了&#xff0c;但是像下面这样微调一下更好 你的基础阶段做的是辅导讲义上的题目&#xff0c;那么你的基础阶段的题量肯定是够了。 但是强化阶段如果只做660题和严选题&#xff0c;这个题量还有有一些薄弱的&#xff0c;建议可以把…

四、4 逻辑操作符

按位与、按位或关注二进制位 逻辑与、逻辑或只关注真假 1、&&逻辑与&#xff08;并且&#xff09; 左边和右边都为真&#xff0c;结果为真&#xff08;为1&#xff09; 有一个为假&#xff0c;结果为假&#xff08;为0&#xff09; 2、|| 逻辑或&#xff08;或者&a…

NumExpr加速计算(numpy表达式)

文章目录 一、简介二、安装三、函数详解四、性能评估 Python 性能优化&#xff1a;NumExpr Numba CuPy 一、简介 numexpr&#xff08;全称&#xff1a;numpy expression&#xff09;&#xff1a;用于在 NumPy 表达式上快速执行元素级运算的 Python 加速库。 优势&#xff1…

python非交互连接mysql+mycat读写分离实现

python非交互连接mysql >>>import pymysql >>>connpymysql.connect(host"192.168.118.57",port3306,database"test",user"root",password"root") >>> cursorconn.cursor() >>> cursor.execut…

Element-ui table进阶使用

最近项目有多个报表开发的需求&#xff0c;我采用的是凤翎前端组件框架&#xff08;基于element-ui开发&#xff09;&#xff0c;大伙可以直接参考element-ui组件库文档&#xff0c;把标签中的fks替换为el即可。下面我会按顺序一一展开细说这些需求&#xff1a; 1、有多级表头…

AI大模型开发——7.百度千帆大模型调用

本节旨在为读者提供一个实用指南&#xff0c;探讨如何有效地利用百度千帆大模型平台的强大功能。从基础的账号注册和密钥申请入手&#xff0c;逐步引领用户通过案例&#xff0c; 理解并掌握如何调用文本和图像处理的大模型 API&#xff0c; 包括但不限于 NLP、对话生成、文本续…

CV每日论文--2024.7.25

1、Diffusion Models for Monocular Depth Estimation: Overcoming Challenging Conditions 中文标题&#xff1a;单目深度估计的扩散模型&#xff1a;克服具有挑战性的条件 简介&#xff1a;本文提出了一种新颖的方法,旨在解决单张图像深度估计任务中具有挑战性的、超出分布范…

linux 磁盘满了,程序运行失败,如何处理?df -h

场景&#xff1a;紧急呼救&#xff0c;上传图片失败了。我一脸懵&#xff0c;服务器这是又咋地了&#xff0c;别邪乎姐姐&#xff0c;姐姐胆子小啊。 一、寻找问题原因 1、OSS出问题了&#xff1f; 然后我尝试了 IOS 的APP是没问题的&#xff0c;Android提示上传失败&#xf…

在Kubernetes中通过 pod 打开 pod所在宿主机上的shell

昨日一伙计突然问我 在么把自己打好的 docker镜像 上传到 kubernetes 的 节点的 local 镜像池。 现状大约如下&#xff1a; 1&#xff09;只有master节点的登录权限&#xff1b; 2&#xff09;不知道存在哪些worker节点也无法通过 master 借助SSH 登录到 worker节点 &#x…

MyBatis入门(上)---初识

在应⽤分层学习时, 我们了解到web应⽤程序⼀般分为三层&#xff0c;即&#xff1a;Controller、Service、Dao . 之前的案例中&#xff0c;请求流程如下: 浏览器发起请求, 先请求Controller, Controller接收到请求之后, 调⽤ Service进⾏业务逻辑处理, Service再调⽤Dao, 但是Da…

消化学科的领军人物陈烨教授在会议上作了《幽门螺杆菌的规范检测与质控》的专题报告

由广东省药学会主办的“第十九届消化疾病诊疗会暨胃肠疾病药物临床研究交流会”于2024年8月8日-9日在广东省深圳市召开。陈烨教授&#xff0c;作为消化学科的领军人物、中华医学会消化病学分会的常务委员&#xff0c;以及全国幽门螺杆菌学组的组长&#xff0c;在会议上作了《幽…

【仿真与实物设计】基于51单片机设计的打地鼠游戏机——程序源码原理图proteus仿真图PCB设计文档演示视频元件清单等(文末工程资料下载)

基于51单片机设计的打地鼠游戏机 演示视频&#xff1a; 基于51单片机设计的打地鼠游戏机 功能描述&#xff1a;使用 51单片机为核心制作一个打地鼠游戏机。按下启动开关&#xff0c;8盏LED流水点亮并闪烁2次&#xff0c;随即开始播放游戏音乐&#xff0c;直到开始选择模式。选…

CTF密码学小结

感觉没啥好总结的啊 基础的永远是RSA、流密码、哈希、对称密码、古典密码那一套&#xff08;密码学上过课都会&#xff09;&#xff0c;其他的就是数论的一些技巧 似乎格密码也很流行&#xff0c;以及一些奇奇怪怪的性质利用也很多 1、random设置种子后随机的性质&#xff1a…

ORM底层的原理

2.3.面试题3&#xff1a;请介绍什么是ORM思想&#xff1a; a.什么是ORM&#xff1a; 1.所谓的ORM是Dao层的一种思想&#xff0c;意思就是对象关系映射&#xff08;英语&#xff1a;Object Relational Mapping&#xff0c;简称ORM&#xff0c;或O/RM&#xff0c;或O/R mapping…

Excel技巧(一)

快捷键技巧 原文链接 选取某一行的数据直到最后一行&#xff1a;【CTRL SHIFT ↓ 】或者选取一行后按住SHIFT键&#xff0c;双击下边线就可以快速选取区域。 如果表格中有多行空行&#xff0c;可以先按CTRL SHIFT END&#xff0c;再按CTRL SHIFT 上下键调整&#xff0c;…

读懂 GraphRAG:提升LLM企业落地能力,智能问答革命

在企业中单纯的使用LLM并不会产生太好的效果&#xff0c;因为它们不会对有关组织活动的特定领域专有知识进行编码&#xff0c;而这些知识实际上会给信息对话界面带来价值萃取。很多企业尝试通过RAG来优化这个过程&#xff0c;并且越来越多的人在RAG的方向上不断的研究&#xff…

【蓝桥杯集训100题】scratch游泳时长 蓝桥杯scratch比赛专项预测编程题 集训模拟练习题第27题

目录 scratch游泳时长 一、题目要求 编程实现 二、案例分析 1、角色分析 2、背景分析 3、前期准备 三、解题思路 1、思路分析 2、详细过程 四、程序编写 五、考点分析 六、推荐资料 1、入门基础 2、蓝桥杯比赛 3、考级资料 4、视频课程 5、python资料 scratc…

《黑神话.悟空》与人工智能AI重塑经典与探索未来的交织

"近期我偶然邂逅了一个极为出色的人工智能学习平台&#xff0c;它不仅内容深入浅出&#xff0c;讲解方式还风趣幽默&#xff0c;让人学习起来既轻松又高效。如此宝藏资源&#xff0c;我迫不及待想要与各位共享。即刻点击让我们一起进入这个精彩纷呈的学习网站吧&#xff0…