1、服务注册和发现是什么意思?Spring Cloud 如何实现?
当我们开始一个项目时,我们通常在属性文件中进行所有的配置。随着越来越多的服务开发和部署,添加和修改这些属性变得更加复杂。有些服务可能会下降,而某些位置可能会发生变化。手动更改属性可能会产生问题。 Eureka 服务注册和发现可以在这种情况下提供帮助。由于所有服务都在 Eureka 服务器上注册并通过调用 Eureka 服务器完成查找,因此无需处理服务地点的任何更改和处理。
2、使用 Spring Cloud 有什么优势?
使用 Spring Boot 开发分布式微服务时,我们面临以下问题
2-1、与分布式系统相关的复杂性-这种开销包括网络问题,延迟开销,带宽问题,安全问题。
2-2、服务发现-服务发现工具管理群集中的流程和服务如何查找和互相交谈。它涉及一个服务目录,在该
目录中注册服务,然后能够查找并连接到该目录中的服务。
2-3、 冗余-分布式系统中的冗余问题。
2-4、 负载平衡 --负载平衡改善跨多个计算资源的工作负荷,诸如计算机,计算机集群,网络链路,中央
处理单元,或磁盘驱动器的分布。
2-5、性能-问题 由于各种运营开销导致的性能问题。
2-6、部署复杂性-Devops 技能的要求。
3、什么是 Hystrix?它如何实现容错?
Hystrix 是一个延迟和容错库,旨在隔离远程系统,服务和第三方库的访问点,当出现故障是不可避免的故障时,停止级联故障并在复杂的分布式系统中实现弹性。通常对于使用微服务架构开发的系统,涉及到许多微服务。这些微服务彼此协作。
思考以下微服务
假设如果上图中的微服务 9 失败了,那么使用传统方法我们将传播一个异常。但这仍然会导致整个系统崩溃。随着微服务数量的增加,这个问题变得更加复杂。微服务的数量可以高达 1000.这是 hystrix 出现的地方我们将使用 Hystrix 在这种情况下的 Fallback 方法功能。我们有两个服务 employee-consumer 使用于employee-consumer 公开的服务。
简化图如下所示
现在假设由于某种原因,employee-producer 公开的服务会抛出异常。我们在这种情况下使用 Hystrix定义了一个回退方法。这种后备方法应该具有与公开服务相同的返回类型。如果暴露服务中出现异常,则回退方法将返回一些值。
4、负载平衡的意义什么?
5、什么是Ntlix Feign ?它的优点是什么?
6、Netty 的高性能表现在哪些方面?
7、NIOEventLoopGroup 源码?
8、JVM 内存分哪几个区,每个区的作用是什么?
9、对Spring的理解,项目中都用什么?怎么用的?对IOC、和AOP的理解及实现原理。
10、Mybatis 是如何将 sql 执行结果封装为目标对象并返回的?都有哪些映射形式?
11、TCP三次握手和四次挥手,挥手时各个时刻的状态是什么?
12、为什么MySQL不能支撑高并发,你有做过测试吗?
13、知道多线程和多进程的区别吗?有什么优点呢
14、你用了分布式锁,那分布式锁有哪些实现方式?都有哪些优缺点?
15、讲一下你的项目吧,画一下架构。你使用redis做缓存,那现在假设你是一个测试,你能提出多少redis可能存在的坑?
16、让我写测试用例来测试算法题,并根据所写的测试用例找出你写的程序有哪些bug
17、算法题: 反转链表,删除排好序数组中重复元素,第一题秒了,第二题用两根指针卡了可能1分钟在左指针的移动上。
18、hashmap,hashmap扩容是需要重新哈希吗?如果二次哈希后还是哈希冲突呢?
19、对Spring的理解,说说里面用到的设计模式
20、你用的java哪个版本,java1.8有什么新特性
21、STL中vector和map的区别,map底层如何删除一个元素
22、Redis和ZooKeeper如何实现分布式锁以及区别
23、StringBuilder和StringBuffer的区别
24、简单讲一下你使用过的设计模式,然后写了一个线程安全的单例
25、实习做了什么,怎么做的,有什么收获
题目太多就不全部展示了,有需要的可以转发+私信回复【666】获取以上题目答案
如何获取?
转发这篇文章,关注我,私信回复“666”即可获取高清大纲,以上 spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构
如何私信?
关注我后,在手机,点进头像进我的主页,主页上方右上角有个私信,点击私信,如何回复关键字“666”即可