java面试之SpringCloud

“说说Spring Cloud吧”

       如今所有的JAVA面试中,都避不开Spring这个大玩意,开发的时候使用的很溜,但到了面试中却总是会被为难的一无是处。除去Spring的源码级理解,今天就SpringCloud这一大框架来梳理下常见的一些面试点。
在这里插入图片描述

正文

  • 说说SpringCloud都有哪些组件
    我们先简单的过一遍概念

注册中心 eureka
配置中心 config
负载均衡 ribbon、feign
网关 zuul、gateway
熔断 hystrix
链路追踪 sleuth
消息总线 bus

       这些东西是我们要烂熟于心的,当然面试中不会就这么背书就能过的了,除了有什么,还要说出这些东西分别是做什么的。而其中最有门道的也就是整个RPC框架的核心——注册中心。于是我们又要搬出一张经典的图:
在这里插入图片描述
当面试官问到微服务中各服务之间怎么互相调用,直接把这图上的7点能说会道的比划出来,相信必会加分不少。
       一般还常遇到的问题有我什么要用配置中心,还有我怎么样才能实现动态刷新。这个问题往往会是一个评级的分界点,一定要准备好回答。配置直接写在项目中和放在云端最大的用处就是一和多的区别,借此问题如果能描述出你对容器化部署的理解与分布式微服务的思维,又是大大的加分。
       至于负载均衡、熔断等可以简单抛个概念,然后转而说说你在项目中的业务实现,比如用户使用feign采用轮询策略(根据服务器情况来定)调用订单服务,由于订单服务的并发性会高点所以做了简单的降级(稍后再试等等),但在这之上,我们又采用了ngnix做了整个服务的负载均衡等等。简单的把业务与技术结合的深度还有知识的广度给表现出来了。
       网关虽然也能实现很多功能,但是实际开发中我们更多的只把它当做一个出入口,屏蔽服务的接口,并做一些URL的转化等等,若再深问可以转而去说说nginx的知识点。

  • 比较
    第一个问题大部分情况下只是个开胃菜,很难让面试官就拍板要你,比较这种较为刁难的问题才更大程度能探到你的底。

Dubbo 和 SpringCloud

       Dubbo 从开发上来说和SpringCloud的feign调用更为相似,而从架构上来说Dubbo只是一个光杆司令,而SpringCloud是一个大的全家桶。最大的区别就是Dubbo大部分情况下回使用Zookeeper作为注册中心,而这也让面试官引申出了下一个问题,说说Zookeeper和Eureka的区别。同样的套路,在直接回答问题之前先抛出一个大的概念,比如这里先说说CAP理论,然后从而对Zookeeper和Eureka的特性做解释,紧接着再说说各自的优缺点,顺带再唬一嘴我的项目中比较注重的可用性,顺而夸一嘴eureka收尾。

SpringCloud 和 Nacos

       Nacos作为国内一把手自然先夸一顿,比如nacos作为替代eureka的产品,能够自定义CP或者AP,而因为加入了命名空间的概念,在开发环境下能够有效避免串服务的情况。还有nacos作为一个界面化的配置中心,加上集成了bus实现了动态刷新功能,一顿吹就完事了。如今很多互联网企业都已经改成nacos为主的RPC框架了,建议自己也搭一套起来体验一下,在面试中也可以说说自己的新项目中也采用了nacos,或许也能在某个程度上赢得一点分数。

  • 使用
    其实这一点是没有必要单独拿出来提问的,优秀的面试者已经能在前面两问中结合自身业务作为回答。这里单独拿出来想跟大家分享下一点面试技巧。当面试官在问一些概念性的问题时,我们一定要快速在脑袋中建立一定的思路后再开口,而不是直直的去回答对应的问题。一个技术问题的背后一定关联着大的概念,并且结合着对应的使用场景,同时可能还会存在可替代、可比较的技术栈。从面试官的角度来管擦,他们并不关心问题的答案,而是你回答的方式,从你的回答中去了解你对知识理解的深度,学习面的广度等等。

尾记

       突如其来的疫情,让跳槽季推迟了许久,更难过的是互联网的寒冬已经来临,今年的下岗潮并没有过滤掉这一行业,但困难总能克服,对我们的要求会更加严苛,相信大家在沉寂已久之后能够重新复苏,发挥自己的最大价值!

Keep learning and growing

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值