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