面试汇总--高级(草稿)

1.用java自己实现一个LRU。

Elasticsearch  

elasticsearch 了解多少,你们公司 es 的集群架构,索引数据大小,分片有多少? 参考1 参考2

调优手段有哪些:设计阶段调优,写入调优,查询调优,其他调优

elasticsearch 的倒排索引是什么?说一下es的索引原理?怎么根据一个词找到对应倒排索引?

elasticsearch 索引数据多了怎么办,如何调优,部署:动态索引层面,存储层面,部署层面

Elasticsearch 是如何实现 master 选举的

描述一下 Elasticsearch 索引文档的过程,更新和删除文档的过程。

描述一下 Elasticsearch 查询数据的过程?

Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法

lucence 内部结构是什么?

如何监控 Elasticsearch 集群状态?

Marvel 让你可以很简单的通过 Kibana 监控 Elasticsearch

Elasticsearch 中的节点(比如共 20 个),其中的 10 个

客户端在和集群连接时,如何选择特定的节点执行请求的?

Elasticsearch 是一个分布式的 RESTful 风格的搜索和数据分析引擎。

Elasticsearch是高度可伸缩的开源全文搜索和分析引擎,它允许您快速和接近实时地存储、搜索和分析大量数据。介绍一下使用Elasticsearch的用例

Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法?

对于 GC 方面,在使用 Elasticsearch 时要注意什么?

Elasticsearch 对于大数据量(上亿量级)的聚合如何实现?

在并发情况下,Elasticsearch 如何保证读写一致?

1、可以通过版本号使用乐观并发控制,

2、另外对于写操作,一致性级别支持 quorum/one/all,默认为 quorum,即只 

有当大多数分片可用时才允许写操作。 

3、对于读操作,可以设置 replication 为 sync(默认),这使得操作在主分片和副 

本分片都完成后才会返回; 

介绍一下你们的个性化搜索方案?

是否了解字典树?

拼写纠错是如何实现的?

假如es数据量越来越多,有些分页查询的场景变慢怎么解决?如何提高查询效率啊?

mysql到es的数据同步怎么做的?通过binlog的方式有什么优缺点?还有别的方式吗?***

2springcloud  

Nacos架构,注册中心的原理?

配置中心(优先级最高) -> ①bootstrap.yml -> ②bootstrap.properties -> ③application.yml -> ④application.properties

配置中心一般会配置什么内容?什么信息一般不会写到配置中心?

--配置中心一般配置什么内容?  (会经常变化的配置信息,例如连接池,日志,线程池,限流熔断规则)

--什么配置信息一般不会写到配置中心? (服务器端口,服务名,服务的注册地址,配置中心 )

项目中为什么要定义bootstrap.yml文件?

bootstrap.yml文件优先级高于application.yml文件。

用于指定nacos的位置,(IP和端口),例如项目名称,nacos中配置文件的文件类型,如yml,text等等

在Controller类上加入@RefreshScope注解,启动自动刷新nacos的配置 

Nacos配置中心宕机,我们还可以读取到配置信息吗?

可以从内存中读到,客户端获取了配置中心的配置信息后,会将配置信息在本地内存中存一份。

我们客服端如何获取配置中心的信息?如何感知配置中心的数据变化?

服务启动后没有在配置中心获取我们的数据是什么原因?

项目中使用的日志规范?项目的日志级别有哪些?

Nacos配置管理模型?(Namespace,Group,Service/DataId)

在这里插入图片描述

SpringCloud完成注册的时机

NacosServiceRegistry的实现

服务提供者地址查询

Nacos服务地址动态感知原理

Springcloud Feign 与 openFeign区别?

1)Feign是Spring Cloud组件中一个轻量级RESTful的HTTP服务客户端,Feign内置了Ribbon,用来做客户端负载均衡,去调用服务注册中心的服务。Feign的使用方式是:使用Feign的注解定义接口,调用接口,就可以调用服务注册中心的服务。

2)OpenFeign是Spring Cloud在Feign的基础上支持了SpringMVC的注解,如@RequestMapping等等。OpenFeign的@FeignClient可以解析SpringMVC的@RequestMapping注解下的接口,并通过动态代理的方式产生实现类,实现类中。

openFeign负载均衡策略 

什么是服务熔断?什么是服务降流?

Sentinel

SpringCloud有哪些组件,他们的原理是什么?

讲讲你理解的性能评价及测试指标?

CAP和BASE和AP理论,有哪些组件或者中间件满足AP/CP?

Session的分布式方案

如何解决瞬时大流量高并发?  高并发限流有什么算法?分别适用于什么场景?

系统如何提升并发性?

雪花算法原理?

分布式寻址算法?

分布式唯一ID(雪花算法和UUID)

高并发限流算法漏桶算法* 和 令牌桶算法*

突发流量会进入一个漏桶,漏桶按我们定义的速率依次处理请求,如果水流过大也就是突发流量过大会直接溢出,多余的请求会被拒绝。所以漏桶算法能控制数据的传输速率。

令牌桶算法的机制:一个大小固定的令牌桶,以恒定的速率不断产生令牌。如果令牌消耗速率小于生产令牌的速度,令牌就会一直产生直至装满整个令牌桶。

分布式事务方案?

刚性事务 遵循 acid 强一致性

柔性事务 遵循 base 最终一致性

1. 2PC模式 也叫xa协议 是 二阶段提交协议, 三阶段协议,引入超时机制,性能差不满足高并发

2.TCC事务补偿  prepare conmmit rollback 

3.最大努力通知型  通过mq发送请求 ,比如微信支付宝支付成功回调。

4.可靠消息+最终一致性 

Seata  

你可能感兴趣的:(面试攻略,面试,elasticsearch,搜索引擎)