互联网Java工程师面试题·微服务篇·第二弹

news2024/11/17 1:30:47

目录

18、什么是 Spring 引导的执行器?

19、什么是 Spring Cloud?

20、Spring Cloud 解决了哪些问题?

21、在 Spring MVC 应用程序中使用 WebMvcTest 注释有什么用处?

22、你能否给出关于休息和微服务的要点?

23、什么是不同类型的微服务测试?

24、您对 Distributed Transaction 有何了解?

25、什么是 Idempotence 以及它在哪里使用?

26、什么是有界上下文?

27、什么是双因素身份验证?

28、双因素身份验证的凭据类型有哪些?

29、什么是客户证书?

30、PACT 在微服务架构中的用途是什么?

31、什么是 OAuth?

32、康威定律是什么?

33、合同测试你懂什么?


18、什么是 Spring 引导的执行器?

        Spring Boot 执行程序提供了 restful Web 服务,以访问生产环境中运行应用程序的当前状态。在执行器的帮助下,您可以检查各种指标并监控您的应用程序。


19、什么是 Spring Cloud?

        根据 Spring Cloud 的官方网站,Spring Cloud 为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,领导选举,分布式会话,集群状态)。


20、Spring Cloud 解决了哪些问题?

在使用 Spring Boot 开发分布式微服务时,我们面临的问题很少由 Spring Cloud解决。

与分布式系统相关的复杂性 – 包括网络问题,延迟开销,带宽问题,安全问题。

处理服务发现的能力 – 服务发现允许集群中的进程和服务找到彼此并进行通信。

解决冗余问题 – 冗余问题经常发生在分布式系统中。

负载平衡 – 改进跨多个计算资源(例如计算机集群,网络链接,中央处理单元)的工作负载分布。

减少性能问题 – 减少因各种操作开销导致的性能问题。


21、在 Spring MVC 应用程序中使用 WebMvcTest 注释有什么用处?

        在测试目标只关注 Spring MVC 组件的情况下,WebMvcTest 注释用于单元测试Spring MVC 应用程序。在上面显示的快照中,我们只想启动 ToTestController。执行此单元测试时,不会启动所有其他控制器和映射。


22、你能否给出关于休息和微服务的要点?

        虽然您可以通过多种方式实现微服务,但 REST over HTTP 是实现微服务的一种方式。REST 还可用于其他应用程序,如 Web 应用程序,API 设计和 MVC 应用程序,以提供业务数据。

        微服务是一种体系结构,其中系统的所有组件都被放入单独的组件中,这些组件可以单独构建,部署和扩展。微服务的某些原则和最佳实践有助于构建弹性应用程序。

        简而言之,您可以说 REST 是构建微服务的媒介。


23、什么是不同类型的微服务测试?

在使用微服务时,由于有多个微服务协同工作,测试变得非常复杂。因此,测试分为不同的级别。

在底层,我们有面向技术的测试,如单元测试和性能测试。这些是完全自动化的。

在中间层面,我们进行了诸如压力测试和可用性测试之类的探索性测试。

在顶层, 我们的 验收测试数量很少。这些验收测试有助于利益相关者理解和验证软件功能。


24、您对 Distributed Transaction 有何了解?

        分布式事务是指单个事件导致两个或多个不能以原子方式提交的单独数据源的突变的任何情况。在微服务的世界中,它变得更加复杂,因为每个服务都是一个工作单元,并且大多数时候多个服务必须协同工作才能使业务成功。


25、什么是 Idempotence 以及它在哪里使用?

幂等性是能够以这样的方式做两次事情的特性,即最终结果将保持不变,即好像它只做了一次。

用法:在远程服务或数据源中使用 Idempotence,这样当它多次接收指令时,它只处理指令一次。


26、什么是有界上下文?

        有界上下文是域驱动设计的核心模式。DDD 战略设计部门的重点是处理大型模型和团队。DDD 通过将大型模型划分为不同的有界上下文并明确其相互关系来处理大型模型。


27、什么是双因素身份验证?

双因素身份验证为帐户登录过程启用第二级身份验证。

图 11: 双因素认证的表示 – 微服务访谈问题

因此,假设用户必须只输入用户名和密码,那么这被认为是单因素身份验证。


28、双因素身份验证的凭据类型有哪些?

这三种凭证是:

图 12: 双因素认证的证书类型 – 微服务面试问题


29、什么是客户证书?

        客户端系统用于向远程服务器发出经过身份验证的请求的一种数字证书称为客户端证书。客户端证书在许多相互认证设计中起着非常重要的作用,为请求者的身份提供了强有力的保证。


30、PACT 在微服务架构中的用途是什么?

        PACT 是一个开源工具,允许测试服务提供者和消费者之间的交互,与合同隔离,从而提高微服务集成的可靠性。

微服务中的用法

用于在微服务中实现消费者驱动的合同。

测试微服务的消费者和提供者之间的消费者驱动的合同。

查看即将到来的批次


31、什么是 OAuth?

        OAuth 代表开放授权协议。这允许通过在 HTTP 服务上启用客户端应用程序(例如第三方提供商 Facebook,GitHub 等)来访问资源所有者的资源。因此,您可以在不使用其凭据的情况下与另一个站点共享存储在一个站点上的资源。


32、康威定律是什么?

        “任何 设计 系统 的组 织( 广泛 定义 )都 将产 生一 种设 计, 其结 构是 组织 通信 结构的副 本。” – Mel Conway

图 13: Conway 定律的表示 – 微服务访谈问题

        该法律基本上试图传达这样一个事实:为了使软件模块起作用,整个团队应该进行良好的沟通。因此,系统的结构反映了产生它的组织的社会边界。


33、合同测试你懂什么?

        根据 Martin Flower 的说法,合同测试是在外部服务边界进行的测试,用于验证其是否符合消费服务预期的合同。

        此外,合同测试不会深入测试服务的行为。更确切地说,它测试该服务调用的输入&输出包含所需的属性和所述响应延迟,吞吐量是允许的限度内。

互联网Java工程师面试题·微服务篇·第一弹-CSDN博客

千题千解·Java面试宝典_时光の尘的博客-CSDN博客

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

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

相关文章

正点原子嵌入式linux驱动开发——Linux DAC驱动

上一篇笔记中学习了ADC驱动,STM32MP157 也有DAC外设,DAC也使用的IIO驱动框架。本章就来学习一下如下在Linux下使用STM32MP157上的DAC。 DAC简介 ADC是模数转换器,负责将外界的模拟信号转换为数字信号。DAC刚好相反,是数模转换器…

mysql数据库可以执行定时任务

在一些业务需要中,经常需要一些定时任务。如Java的schedule,nodejs的node-schedule等。今天第一次接触了使用数据库的存储过程来执行定时任务。 本篇文章以MySQL数据库为例,介绍通过数据库设置定时任务的方法。本文中以介绍操作过程为主&…

注册并实名认证华为开发者账号流程

文 | Promise Sun 1. 打开华为开发者网址: https://www.harmonyos.com 2.注册华为开发者账号: 1)注册时可以选择手机号或者邮箱两种方式注册,建议选择手机号注册。 2)根据提示填写信息注册即可。 3.开发者实名认证&am…

P6入门:项目初始化7-项目详情之代码/分类码Code

前言 使用项目详细信息查看和编辑有关所选项目的详细信息,在项目创建完成后,初始化项目是一项非常重要的工作,涉及需要设置的内容包括项目名,ID,责任人,日历,预算,资金,分类码等等&…

lc307.区域和检索 - 数组可修改

暴力解法 创建方法,通过switch-case判断所需要调用的方法。 public class RegionsAndSertches {public static void main(String[] args) {String[] str new String[]{"NumArray", "sumRange", "update", "sumRange"};i…

算法笔记-第五章-分数的四则运算

分数的四则运算 分数约分分数加法分数减法分数乘法分数除法分数的输出 分数约分 #include <cstdio> #include <algorithm> using namespace std; struct Fraction {//用结构体表示分子和分母int up, down; }; int gcd(int a, int b) {//求出最大公约数if (b 0) {r…

RTOS实时操作系统在嵌入式开发中的应用

随着各种嵌入式系统应用的日益复杂和对实时性要求的提高&#xff0c;使用实时操作系统&#xff08;RTOS&#xff09;成为嵌入式开发中的一种重要选择。STM32微控制器作为一种强大的嵌入式处理器&#xff0c;与各种RTOS相结合&#xff0c;能够提供更高效、可靠并且易于维护的系统…

CDN加速技术:节点部署的专业指南

随着互联网的迅猛发展&#xff0c;网站的访问量也在不断增加。为了提供更快、更稳定的用户体验&#xff0c;许多网站都采用了剑盾上云CDN&#xff08;内容分发网络&#xff09;技术。在CDN加速中&#xff0c;节点的合理部署是关键一环&#xff0c;决定了加速效果的优劣。本文将…

Android launchWhenXXX 和 repeatOnLifecycle

文章目录 Android launchWhenXXX 和 repeatOnLifecyclelifecycleScope和viewModelScopelaunchWhenXXXrepeatOnLifecycleflowWithLifecycle总结 Android launchWhenXXX 和 repeatOnLifecycle lifecycleScope和viewModelScope LiveData优点&#xff1a; 避免内存泄露风险&…

算法笔记-第五章-质因子分解

算法笔记-第五章-质因子分解 小试牛刀质因子2的个数丑数 质因子分解最小最大质因子约数个数 小试牛刀 质因子2的个数 #include<cstdio> int main() {int n; scanf_s("%d", &n); int count 0; while (n % 2 0) {count; n / 2; }printf("%…

P36[11-1]SPI通信协议

SPI相比于IIC的优缺点: 1.SPI传输速度快(IIC高电平驱动能力较弱,因此无法高速传输) 2.使用简单 3.通信线多 SCK(SCLK,CK,CLK):串行时钟线 MOSI(DO):主机输出,从机输入 MISO(DI): 主机输入,从机输出 SS(NSS,CS):从机选择(有多少个从机,主机就要用几根SS分别与从机连接…

人工智能基础_机器学习026_L1正则化_套索回归权重衰减梯度下降公式_原理解读---人工智能工作笔记0066

然后我们继续来看套索回归,也就是线性回归,加上了一个L1正则化对吧,然后我们看这里 L1正则化的公式是第二个,然后第一个是原来的线性回归,然后 最后一行紫色的,是J= J0+L1 对吧,其实就是上面两个公式加起来 然后我们再去看绿色的 第一行,其实就是原来线性回归的梯度下降公式…

WordPress 文档主题模板Red Line -v0.2.2

此主题作为框架&#xff0c;做承载第三方页面之用&#xff0c;例如飞书文档等&#xff0c; 您可以将视频图片等资源放第三方文档上&#xff0c;通过使用此主题做目录用。 此主题使用前后端分离开发&#xff0c;也使用了一些技术尽量不影响正常的SEO&#xff0c;还望注意。 源码…

P6入门:项目初始化5-项目支出计划Spending Plan

前言 使用项目详细信息查看和编辑有关所选项目的详细信息&#xff0c;在项目创建完成后&#xff0c;初始化项目是一项非常重要的工作&#xff0c;涉及需要设置的内容包括项目名&#xff0c;ID,责任人&#xff0c;日历&#xff0c;预算&#xff0c;资金&#xff0c;分类码等等&…

网络和Linux网络_1(网络基础)网络概念+协议概念+网络通信原理

目录 1. 网络简介 1.1 独立模式和互联网络模式 1.2 局域网LAN和广域网WAN 2. 协议和协议分层 2.1 协议的作用 2.2 协议分层 2.3 OSI七层模型 3.2 TCP/IP四层(五层)模型 3. 网络通信原理 3.1 协议报头 3.2 局域网和解包分用 3.3 广域网和跨网络 4. 网络中的地址 4…

Android图形系统之X11、Weston、Wayland、Mesa3D、ANGLE、SwiftShader介绍(十五)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

Java18新增特性

前言 前面的文章&#xff0c;我们对Java9、Java10、Java11、Java12 、Java13、Java14、Java15、Java16、Java17 的特性进行了介绍&#xff0c;对应的文章如下 Java9新增特性 Java10新增特性 Java11新增特性 Java12新增特性 Java13新增特性 Java14新增特性 Java15新增特性 Java…

LCD1602设计(2)-指令宏定义完整版

本文为博主 日月同辉&#xff0c;与我共生&#xff0c;csdn原创首发。希望看完后能对你有所帮助&#xff0c;不足之处请指正&#xff01;一起交流学习&#xff0c;共同进步&#xff01; > 发布人&#xff1a;日月同辉,与我共生_单片机-CSDN博客 > 欢迎你为独创博主日月同…

红色旅游AR互动体验将景区推向更广泛的市场

AR技术的出现使得各展厅观众可以在虚拟和现实的层面进行互动&#xff0c;利用AR和VR技术&#xff0c;将展览地点扩展到特定的虚拟领域&#xff0c;实现了"无触觉"交互体验&#xff0c;增强现实技术和展馆的对接更加激发人们了解新事物的兴趣。 一、AR景区&#xff1a…

idea maven 构建本地jar包及pom文件

1、设置模块build 本地输出路径 <build><defaultGoal>compile</defaultGoal><resources><resource><directory>${basedir}/src/main/resources</directory><includes><include>**/**</include></includes>…