最后
毕竟工作也这么久了 ,除了途虎一轮,也七七八八面试了不少大厂,像阿里、饿了么、美团、滴滴这些面试过程就不一一写在这篇文章上了。我会整理一份详细的面试过程及大家想知道的一些问题细节
美团面试经验
字节面试经验
菜鸟面试经验
蚂蚁金服面试经验
唯品会面试经验
因篇幅有限,图文无法详细发出
Elasticsearch
是一个基于Apache Lucene(TM)
的开源搜索引擎。它是一个分布式、RESTful 风格的搜索和数据分析引擎。无论在开源还是专有领域,Lucene
可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。
Elasticsearch
是一个分布式、RESTful
风格的搜索和数据分析引擎。Elasticsearch
支持分布式,可以轻松扩展至
2、Elasticsearch
主要解决什么问题
当数据达到亿级别时,我们想搜索数据
3、Elasticsearch
核心概念
下表为关系性数据库与Elasticsearch
之间的概念对比,如下所示:
| RDBMS | Elasticsearch |
| — | — |
| Table | Index(Type) |
| Row | Document |
| Column | Field |
| Schema | Mapping |
| SQL | DSL |
NRT(Near Realtime)
Elasticsearch
是近实时的,它是个分布式系统,不但要对数据进行持久化同时需要将数据解构 为方便进行全文检索的数据结构。
Node
节点就是Elasticsearch
的实例,主要x向外界提供数据的存储以及集群的搜索与索引功能。节点的名字全局唯一。
Cluster
集群,所谓集群即为一个节点或者多个节点的集合。共同提供存储以及全文检索的服务。集群的名称也是全局唯一的,Elasticsearch
集群是自组织的,只需要将节点指定为对应集群名称下的节点即可。
Document
所谓文档,即相当于关系型数据库中的一行数据。文档是构建索引的基本单元。譬如一条用户数据、一条订单数据都可以看作为一个文档。文档都是以Json
格式进行描述,Json
是一种普遍使用的互联网数据格式。在index中可以存储任意数量的文档。
Index
分为两层意思,一是建立索引,而是对应的索引文件。索引一个文档就是存储一个文档到一个索引 (名词)中以便被检索和查询。
Shard and Replicas
Elasticsearch
是分布式搜索引擎,每个索引都有一个或多个分片,索引的数据被分配到各个分片上, 这就相当于一堆沙子可以由不同的容器来装。
复制即为分片的备份。
4、Elasticsearch
特性
(1)分布式高可用搜索引擎
(2)多租户
-
支持多个索引
-
支持索引级别配置
(3)丰富的API
-
提供
HTTP RESTful API
接口,便于调用集成 -
Java
本地API
-
所有
API
都执行自动节点操作重路由
(4)面向文档
-
不需要预先定义模式
-
模式可以用来对索引过程进行自定义
(5)可靠的异步写后置,可实现长期持久性
(6)近实时查询
(7)以Lucene
库为基础
总结
以上是字节二面的一些问题,面完之后其实挺后悔的,没有提前把各个知识点都复习到位。现在重新好好复习手上的面试大全资料(含JAVA、MySQL、算法、Redis、JVM、架构、中间件、RabbitMQ、设计模式、Spring等),现在起闭关修炼半个月,争取早日上岸!!!
下面给大家分享下我的面试大全资料
- 第一份是我的后端JAVA面试大全
后端JAVA面试大全
- 第二份是MySQL+Redis学习笔记+算法+JVM+JAVA核心知识整理
MySQL+Redis学习笔记算法+JVM+JAVA核心知识整理
- 第三份是Spring全家桶资料
MySQL+Redis学习笔记算法+JVM+JAVA核心知识整理
+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**