经典Java-SpringCloud面试题,秋招java面试题

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注Java)
img

正文

​ API Gateway负责请求转发、合成和协议转换。所有请求都要先经过API Gateway,然后再将请求转发到对应的微服务中。

2、进程通信IPC

​ 这种通信不但可以实现一对一、一对多。还可以实现同步和异步请求。


3、SpringCloud 和 Dubbo有那些区别?

1、dubbo由于是二进制的传输,占用带宽会更少;

2、springCloud是http协议传输,带宽会比较多,同时使用http协议一般会使用JSON报文,消耗会更大;

3、dubbo的开发难度较大,原因是dubbo的jar包依赖问题,很多大型工程无法解决;

4、springcloud的接口协议约定比较自由且松散,需要有强有力的行政措施来限制接口无序升级;

5、dubbo的注册中心可以选择zookeeper、redis等多种,springcloud的注册中心只能用eureka或者自研。


4、 SpringBoot 和 SpringCloud,请谈谈你对他们的理解

  1. Spring boot 是 Spring 的一套快速配置脚手架,可以基于spring boot 快速开发单个微服务,Spring Cloud是一个基于Spring Boot实现的云应用开发工具;

  2. Spring boot专注于快速、方便集成的单个个体,Spring Cloud是关注全局的服务治理框架;

  3. spring boot使用了默认大于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置,Spring Cloud很大的一部分是基于Spring boot来实现。

  4. Spring boot可以离开Spring Cloud独立使用开发项目,但是Spring Cloud离不开Spring boot,属于依赖的关系。


5、什么是服务熔断?什么是服务降级?

来源地址:服务雪崩、降级与熔断


6、 微服务的优缺点分别是什么?说下你在项目开发中遇到的坑

百度百科

优点:

  1. 服务的独立部署

每个服务都是一个独立的项目,可以独立部署,不依赖于其他服务,耦合性低。

  1. 服务的快速启动

拆分之后服务启动的速度必然要比拆分之前快很多,因为依赖的库少了,代码量也少了。

  1. 更加适合敏捷开发

敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行。服务拆分可以快速发布新版本,修改哪个服务只需要发布对应的服务即可,不用整体重新发布。

  1. 职责专一,由专门的团队负责专门的服务

业务发展迅速时,研发人员也会越来越多,每个团队可以负责对应的业务线,服务的拆分有利于团队之间的分工。

  1. 服务可以动态按需扩容

当某个服务的访问量较大时,我们只需要将这个服务扩容即可。

  1. 代码的复用

每个服务都提供 REST API,所有的基础服务都必须抽出来,很多的底层实现都可以以接口方式提供。

缺点:

  1. 分布式部署,调用的复杂性高

单体应用的时候,所有模块之前的调用都是在本地进行的,在微服务中,每个模块都是独立部署的,通过 HTTP 来进行通信,这当中会产生很多问题,比如网络问题、容错问题、调用关系等。

  1. 独立的数据库,分布式事务的挑战

每个微服务都有自己的数据库,这就是所谓的去中心化的数据管理。这种模式的优点在于不同的服务,可以选择适合自身业务的数据,比如订单服务可以用 MySQL、评论服务可以用 Mongodb、商品搜索服务可以用 Elasticsearch。

  1. 测试的难度提升

服务和服务之间通过接口来交互,当接口有改变的时候,对所有的调用方都是有影响的,这时自动化测试就显得非常重要了,如果要靠人工一个个接口去测试,那工作量就太大了。这里要强调一点,就是 API 文档的管理尤为重要。

  1. 运维难度的提升

在采用传统的单体应用时,我们可能只需要关注一个 Tomcat 的集群、一个 MySQL 的集群就可以了,但这在微服务架构下是行不通的。当业务增加时,服务也将越来越多,服务的部署、监控将变得非常复杂,这个时候对于运维的要求就高了。


7、你所知道的微服务技术栈有哪些?列举一二

| 微服务条目 | 技术 | 备注 |

| :-: | :-: | :-: |

| 服务开发 | Springboot、Spring、SpringMVC | |

| 服务配置与管理 | Netflix公司的Archaius、阿里的Diamond等 | |

| 服务注册与发现 | Eureka、Consul、Zookeeper等 | |

| 服务调用 | REST、RPC、gRPC | |

| 服务熔断器 | Hystrix、Envoy等 | |

| 负载均衡 | Ribbon、Nginx等 | |

| 服务接口调用(客户端调用服务发简单工具) | Feign等 | |

| 消息队列 | kafka、RabbitMQ、ActiveMQ等 | |

| 服务配置中心管理 | SpringCloudConfig、Chef等 | |

| 服务路由(API网关) | Zuul等 | |

| 服务监控 | Zabbix、Nagios、Metrics、Spectator等 | |

| 全链路追踪 | Zipkin、Brave、Dapper等 | |

| 服务部署 | Docker、OpenStack、Kubernetes等 | |

| 数据流操作开发包 | SpringCloud Stream(封装与Redis,Rabbit、Kafka等发送接收消息) | |

| 事件消息总线 | SpringCloud Bus | |

| … | | |


8、Eureka和Zookeeper都可以提供服务注册与发现的功能,请说说两者的区别

  1. ​ ZooKeeper保证的是CP,Eureka保证的是AP

  2. ​ ZooKeeper在选举期间注册服务瘫痪,虽然服务最终会恢复,但是选举期间不可用的

  3. ​ Eureka各个节点是平等关系,只要有一台Eureka就可以保证服务可用,而查询到的数据并不是最新的,自我保护机制会导致Eureka不再从注册列表移除因长时间没收到心跳而应该过期的服务,Eureka仍然能够接受新服务的注册和查询请求,但是不会被同步到其他节点(高可用)

  4. ​ 当网络稳定时,当前实例新的注册信息会被同步到其他节点中(最终一致性),Eureka可以很好的应对因网络故障导致部分节点失去联系的情况,而不会像ZooKeeper一样使得整个注册系统瘫痪

  5. ​ ZooKeeper有Leader和Follower角色,Eureka各个节点平等

  6. ​ ZooKeeper采用过半数存活原则,Eureka采用自我保护机制解决分区问题

Kafka实战笔记

关于这份笔记,为了不影响大家的阅读体验,我只能在文章中展示部分的章节内容和核心截图

image.png

  • Kafka入门
  • 为什么选择Kafka
  • Karka的安装、管理和配置

image.png

  • Kafka的集群
  • 第一个Kafka程序
  • image.png

afka的生产者

image.png

  • Kafka的消费者
  • 深入理解Kafka
  • 可靠的数据传递

image.png

image.png

  • Spring和Kalka的整合
  • Sprinboot和Kafka的整合
  • Kafka实战之削峰填谷
  • 数据管道和流式处理(了解即可)

image.png

  • Kafka实战之削峰填谷

image.png

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
战之削峰填谷**

[外链图片转存中…(img-S9k4oQvY-1713150442861)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-KYwLtdOC-1713150442861)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 10
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值