简单题,在各个层级里面都很常见,在面试微服务架构的时候,差不多是必面的题。
在这个问题之下,你要尽可能提及自己知道的,和限流有关的东西,作为引导。而后结合实践来谈自己的限流案例,并进一步总结限流和别的治理措施的共同点,赢得竞争优势。
简单题,在校招、初中级岗位中比较常见。
回答这个问题的时候,可以使用一个具体例子来证明你使用限流解决了问题,提高了系统可用性。如果这个例子很不错的话,就能够刷出闪瞎眼的亮点。
简单题,在校招和初中级岗位面试中比较常见。
在这个问题之下,你除了回答常见的限流算法,还可以进一步谈及自己设计过的一些花里胡哨的限流算法。
在这个问题之下可以深入讨论拒绝策略,以及限流也无法根治过载来刷亮点。
简单题,在校招和初中级岗位的面试中非常常见。一方面,你要掌握理论,另外一方面,你也要练习练习手写代码,毕竟有些时候面试官可能会让你手写代码。
注意一点的是,滑动窗口计数器限流算法是滑动窗口算法的一种实现方式。你在这个问题之下,可以通过讨论拒绝策略和限流的局限性——即无法彻底解决偶发性的负载不均衡的问题。
PS:暂时不要发布,因为正常滑动窗口限流算法不会讨论这个实现。这个实现复杂而且没啥特别的优点。
简单题,在校招和初中级岗位面试中很常见。
你除了要掌握基本的理论,最好还要试着写一下,万一面试官让你手搓一个出来,你也能写出来。
在这个问题之下,你可以通过讨论拒绝策略,以及限流无法彻底解决偶发性负载不均衡问题来刷亮点,赢得竞争优势。
简单题,在校招和初中级岗位面试中比较常见。你一方面要能说出来理论,一方面也要稍微写一下代码,防止面试官让你手写实现。
除此之外,你可以通过讨论拒绝策略,以及令牌桶限流算法无法彻底解决偶发性负载不均衡的问题来刷亮点。
简单题,在校招、初中级岗位面试中非常常见。
注意一点的是,滑动窗口日志限流算法是滑动窗口算法的一种实现方式。你在这个问题之下,可以通过讨论滑动窗口日志限流算法如何处理被限流请求——也就是拒绝策略,以及讨论限流的局限性来刷亮点,赢得竞争优势。
简单题。在校招和初中级岗位面试中很常见。
你在讨论到本地限流的时候提及在负载均衡中设计的动态调整权重的负载均衡算法,以及针对限流会如何处理,赢得竞争优势。
简单题,在校招和初级岗位中很常见。
在这个问题下,你可以深入讨论分布式限流之后出现的流量倾斜的问题,分布式限流需要和本地限流结合起来以保护单一节点的必要性,以及分布式限流无法使用换节点的容错机制,进一步赢得竞争优势。
简单题,在校招和初中级工程师面试中很常见。
你可以通过深入阐述为什么在使用了集群限流(分布式限流)的情况下,还要使用本地限流。而后你就可以将话题引申到本地限流带来的好处,以及和负载均衡算法结合带来的优势。
略难的题。在社招、中级以上岗位中比较常见。
在这个问题之下,你只要能够将公司从前端到后端的各个环节使用的限流措施列举出来就可以赢得竞争优势了。
简单题,在校招和初中级岗位面试中常见。
简单题,在校招和初中级面试中比较常见。
令牌桶和漏桶是比较像的,你要注意区别。
简单题,在校招和初级岗位面试中比较常见。
你理解本地限流和分布式限流之后,再来看这个问题就很简单的。
在这个问题之下,你可以深入讨论本地限流和负载均衡的配合来刷亮点,赢得竞争优势。
简单题,在校招和初级岗位中比较常见。
类似地,在分布式限流有关的场景下,你只需要深入讨论分布式限流有可能出现流量倾斜的问题,以及分布式限流需要和本地限流结合就足以赢得竞争优势。
略难的题,一般出现在社招的中高级岗位面试中。
在这个问题之下,要仔细区分突发流量是瞬时的,还是会持续一段时间;是可预期的,还是不可预期的,要从限流等各个角度全方位做好系统可用性的保障工作。
简单题,在校招和社招的初级工程师面试中有可能遇到,一般在讨论到了限流算法之后,就有很大概率会问这个问题。
你回答这个问题,就要深入讨论两者应对突发流量的能力。
略难的题,理论上来说校招是不应该问这个问题,因为他们没有经验。但是实际校招和初中级工程师面试中都有可能遇到。
大部人人在实践中其实都只是依据经验来随便设置一个阈值,但是在面试中就不能这么回答。
你可以通过深入讨论各种场景和限制下,如何设置一个合理的阈值,从而赢得竞争优势。
略难的题,一般出现在社招中,校招中很少遇到。
如果你没做过限流或者你做了限流但是没有仔细评估过限流效果,那么你肯定不知道。很多时候,你会在面试中吹自己的限流用得有多好。这个时候面试官就可能突然来一个提问,你怎么知道你的限流效果很好?
实际上,在实践中评估限流效果也是一个难题,因为如果要是选择基础
略难的题,因为你很可能都没听过这个概念,一般出现在社招中,校招很少会遇到。
简单题,校招几乎不会问,毕竟校招没实践经验。只有在一些高可用的社招中高级工程面试中有可能会遇到。
简单题,在校招都有可能遇到。
然而这个问题要刷亮点就得用点小花招了,如果你只会被限流的请求返回错误响应,那么肯定是没有办法赢得竞争优势的。你还要进一步考虑使用诸如转异步、降级、failover 等策略。
略难的题,一般校招和初级工程师面试中几乎不会遇到,只有在中高级工程师面试中有可能遇到这些题目。
在这个问题之下,可以深入讨论动态调整限流阈值的敏感度问题,也可以考虑列举一个自己用过的动态调整阈值策略,从而赢得竞争优势。
略难的题,校招不太可能遇到,在社招的中级工程师以上的面试岗位中会有可能遇到。
在回答这个问题的时候,可以通过强调选取指标要避免使用单一指标,应该使用复合指标来获得竞争优势。而后可以深入讨论选择指标本质上是为了回答如何衡量服务是否健康这一个问题,而这个问题可以认为是服务治理中的一个核心问题
略难的题。在社招中有可能遇到,尤其是中级工程师以上的岗位。
你可以先罗列单一的指标,而后强调单一的指标的局限性,从而得出最终的结论:复合指标更加能够反应系统的负载。最终装逼还是要注意指出不管什么指标都难准确衡量系统状态,这也是为啥我们各种服务治理搞来搞去都会出现服务崩溃的情况。
略难的题,难在你得有很丰富的实战经验才能总结出来这些因素,市面上没啥八股文或者博客会讨论这个问题。
回答这个问题的时候,可以先罗列选择指标的核心因素,而后深入讨论如何综合使用这些指标,设计一个能够综合判定服务状态的算法。
简单题,几乎不会遇到的题目。你理解了什么是动态限流,就理解了这个问题。
简单题,你理解了动态限流算法之后,就可以回答出来这个问题。
难题,这个难是指如果要真的设计一个现实中很好用的算法,是比较难的。你在面试中几乎不太会遇到这个问题,只有在面试很高端、偏基础中间件或者架构的时候才会遇到这个问题。
在这个问题之下,你可以深入讨论算法设计的要点,以及最新的一种借助 AI 来控制系统的新趋势,从而赢得竞争优势。
简单题,校招中几乎不会遇到,社招中只有在很深入讨论了限流之后,才有可能遇到。
简单题,校招和社招都有可能遇到。
你要刷亮点,就还是要站在一个抽象的故障处理三步曲的角度去,统一描述熔断、限流和降级。
简单题,在校招和社招中都有可能遇到。
在这个问题之下,你可以站在故障三步曲的角度,深入讨论熔断、限流和降级的关系。从本质上上来说,它们其实没多少区别。
你可以站在故障三步曲的角度,深入讨论三者的区别的联系。从本质上来说,三者并没多少区别。
简单题。在讨论限流的时候,很可能遇到。
其实有一个原因你肯定能想到,那就是突发流量你怎么加机器都没用,毕竟一些攻击者能搞出一些天量的流量。