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

目录

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、什么是双因素身份验证?

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

互联网Java工程师面试题·微服务篇·第二弹_第1张图片

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

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


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

这三种凭证是:

互联网Java工程师面试题·微服务篇·第二弹_第2张图片

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


29、什么是客户证书?

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


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

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

微服务中的用法

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

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

查看即将到来的批次


31、什么是 OAuth?

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


32、康威定律是什么?

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

互联网Java工程师面试题·微服务篇·第二弹_第3张图片

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

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


33、合同测试你懂什么?

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

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

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

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

互联网Java工程师面试题·微服务篇·第二弹_第4张图片

你可能感兴趣的:(千题千解·Java面试宝典,java,微服务,开发语言)