简单题, 基本概念题, 在各层级的程序员面试中都很常见,尤其是在微服务架构有关的面试中更加常见。这个问题也是属于非常宽泛的问题,所以你在回答的时候要尽可能做到提及各个点,从而引导面试官进一步追问。
在这个问题之下刷亮点,一个是讨论微服务架构下负载均衡算法和容错的问题,另外一个总结拔高负载均衡在各种中间件的体现,将话题引导过去不同的中间件上。
简单题, 基本概念题,在校招和初中级岗位上比较常见,在求职高级岗位的时候,一般是和可用性之类的话题混在一起面。
要想在这个问题之下,要想刷亮点的话,就不能只回答轮询这种人尽皆知的算法,至少也要回答出来最少连接数之类的算法。而要想实现必胜一击,还是得有自己设计的骚气的负载均衡算法。
简单题, 基本概念题,校招和初中级工程师面试中常见。
你可以先简单罗列他们的优缺点,而后可以尝试总结一下选择四层负载均衡和七层负载均衡的总体原则。
略难的题,这个问题其实不太常见,因为大部分时候面试官只会关注你是否了解负载均衡算法,而不会考察你是否理解负载均衡的意义。
回答这个问题最佳的刷亮点的策略就是结合自己设计的负载均衡算法来论证提升了性能、可用性和可扩展性,从而将话题引导到自己设计的负载均衡算法上。
简单题。
这个题目当你还是初中级工程师的时候就只有一点理论意义,基本上用不到。当你后面成长为高级工程师独当一面的时候,需要为公司设计复杂系统的时候,就可能有机会要综合考虑在系统中引入何种负载均衡。
简单题, 基本概念题,校招和初中级岗位比较常见。有些时候,在面试大规模分布式架构的场景下,也会讨论 DNS 负载均衡的问题。
在这个问题之下刷亮点,可以讨论 DNS 负载均衡的弊端,以及在微服务架构下的影响。
略难的题,一般来说针对普通的业务研发很少考察这方面的内容。但是如果公司需要的是全干工程师,或者你应聘的岗位是偏向运维的,那么这个问题就很常见。
简单题,基本概念题,在校招和初中级岗位中常见。
在这个地方刷亮点,可以揭露出四层负载均衡的实现细节,并且进一步讨论有状态和无状态服务对四层负载均衡的影响。
简单题,基本概念题,在校招和初中级岗位中比较常见。
七层负载均衡中最大的一个分支,就是我们平时用的微服务下的那一堆花里胡哨的负载均衡策略,所以你可以尝试将话题引导过去微服务负载均衡、网关负载均衡这些话题上。
另外在这个问题之下,有一个非常好刷的亮点就是有状态服务和会话保持,你可以从这里将话题引申到不同的会话保持技术上。
简单题,基本概念题,在校招和初中级岗位里面比较常见。
如果你了解七层负载均衡的概念,你就能轻易回答出来这个问题。你可以通过列举一些七层负载均衡的例子,来将话题引导到别的地方。
简单题,题目就是答案,不怎么常见的面试题。
其实使用硬件负载均衡,只有一个原因,就是寻求更加高的性能。但是显然我们这种研发平时比较少接触到硬件负载均衡,所以你稍微回答一下就要把话题引导过去软件负载均衡上。
毕竟要在自己熟悉的领域上才好装逼。
简单题,在校招和初中级工程师岗位中比较常见,基本上你整个职业生涯都要频繁和软件负载均衡打交道。
在回答这个问题的时候,你可以将这个话题引导到不同的软件负载均衡实现上,例如说 DNS 负载均衡和微服务负载均衡,当然有些人单独拎出来的微服务负载均衡大多数时候也是用软件负载均衡实现的。
简单题,基本概念题。
你可以在硬件负载均衡优点的基础上进一步总结硬件负载均衡的主要使用场景,并且搭配上使用案例来刷亮点。
简单题,考察基本概念。
你可以在总结软件负载均衡优缺点的基础上,进一步讨论软件负载均衡的常见使用场景。
略难的题,也就是如果你第一次见到这个问题,你可能完全没有思路。
从结论上来说,那就是偶发性负载不均衡总是难以避免的,你只要把两个根源阐述清楚就足以刷出亮点了,毕竟你的竞争者没有这么深刻的认知。
略难的题。从直觉上来说,你很容易就能猜到,并不一定。但是要你解释为什么负载会不均衡,你就很难一言直达本质。
还是要记住核心:无法实时准确计算服务器负载、无法准确计算请求所需资源这两个问题不解决,就永远会有负载不均衡的问题,无非就是出现的频率而已。
略难的题。
你要从两方面回答这个:一方面是你肯定解决过负载不均衡的问题,另外一方面则是出现负载不均衡的本质原因。最为关键的是你要准备一个足够高级的解决负载不均衡的案例。
简单题,在校招和初级工程师面试中,如果聊到了负载均衡,那么你大概率会被问这个算法,及其变种。
你回答的时候要先讲清楚基本原理,而后进一步讲清楚优缺点,从而将话题引导过去两个变种:基于权重的轮询和平滑加权轮询算法。
你在准备这个算法的时候要记得试着写写实现,说不定面试官就会让你手搓一个。
简单题,在校招和初级工程师面试中,如果聊到了负载均衡,那么就有大概率问到这个算法,或者更加进一步的变种平滑加权轮询算法。
回答这个问题你先回答一般的加权轮询算法,而后再将平滑加权轮询算法,最终通过阐述权重的设置来进一步刷亮点。
略难一点的题,在校招和初级工程师面试中,面试官认为你比较优秀,那么就会问这个问题,不然可能就是问基于权重的轮询或者直接问最简单的轮询算法。
回答这个问题,你能够把为什么要引入平滑过程,以及具体的算法步骤就可以了。
如果你面的是中间件研发、基础设施研发,那么你记得练习一下这个算法,有可能会让你手搓。
简单题,有点热度,但是总体热度不如轮训,在校招和初级工程师中比较常见。
你回答的时候要指出基本步骤,优缺点就可以,而后将话题引导过去基于权重的加权随机算法。
简单题,基本概念题,在校招和初级工程师面试中比较常见。
回答这个问题简要介绍算法的基本步骤,优缺点之后,就可以通过讨论权重的设置问题来刷亮点,并且进一步可以讨论二次随机负载均衡算法,引导话题。
略难的题,当然这不是说这个算法难,而是说你可能都没听过这个算法。这个问题在校招和初级工程师面试中不太常见,毕竟比较冷僻。
你回答这个问题就要揭示出这个算法的本质是通过两个随机过程避免选中不合适的节点。
简答题,考察基础知识,这个问题其实不太常见,更加常见的是问哈希负载均衡算法。
所以实际上你就可以认为 IP 地址哈希负载均衡算法就是哈希负载均衡算法中的一个特殊实现,没啥大不了的地方。
简单题,各个级别的面试中都会出现的高频面试题。你说梦话都应该能答对的一个知识点。
回答一致性哈希负载均衡算法,可以通过讨论虚拟节点
简单的题,在校招和初中级岗位面试中比较常见。
你回答这个问题一个是要讨论哈希算法的基本步骤,而后进一步讨论哈希类负载均衡算法的弊端:数据倾斜与对应的解决方案,从而赢得极大的竞争优势。
简单的题,不太常见。
回答这个问题,你除了要解释清楚算法的基本原理,还要进一步解释连接数并不能很好的表达负载,这会让你赢得竞争优势。
简单题,你要是听过这个算法就很容易,没听过就答不上来。一般来说,在微服务负载均衡中比较常见。
要在这个问题之下刷亮点,还是可以从系统讨论活跃请求数并不能很好衡量系统节点的角度来阐述,并指出该算法用起来也难免会有偶发性负载不均衡的问题。
一句话就能说清楚最快响应负载均衡算法:选最快的。你要想刷亮点,可以从统计响应时间以及响应时间的局部性入手,最后提及一个兜底的闲置问题,大部分人没这个实践经验,是说不出这些东西的。
简单题,在各个层级的面试中都很常见。
回答这个问题,如果你只是列举什么轮询算法,那肯定寄了。这里让你引出一个高级的负载均衡算法,而后通过解决负载不均衡的问题进一步引出另外一个负载均衡实现,帮助你进一步刷亮点。
略难的题,主要难在如果你没有实践经验,你对权重的认知可能就是权重就是代表处理能力,所以没办法针对设置权重做深入探讨。
在这个问题之下,最好的刷亮点的方式就是讨论各种可以代表权重的东西,并且我给你提供了一些比较高级的案例,你用于面试中能够赢得极大的竞争优势。
略难的题,这个东西需要实践经验才能总结出来,一般在校招和初中级岗位的面试中不常见。
也因此,你在回答中能够说清楚具体的注意事项并且结合案例来描述就可以赢得竞争优势。
简单题。不过这个题目属于突然袭击式题目,也就是大家都默认会使用负载均衡,但是很多人没思考过为什么要使用负载均衡。
略难的题,在各个级别里面都可能遇到。
回答这个问题,比较怕的是面试官沿着你提到的各种负载均衡进一步追问,所以你要注意不熟悉你就不要提了,不然就寄了。
这个问题其实很累赘,用负载均衡还能是解决什么问题?当然是解决负载不均衡的问题,也就是提高性能、可用性和扩展性了。
简单题,很少问,大部分面试官也默认会使用负载均衡,很少额外提问为啥要搞负载均衡。
本质上就是为了提高可用性、性能和扩展性,只不过你在回答的时候要多说几句话,水一水时间秀秀谈吐。