摘要: 项目中缓存是如何使用的? 这个,需要结合自己项目的业务来。 为什么要用缓存? 用缓存,主要有两个用途:高性能、高并发。 高性能 假设这么个场景,你有个操作,一个请求过来,吭哧吭哧你各种乱七八糟操作 mysql,半天查出来一个结果,耗时 600ms。但是这个结果可能接下来几个小时都不会变了,或者变了也 阅读全文
posted @ 2021-02-22 19:43 姚春辉 阅读(646) 评论(0) 推荐(0) 编辑
摘要: EsClient.java public class EsClient { /** * 用集群名字,集群节点地址构建es client * 保证单例,不要new 多个client */ public TransportClient client; /** * 批量处理客户端 */ public Bu 阅读全文
posted @ 2021-02-22 18:00 姚春辉 阅读(286) 评论(0) 推荐(0) 编辑
摘要: ES 在数据量很大的情况下(数十亿级别)如何提高查询效率啊? 面试官心理分析 这个问题是肯定要问的,说白了,就是看你有没有实际干过 es,因为啥?其实 es 性能并没有你想象中那么好的。很多时候数据量大了,特别是有几亿条数据的时候,可能你会懵逼的发现,跑个搜索怎么一下 5~10s ,坑爹了。第一次搜 阅读全文
posted @ 2021-02-22 15:43 姚春辉 阅读(648) 评论(0) 推荐(0) 编辑
摘要: ES 写入数据的工作原理是什么啊?ES 查询数据的工作原理是什么啊?底层的 Lucene 介绍一下呗?倒排索引了解吗? 面试官心理分析 问这个,其实面试官就是要看看你了解不了解 es 的一些基本原理,因为用 es 无非就是写入数据,搜索数据。你要是不明白你发起一个写入和搜索请求的时候,es 在干什么 阅读全文
posted @ 2021-02-22 14:13 姚春辉 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 面试官心理分析 在搜索这块,lucene 是最流行的搜索库。几年前业内一般都问,你了解 lucene 吗?你知道倒排索引的原理吗?现在早已经 out 了,因为现在很多项目都是直接用基于 lucene 的分布式搜索引擎—— ElasticSearch,简称为 ES。 而现在分布式搜索基本已经成为大部分 阅读全文
posted @ 2021-02-22 14:11 姚春辉 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 如果让你写一个消息队列,该如何进行架构设计?说一下你的思路。 面试官心理分析 其实聊到这个问题,一般面试官要考察两块: 你有没有对某一个消息队列做过较为深入的原理的了解,或者从整体了解把握住一个消息队列的架构原理。 看看你的设计能力,给你一个常见的系统,就是消息队列系统,看看你能不能从全局把握一下整 阅读全文
posted @ 2021-02-22 11:23 姚春辉 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 面试题 如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决? 面试官心理分析 你看这问法,其实本质针对的场景,都是说,可能你的消费端出了问题,不消费了;或者消费的速度极其慢。接着就坑爹了,可能你的消息队列集群的磁盘都快写满了,都没人消费,这个 阅读全文
posted @ 2021-02-22 10:11 姚春辉 阅读(472) 评论(0) 推荐(0) 编辑