继2019年必须掌握的29个微服务面试问题(上)继2019年必须掌握的29个微服务面试问题(上)

继2019年必须掌握的29个微服务面试问题(上),现在整理了29道剩余的微服务面试题,希望对你有所帮助!

12
Q:为什么人们会犹豫使用微服务?

A:我见过许多开发者在这个问题上摸索。毕竟,在面试微服务架构师角色时,他们会被问到这个问题,所以承认它的缺点可能有点棘手。以下是一些很好的答案:

它们需要大量协作  - 微服务需要大量的合作。不同的微服务模块,可能分散在不同的团队,团队之间需要始终保持良好的同步。

他们需要建立繁重的架构  - 系统是分布式的,架构涉及很多。

他们需要过多的计划来处理操作开销  - 如果您计划使用微服务架构,则需要为操作开销做好准备。

需要熟练的专业人员,他们可以支持异构分布的微服务。

13
Q: PACT如何运作?

A: PACT是一个开源工具。它有助于测试消费者和服务提供商之间的互动。消费者服务开发人员首先编写一个测试,该测试定义了与服务提供者的交互模式。测试包括提供者的状态,请求正文和预期的响应。基于此,PACT创建了一个针对其执行测试的存根。输出存储在JSON文件中。

14 Q:谈一下领域驱动设计

A:主要关注核心领域逻辑。基于领域的模型检测复杂设计。这涉及与公司层面领域方面的专家定期合作,以解决与领域相关的问题并改进应用程序的模型。在回答这个微服务面试问题时,您还需要提及DDD的核心基础知识。他们是:

  • DDD主要关注领域逻辑和领域本身。

  • 复杂的设计完全基于领域的模型。

  • 为了改进模型的设计并解决任何新出现的问题,DDD不断与公司领域方面的专家合作。

15

Q:什么是耦合和凝聚力?

A:组件之间依赖关系强度的度量被认为是耦合。一个好的设计总是被认为具有高内聚力低耦合性

面试官经常会问起凝聚力。它也是另一个测量单位。更像是一个模块内部的元素保持结合的程度。

必须记住,设计微服务的一个重要关键是低耦合和高内聚的组合。当低耦合时,服务对其他服务的依赖很少。这样可以保持服务的完整性。在高内聚性中,将所有相关逻辑保存在服务中成为可能。否则,服务将尝试彼此通信,从而影响整体性能。

16

Q:什么是Oauth?

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

OAuth允许像Facebook这样的第三方使用最终用户的帐户信息,同时保证其安全(不使用或暴露用户的密码)。它更像是代表用户的中介,同时为服务器提供访问所需信息的令牌。

17

Q:为什么我们需要微服务容器?

A:要管理基于微服务的应用程序,容器是最简单的选择。它帮助用户单独部署和开发。您还可以使用Docker将微服务封装到容器的镜像中。没有任何额外的依赖或工作,微服务可以使用这些元素。

18

Q:访问RESTful微服务的方法是什么?

A:另一个经常被问到的微服务面试问题是如何访问RESTful微服务?你可以通过两种方法做到这一点:

  • 使用负载平衡的REST模板。

  • 使用多个微服务。

19

Q:微服务测试的主要障碍是什么?

A:说到缺点,这里是另一个微服务面试问题,将围绕测试微服务时面临的挑战。

  • 在开始编写集成测试的测试用例之前,测试人员应该全面了解对所有入站和出站过程。

  • 当独立的团队正在开发不同的功能时,协作可能会被证明是一项非常困难的任务。很难找到空闲时间窗口来执行完整的回归测试。

  • 随着微服务数量的增加,系统的复杂性也随之增加。

  • 在从单片架构过渡期间,测试人员必须确保组件之间的内部通信没有中断。

20

Q:过渡到微服务时的常见错误

A:不仅在开发上,而且在方面流程也经常发生错误。一些常见错误是:

  • 通常开发人员无法概述当前的挑战。

  • 重写已经存在的程序。

  • 职责、时间线和界限没有明确定义。

  • 未能从一开始就实施和确定自动化的范围。

21 Q:微服务设计的基础是什么?

A:这可能是最常见的微服务面试问题之一。在回答这个问题时,你需要记住以下内容:

  • 定义范围。

  • 结合低耦合和高内聚。

  • 创建一个有唯一标识的服务,唯一标识将充当识别源,非常像数据库表中的唯一键。

  • 创建正确的API并在集成过程中特别注意。

  • 限制对数据的访问并将其限制到所需级别。

  • 在请求和响应之间保持顺畅的流程。

  • 自动化大多数流程,以减少时间复杂性。

  • 将表的数量保持在最低水平,以减少空间复杂性。

  • 不断监控架构,发现缺陷及时修复。

  • 每个微服务的数据存储应该分开。

  • 对于每个微服务,都应该有一个独立的构建。

  • 将微服务部署到容器中。

  • 服务器应被视为无状态。

22 Q:在Spring MVC应用程序中使用WebMvcTest注释有什么用处?
A: WebMvcTest注释用于单元测试Spring MVC应用程序。我们只想启动ToTestController。执行此单元测试时,不会启动所有其他控制器和映射。@WebMvcTest(value = ToTestController.class, secure = false):

23

Q:什么是有界上下文?

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

24

Q:什么是不同类型的双因素身份认证?

A:执行双因素身份验证需要三种类型的凭据:

  • 一件你知道的事情——比如密码、密码或屏幕锁定模式。

  • 您拥有的物理凭证,如OTP、电话或ATM卡,换句话说,您在外部或第三方设备中拥有的任何类型的凭证。

  • 您的物理身份–如语音认证或生物特征安全,如指纹或眼睛扫描仪。

25

Q:什么是客户证书?

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

26

Q:康威定律是什么?

A:康威定律指出,“设计系统的组织,其产生的设计等同于组织之内、组织之间的沟通结构。”

面试官可能会问反微服务面试问题,比如康威定律与微服务的关系。一些松散耦合的api形成了微服务的体系结构。这种结构非常适合小团队实现自治组件的方式。这种体系结构使组织在重组其工作流程时更加灵活。

27

Q:如何配置Spring Boot应用程序日志记录?

A: Spring Boot附带了对Log4J2,Java Util Logging和Logback的支持。它通常预先配置为控制台输出。可以通过仅在application.properties文件中指定logging.level来配置它们。

logging.level.spring.framework=Debug

28

Q:您将如何在微服务上执行安全测试?

A:您需要独立测试各个部分。有三种常见的程序:

  • 代码扫描  - 确保任何代码行都没有错误并且可以复制。

  • 灵活性  - 安全解决方案应该是灵活的,以便可以根据系统的要求进行调整。

  • 适应性  - 安全协议应该灵活和更新,以应对黑客或安全漏洞的新威胁。

29

Q:什么是幂等性?它是如何使用的?

A: 幂等性指的是这样一种场景:您重复执行一项任务,但最终结果保持不变或类似。

幂等性主要用作数据源或远程服务,当它接收一组以上指令时,它只处理一组指令。

———— / END / ————

长按订阅更多精彩▼

2019年必须掌握的29个微服务面试问题(下)相关推荐

  1. 进大厂必须掌握的50个微服务面试问题!

    顶级微服务面试问题 根据Gartner的说法,微服务是云开发的新应用平台.微服务是独立部署和管理的,一旦在容器内实现,它们与底层操作系统的交互很少. 因此,如果您计划在微服务中开始您的职业生涯,那么现 ...

  2. 2019年最值得关注的五大微服务发展趋势

    戳蓝字"CSDN云计算"关注我们哦! 译文 | Andy 本文转载自公众号:Docker 2018年对于DevOps社区来说无疑是重要的一年.Kubernetes成为第一个从云原生 ...

  3. 疯狂Spring Cloud连载(29)微服务跟踪概述

    本文节选自<疯狂Spring Cloud微服务架构实战> 京东购买地址::https://item.jd.com/12256011.html 当当网购买地址::http://product ...

  4. javaee 中文帮助文档_从中游公司跳槽阿里必知:K8s、Nginx、Redis、微服务面试文档...

    前言 随着时代的进步和发展,无论哪份工作都不能因循守旧,不去创新或者去吸收新的知识,尤其是Java开发的工作者,在十几年之前,很多人都已经掌握了Java的很多知识,但是如今如果只会SSM的小伙伴,已经 ...

  5. feign直接走熔断_SpringCloud微服务面试必问:Hystrix 服务降级、熔断

    本文作者:JLSong 本文链接:https://www.cnblogs.com/songjilong/p/12770999.html 1.Hystrix是什么? Hystrix 是一个用于处理分布式 ...

  6. 微服务面试必问的Dubbo,这么详细还怕自己找不到工作?

    Dubbo 起源于阿里巴巴,对于我们做电商开发的人来说,基本是首选的技术,那么为何一个区区 soa 服务治理框架,会受到这么多人的青睐呢? 今天就跟着小羽一起看看这个微服务框架之一的 Dubbo 的详 ...

  7. 微服务面试 - 微服务简单介绍

    微服务 翻译自 Martin Fowler 网站 Microservices 一文.文章篇幅较长,阅读需要一点耐心. 本人水平有限,若有不妥之处,还请各位帮忙指正,谢谢. 过去几年中出现了" ...

  8. 微服务设计模式(下)

    女主宣言 本文旨在让大家了解微服务体系结构的设计模式以克服微服务所带来的挑战.文章会分为上下两篇,上篇包含1.分解模式2.集成模式,下篇包含3.数据库模式4.可观测性模式5.横切关注点的模式. PS: ...

  9. 微服务架构模式下配置管理

    每一个大型分布式微服务系统都应该有一个配置中心 Spring Cloud下配置管理 ---------------------------------------------------------- ...

最新文章

  1. Vagrant控制管理器——“Hobo”
  2. [BZOJ2947]促销(Splay)
  3. 腾讯面试:打家劫舍 III
  4. mac80211源码分析
  5. 图片太多加载过慢?学学图片懒加载吧
  6. mysql主从进行扩展_Mysql主从知识扩展部分1
  7. Python 基础 - Day 2 Learning Note - 序列之字符串 String
  8. 论文赏析[NAACL19]一个更好更快更强的序列标注成分句法分析器
  9. EXTJS4自学手册——EXT基本方法、属性(mixins多继承、statics、require)
  10. Android ViewFilpper实现分页效果
  11. Win10企业版安装应用商店
  12. wacom数位板怎么调压感_wacom手绘板_wacom手绘板的钢笔压力怎么设置?
  13. 软件测试人员需不需要懂代码
  14. BindingResult总结以及注意事项
  15. 开关造成的毛刺_令人困扰的DAC输出短时毛刺脉冲干扰
  16. 黑客如何入侵你的汽车?
  17. 多多自走棋的各个套路简单分析
  18. QWidget setStyleSheet无效
  19. JAMA Psychiatry:大脑发育过程中与注意和情绪变化相关的内在结构性的改变
  20. 气味生意:躲得过老铁和网易云,但躲不过呼吸

热门文章

  1. 自定义表单mysql_自定义表单,计算答案然后更新mysql DB(Custom form, calculate answer then update mysql DB)...
  2. (每日一题)P3768 简单的数学题(确信)(莫反 + 欧拉反演 + 杜教筛 )
  3. luogu P1341 无序字母对(欧拉回路应用、模板)
  4. 模板 - 2 - SAT问题
  5. c 传入易语言字节,易语言字节集参数传递详解
  6. mysql会话级表_php – MySQL会话表方法
  7. 初识Redux-Saga
  8. 独立云计算服务商的多维实践之道:用户需求驱动变革
  9. bootstrap Table API和一些简单使用方法
  10. Linux的文件权限