当前位置: 首页 > 科技观察

求职者必须知道的十个微服务面试问题

时间:2023-03-20 13:47:07 科技观察

每个求职者必须知道的10个微服务面试问题下面将提供一些你需要知道的问题,你将了解有关微服务开发人员日常工作职责的重要微服务面试问题。您还将深入了解如何回答这些问题,以及面试官对候选人回答的看法(这可能是候选人以前从未见过的独特视角)。这很酷!准备好?让我们开始吧。在招聘微服务开发人员时,候选人具有实践经验和技能而不是理论知识至关重要。当然,要有概念上的认识。更重要的是,根据实际问题评估求职者肯定有助于衡量他们拥有的知识和技能。它有助于确定候选人是否适合成为组织中开发团队的一员。微服务开发人员的角色和职责在开始询问微服务面试问题之前,您首先需要了解微服务开发人员的主要工作职责。作为微服务开发人员,您的核心工作职责是为您的微服务开发出色的API,进行测试以确保它们正常工作,并在出现任何问题时进行调试或修复问题。这些只是微服务开发人员日常职责的一部分,并非详尽无遗。开发人员还参与其他方面的工作。但是,必须首先具备这些基本知识和技能才能成为有效的微服务开发人员。现在让我们来看看申请微服务开发人员职位的候选人的一些面试问题。这是他们必须了解的基本问题。行业专家对此做出了很好的回答,并且还包括了面试官对每个答案的看法。这些问题只针对微服务RESTAPI开发,不涉及其他方面的问题,比如版本控制知识等。下面是一些微服务开发者的面试实战问题:Q1:请问开发RESTAPI的步骤循序渐进。回答:假设我必须开发一个新的RESTAPI来从给定产品的库存中获取可用商品的数量。在高层次上,我将执行以下操作:为API确定适当的HTTP方法。确定API的端点。确保控制器映射的URL到位。在本地部署应用程序并确保API框架正常工作。接下来,按照编码指南和项目代码结构添加所需的业务逻辑。在API中添加所需的验证。添加逻辑以从数据源获取产品列表。在API中包含异常处理。添加单元测试用例。测试API。从面试官的角度来看:从以上的回答来看,求职者是有条不紊地完成每一项任务的,在这个过程中,需要认真、彻底、有条不紊地完成任务。候选人还以一个示例开始描述,表明他知道如何从技术上映射业务需求。这包括;还应遵循为项目定义的编码指南和约定,这表明候选人是面向过程的开发人员。还提到添加验证,其中包括异常处理。这说明求职者有开发更强大功能的心态。总的来说,候选人的第一印象很好,现在面试官可能会问一些具体的问题来更详细地评估知识和技能。Q2:开发RESTAPI时,什么时候使用HTTP动词GET、PUT、POST、DELETE?答:假设我们必须创建API来创建、更新、删除和查看库存中的产品信息。在这种情况下,我会使用:“GET”来查看库存产品信息。“POST”用于在库存中创建产品信息。“PUT”用于更新库存中的产品信息。从面试官的角度来看:用例子来解释总是好的。求职者回答准确并结合实例说明其基础知识扎实。接下来,面试官会尝试通过其他几个问题来验证应聘者具备的基本知识。Q3:URI参数和查询字符串参数有什么区别?答:好的,我举个例子说明一下。api/product/{productname}/items,其中productname是一个URI参数。api/product/items?productname=mobile,其中productname是一个查询字符串参数。从面试官的角度来看:完美,求职者解释清楚,很好。Q4:如何从RESTAPI返回错误响应和有效响应?A:为了返回有效响应,将使用200状态码。对于返回错误,将使用适当的状态代码,例如如果在库存中找不到该产品,则会出现404错误。如果发生某些未处理的异常,则返回500错误,依此类推。从面试官的角度来看:很好的答案。现在,面试官会尝试根据一些实际方面来评估候选人。Q5:您已经开发了一个RESTAPI作为微服务的一部分,并在本地机器上构建和部署了它。现在如何在我的本地机器上测试RESTAPI?答:一旦应用程序部署到本地或服务器上,我将使用Postman来测试API。此外,在RESTAPI的开发过程中,我还将包括单元测试用例。从面试官的角度来看:候选人知道他们在做什么真的很好。Q6:RESTAPI部署在开发服务器上,已经与用户界面(UI)集成。现在,如果需要,您将如何从用户界面(UI)调试RESTAPI调用?答:我们可以使用开发者工具,找出API的网络调用。例如,在GoogleChrome浏览器中,按F12键启动开发者工具。然后在Network选项卡中,您可以过滤掉XHR请求并查看任何APIURL的请求/响应。在捕获有关请求负载的必要信息后,进一步查看日志以查找发生的情况,如有必要,将使用给定的请求负载调试代码。从面试官的角度来看:通过这个答案,候选人再次展示了调试/故障排除的逐步方法。此外,候选人展示了对如何执行操作的详细了解。Q7:如何验证用户访问RESTAPI?A:使用不记名身份验证令牌并将其作为请求标头传递给API请求。从面试官的角度来看:从高层次上看,了解API认证及其相关细节。Q8:什么是过滤器/中间件?会在什么情况下使用?回答:过滤器/中间件可用于在API控制器执行之前或之后添加任何其他逻辑。例如,如果你想在执行你的API之前强制执行身份验证、授权,你可以借助过滤器/中间件来完成。另一个示例是记录API执行的进入和退出,或测量时间。从面试官的角度来看:候选人的回答表明对API的整体概念有很好的理解。Q9:微服务中的日志记录和跟踪有什么区别?您使用什么工具来查看它们?A:通过Tracing,您可以追踪到完整的请求,以查看API的执行路径。我们通常通过关联ID来跟踪它。在这种情况下,即使请求也跨越多个API,也可以查看完整的执行跟踪。我们使用了Jaeger(或任何其他跟踪工具)工具。日志是调试/故障排除的便捷参考。我们使用Elastic-Logstash-Kibana进行日志记录。从面试官的角度来看:求职者对这个问题的回答很好。不是每个人都能像预期的那样回答这个问题。Q10:什么是Swagger?它有什么用?答:Swagger提供了一个很好的用户界面(UI),它显示了微服务可用的API。它还提供了尝试和执行API的功能。当我们必须与文档团队等其他团队合作时,我们也会将其用作参考。从面试官的角度来看:完美,候选人非常适合我们的开发团队,因为候选人知道如何有效地与其他团队合作以及作为开发人员如何将微服务暴露给外界。面试问题到此结束。结论以上举例说明了10个面试问题和答案。希望应聘微服务开发者的求职者至少对以上微服务面试题有深入的了解。同样,面试官很少问非常基本的问题。并且根据求职者的回答,会逐渐加深。虽然这些问题或答案可以帮助求职者准备面试,但是,这并不是一个广泛的问题列表,面试中实际提出的问题可能与此有很大不同。所以,不要将上述问题作为申请此类工作的唯一来源。原标题:你必须知道的10个微服务面试题,作者:RameshChauhan