下列关于CAP的描述,正确的是:ACD
A:CAP是指分布式系统的C(一致性)、A(可用性)、P(分区容错性)
B:分布式系统可以同时满足CAP三个特性
C:CA:放弃分区容错性,加强一致性和可用性,其实就是传统的关系型数据库的选择
D:AP:放弃一致性(这里说的一致性是强一致性),追求分区容错性和可用性,这是很多分布式系统设计时的选择,例如很多NoSQL系统就是如此
下列关于RESTfull和RPC的描述,不正确的是:B
A:RESTful使用http协议,RPC通常使用Tcp协议
B:RESTful的性能通常比RPC高
C:RESTful比RPC更加灵活
D:两者都可用于服务间调用
下列关于Eureka的配置的描述,正确的是:ABC
A:eureka.server.enable-self-preservation 用来配置是否开启保护机制,true为开启,false为不开启
B:eureka.server.eviction-interval-timer-in-ms 用来配置检查服务是否剔除的时间间隔,单位是毫秒
C:eureka.client.register-with-eureka 用来配置是否将项目本身注册到注册中心
D:eureka.client.fetch-registry 用来配置是否将项目本身否注册到注册中心
下列关于Eureka的描述,错误的是:B
A:eureka.instance.prefer-ip-address 用来配置使用IP在管理界面上显示服务地址
B:eureka.client.service-url.defaultZone 用来配置服务要注册到的注册中心,并且只能填写一个注册中心地址
C:@EnableDiscoveryClient和@EnableEurekaClient注解的作用是一样的,并且在从Spring Cloud Edgware版本开始可以省略
D:在程序中想要从注册中心获取服务信息需要注入DiscoveryClient对象来进行获取
下列关于为服务间调用的相关说法,正确的是:CD
A:ribbon是服务端的负载均衡
B:@FeignClient注解需要使用name属性来标注需要调用的服务地址,并标注在方法上面
C:使用RestTemplate和FeignClient均可通过ribbon对其他服务进行调用
D:FeignClient的日志输出需要配置feign.client.config.service-product.loggerLevel和logging.level.接口包名.接口名,具体来指定日志级别
下列关于服务间调用的相关说法,错误的是:A
A:服务间调用一定要注入RestTemplate对象
B:使用feign调用微服务必须在pom文件中导入下图中依赖:
C:使用feign调用微服务,需要声明一个接口,并且使用@FeignClient注解标注接口并指定要调用的服务名称
D:使用feign调用微服务的接口中的方法,需要使用@RequestMapping指定具体调用的微服务方法的访问路径
下列关于SpringCloudGateway的说法,正确的是:ABCD
A:spring.cloud.gateway.discovery.locator.enabled 用来配置是否开启根据服务名称自动转发,true为开启,false为关闭
B:spring.cloud.gateway.discovery.locator.lower-case-service-id:用来配置根据服务名称自动转发时服务名称需要以小写形式出现
C:spring.cloud.gateway.routes 配置的三要素为id(服务名)、服务url根目录、断言
D:spring.cloud.gateway.routes[x].uri 用来配置服务url根目录,格式为:lb://服务名
下列关于SpringCloudGateway的说法,错误的是:D
A:ServerWebExchange对象是访问上下文对象,可以在网关过滤器中获取该次访问的request和和设置response相关信息,也可以用来结束响应
B:网关授权的基本思路是通过登陆,从授权中心统一颁发token,之后每次请求都带着token进行请求,服务端接到请求利用全局过滤器验证token是否有效,如果有效则放行请求去请求具体微服务,如果token无效或者过期,设置验证不通过信息并结束响应
C:自定义过滤器可以通过重写Ordered接口的getOrder方法控制先后执行顺序
D:过滤器按照请求顺序可以分为请求处理前、请求处理中、请求处理后
下列关于配置中心的描述,正确的是:ABD
A:SpringCloudConfig配置中心可以从远程git上获取配置并更新配置文件信息
B:SpringCloudConfig配置中心与远程配置文件信息保持实时同步
C:Apollo配置中心与远程配置文件信息保持实时同步
D:SpringCloudConfig配置中心可以结合SpringCloudBus通知所有微服务更新配置文件信息而不用重启微服务
下列关于配置中心的描述,错误的是:C
A:SpringCloudConfig配置中心需要在配置文件中通过spring.cloud.config.server.git.uri配置从远程获取配置文件的git地址
B:下图中红框中配置项的注释对于配置项的解释是正确的
C:使用SpringCloudConfig必须要引用下图中红框圈住的依赖:。
D:bootstrap.yml比application.yml在项目启动阶段先加载
下列关于redis的说法,正确的是:CD
A:redis是关系型数据库
B:redis重启后数据就会丢失
C:redis的基本数据类型有String、List、Set、ZSet、Hash
D:redis是单线程的
下列关于redis代码的说法,错误的是:ABC
四个选项的前提是都使用如下代码连接了redis:
Jedis jedis = new Jedis("192.168.43.166", 6379);
A:jedis.lpush("collections", "ArrayList", "Vector", "Stack", "HashMap", "WeekHashMap", "LinkedList");和 jedis.lpush("collections","HashSet"); 这两句代码执行之后,集合中元素顺序是:"HashSet","ArrayList", "Vector", "Stack", "HashMap", "WeekHashMap", "LinkedList",
B:jedis.sort("sortedList") 方法运行之后,list中的元素被重新排序了
C:jedis.lrem("collections", 2, "HashMap"); 这句代码会删除list中所有值为HashMap的元素
D:jedis.lpop("collections") 的操作返回左侧第一个元素,并且从原集合中删除这个元素
下列关于kafka的说法,正确的是:ABCD
A:消息:Kafka 中的数据单元被称为消息,也被称为记录,可以把它看作数据库表中某一行的记录。
B:批次:为了提高效率, 消息会分批次写入 Kafka,批次就代指的是一组消息。
C:主题:消息的种类称为 主题(Topic),可以说一个主题代表了一类消息。相当于是对消息进行分类。主题就像是数据库中的表。
D:分区:主题可以被分为若干个分区(partition),同一个主题中的分区可以不在一个机器上,有可能会部署在多个机器上,由此来实现 kafka 的伸缩性,单一主题中的分区有序,但是无法保证主题中所有的分区有序
下列关于kafka的说法,错误的是:B
A:开发中使用spring.kafka.bootstrap-servers配置kafka集群地址
B:spring.kafka.producer.key-serializer和spring.kafka.consumer.key-deserializer可以随便设置序列化类
C:开发中需要引用的关键依赖是下图中的依赖:
D:消费者方法需要使用KafkaListener注解监听指定的topic
下列关于elasticsearch的说法,正确的是:ABCD
A:Index(索引):索引是一些具有相似特征的文档集合,类似于MySql中数据库的概念。
B:Type(类型):类型是索引的逻辑类别分区,通常,为具有一组公共字段的文档类型,类似MySql中表的概念。注意:在Elasticsearch 6.0.0及更高的版本中,一个索引只能包含一个类型。7.0及以后的版本已经删除这个概念
C:Document(文档):文档是可被索引的基本信息单位,以JSON形式表示,类似于MySql中行记录的概念。
D:Shards(分片):当索引存储大量数据时,可能会超出单个节点的硬件限制,为了解决这个问题,Elasticsearch提供了将索引细分为分片的概念。分片机制赋予了索引水平扩容的能力、并允许跨分片分发和并行化操作,从而提高性能和吞吐量。
下列关于Elasticsearch的说法,错误的是:AD
A:要使用ElasticsearchTemplate和ElasticsearchRepository两种方式操作ES的时候,pom文件需要引入不同的依赖
B:@Document的常用属性配置有:indexName:索引名称;type: 索引类型,默认为空;shards: 主分片数量,默认5(最新版本默认1);replicas:复制分片数量,默认1;createIndex:创建索引,默认为true
C:@Field的常用属性配置有:type: 对应Elasticsearch中属性类型。默认自动检测。使用FiledType枚举可以快速获取;index: 是否创建倒排索引,一般不需要分词的属性不需要创建索引;analyzer:指定索引类型。;store:是否进行存储,默认不进行存储。
D:以上说法都不对
下面关于lombok注解的说法,正确的有:BD
A:@Data包含了@NoArgsConstructor的功能
B:@Data包含了@Setter+@Getter+@ToString的功能
C:@Data包含了@@RequiredArgsConstructor的功能
D:@Data包含了@EqualsAndHashCode的功能
下面关于lombok注解的说法,错误的有:C
A:添加了@Accessors注解的实体类setter方法会返回实例对象,从而可以进行链式调用对对象进行赋值之后的后续操作
B:添加了@EqualsAndHashCode注解的实体类可以通过设置注解的属性细化相等条件的比较属性列表
C:添加了@Builder注解的类型自动实现了单例模式
D:@EqualsAndHashCode注解比较属性相等判断相等的前提是必须是同一个类型,哪怕属性完全一样的两个类的实例也会判断返回false
下面关于Validation的说法,正确的有:ABCD
A:一个字段上可以同时存在@Null和@NotBlank注解并正常进行校验
B:如果时间类型的字段要求必须是过去的某个时间,则可以使用@Past注解进行校验
C:如果时间类型的字段要求必须是将来的某个时间,则可以使用@Future进行校验
D:使用Validation的校验方式只需要添加spring-boot-starter-web的依赖,不需要额外添加其他依赖
下面关于Validation的说法,错误的有:B
A:在controller方法签名中,对于想要自动校验的对象参数前面需要跟上@Validated注解
B:嵌套在类型中的对象,只要包含它的类对象进行了自动校验,就会自动对自身进行参数校验
C:@RestControllerAdvice注解的作用是用来标注自定义全局controller异常处理类的
D:用来分组校验定义的接口需要继承javax.validation.groups.Default接口
1. 请简述什么是注册中心?注册中心在微服务体系中的作用?Eureka由哪些部分组成?
2. 请简述什么是微服务网关?网关有哪些核心概念?网关有哪些作用?
3. 请简述SpringCloudGateway网关限流有几种策略,每种限流策略的具体机制。
4. 请简述Apollo配置中心的功能特点?Apollo配置中心有哪些机制保证配置文件同步?
5. 什么是redis?redis的常见使用场景有哪些?
6. 什么是kafka?kafka能解决什么问题?
7. 什么是elasticsearch?elasticsearch有什么特点?
8. 请描述如何自定义一个Validation校验器?如何对Validation校验结果进行异常处理?
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。