面试网> 面试题库 > BAT面试题分享:16道微服务面试题附答案

BAT面试题分享:16道微服务面试题附答案

面试网2019/9/29 13:54:440人围观
简介在本文中,小编收集了面试官最常问到的问题。1、架构师在微服务架构中的角色是什么? 微服务架构中的架构师扮演以下角色: ①决定整个软件系统的布局。 ②有助于确定组件的分区。因此,他们确保组件相互粘...

  在本文中,小编收集了面试官最常问到的问题。

1、架构师在微服务架构中的角色是什么?

  微服务架构中的架构师扮演以下角色:

  ①决定整个软件系统的布局。

  ②有助于确定组件的分区。因此,他们确保组件相互粘合,但不紧密耦合。

  ③与开发人员一起编写代码,了解日常面临的挑战。

  ④为开发微服务的团队提供某些工具和技术的建议。

  ⑤提供技术治理,以便技术开发团队遵循微服务原则。

2、可以用微服务创建状态机吗?

  我们知道拥有自己数据库的每个微服务都是一个可独立部署的程序单元,这反过来又让我们可以创建一个状态机。因此,我们可以为特定的微服务指定不同的状态和事件。

  例如,我们可以定义 Order 微服务。订单可以具有不同的状态。Order 状态的转换可以是 Order 微服务中的独立事件。

3、如何在测试中消除不确定性?

  不确定性测试(NDT)基本上是不可靠的测试。因此,它们有时可能会通过,显然有时也可能会失败。当它们失败时,会重新运行以通过。

  从测试中排除不确定性的一些方法如下:

  ①隔离

  ②异步

  ③远程服务

  ④分离

  ⑤时间

  ⑥资源泄漏

4、微服务架构中的DRY是什么?

  DRY代表不要重复自己。它基本上促进了重用代码的概念。这导致开发并共享库,但是反过来导致紧耦合。

5、消费者驱动的契约(CDC)是什么?

  这基本上是用于开发微服务的模式,以便它们可以被外部系统使用。当我们处理微服务时,有一个特定的生产者者构建它,并且有一个或多个使用微服务的消费者。

  通常,生产者程序在 XML 文档中指定接口。但在消费者驱动的契约中,每个服务的消费者都传达了生产者期望的接口。

6、Web、RESTful API 在微服务中的作用是什么?

  微服务架构基于一个概念,为了构建业务功能其中所有服务应该能够彼此交互。因此要实现这一点,每个微服务必须具有接口。这使得 Web API 成为微服务的一个非常重要的推动者。 RESTful API 基于 Web 的开放网络原则,为构建微服务架构的各个组件之间的接口提供了最合理的模型。

7、你对微服务架构中的语义监控有何了解?

  语义监控,也称为综合监控,将自动化测试与监控程序相结合,以检测业务失败的因素。

8、什么是客户端证书?

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

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

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

  在微服务中的用法:

  ①用于在微服务中实现消费者驱动的契约。

  ②测试微服务的消费者和生产者之间的消费者驱动的契约。

10、你对分布式事务的理解?

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

11、什么是幂等性(Idempotence)及用在那里?

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

  用法:在远程服务或数据源中使用幂等性,以便当它多次接收指令时,只处理一次。

12、什么是有界上下文?

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

13、Spring boot 的执行器是什么?

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

14、什么是 Spring Cloud?

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

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

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

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

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

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

  ④负载平衡 - 改进跨多种计算资源(如计算机集群、网络链接、中央处理单元)的工作负载分配。

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

16、在使用微服务架构时,你面临的挑战是什么?

  开发较小的微服务听起来很容易,但在开发时会经常遇到一些挑战。

  ①自动化组件:难以自动化,因为有许多较小的组件。对于每个组件,都必须采取构建、发布和监控的步骤。

  ②可感知性:将大量组件维持在一起会带来难以部署、维护、监控和识别的问题。它需要在所有组件周围具有很好的感知能力。

  ③配置管理:有时在各种环境中维护组件的配置会很困难。

  ④调试:很难找到与产生的错误相关的每一项服务。维护一个集中式的日志和控制面板对调试问题至关重要。

最新信息

  • 分享38道最常见的Kafka面试题及答案

    Apache Kafka的受欢迎程度很高,Kafka拥有充足的就业机会和职业前景。此外,在这个时代拥有kafka知识是一条快速增长的道路。 所以,在这篇文章中,小编收集了Apache Kafka...

  • 建议收藏:程序员面试刷题常用的10个网站

    对一个求职的人来说,面试卡在了面试题环节就非常难受了,但是这么多知识点很难做到面面俱到。所以要有备无患,今天小编给大家推荐程序员面试常用的几个网站,教你们怎样合理有效的刷题通过企业招聘的面试。 ...

  • BAT面试题分享:16道微服务面试题附答案

    在本文中,小编收集了面试官最常问到的问题。1、架构师在微服务架构中的角色是什么? 微服务架构中的架构师扮演以下角色: ①决定整个软件系统的布局。 ②有助于确定组件的分区。因此,他们确保组件相互粘...

  • 结构设计师面试:20道常见面试题目汇总

    毫无疑问,相对于产品设计师,结构设计师需要掌握和理解更多的结构设计生产方面的知识要点,比如生产工艺流程特点,工艺缺陷常识,各种生产工艺问题处理等等,一些常用的结构设计方面的工艺都是需要了然于胸的,下面...

  • 掌握这100道架构师面试题,令技术官对你刮目相看

    访谈是工作赢或输的地方。简历 - 尤其是强大的简历 - 将确保您踏上门,但要确保在面试中确保您需要发光的位置,这意味着要做好准备。准备让你看起来知识渊博,轻松,这是人们通常在工作同事中所珍视的两个特征...

  • HR必选的职场面试:心理测试题大全

    这个心理测试已被很多大公司的HR用在招聘工作中,以对应聘者进行更具参考性和客观性的评估。 测试开始:(注意:每题只能选择一个答案,应为你第一印象的答案,把相应答案的分值加在一起即为你的得分。从头...

标签列表