![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
星河_赵梓宇
菩提本无树,明镜亦非台。
本来无一物,何处惹尘埃。
展开
-
消息队列面试 - 为什么使用消息队列,消息队列有什么优点和缺点?
消息队列面试 - 为什么使用消息队列,消息队列有什么优点和缺点?面试题为什么使用消息队列? 消息队列有什么优点和缺点? Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景?面试官心理分析其实面试官主要是想看看: 第一,你知不知道你们系统里为什么要用消息队列这个东西? 不少候选人,说自己项目里用了 Redis、MQ,...转载 2019-03-01 19:25:07 · 1006 阅读 · 0 评论 -
高并发面试 - 如何设计一个高并发系统?
高并发面试 - 如何设计一个高并发系统?面试题如何设计一个高并发系统?面试官心理分析说实话,如果面试官问你这个题目,那么你必须要使出全身吃奶劲了。为啥?因为你没看到现在很多公司招聘的 JD 里都是说啥,有高并发就经验者优先。如果你确实有真才实学,在互联网公司里干过高并发系统,那你确实拿 offer 基本如探囊取物,没啥问题。面试官也绝对不会这样来问你,否则他就...转载 2019-03-06 23:22:54 · 544 阅读 · 0 评论 -
ElasticSearch面试 - es 写入数据的工作原理是什么啊?
ElasticSearch面试 - es 写入数据的工作原理是什么啊?面试题es 写入数据的工作原理是什么啊?es 查询数据的工作原理是什么啊?底层的 lucene 介绍一下呗?倒排索引了解吗?面试官心理分析问这个,其实面试官就是要看看你了解不了解 es 的一些基本原理,因为用 es 无非就是写入数据,搜索数据。你要是不明白你发起一个写入和搜索请求的时候,es 在干什么...转载 2019-03-07 01:29:14 · 591 阅读 · 0 评论 -
Lucene 和 ElasticSearch 的前世今生
Lucene 和 es 的前世今生lucene 是最先进、功能最强大的搜索库。如果直接基于 lucene 开发,非常复杂,即便写一些简单的功能,也要写大量的 Java 代码,需要深入理解原理。elasticsearch 基于 lucene,隐藏了 lucene 的复杂性,提供了简单易用的 restful api / Java api 接口(另外还有其他语言的 api 接口)。...转载 2019-03-07 01:29:53 · 249 阅读 · 0 评论 -
ElasticSearch面试 - es 的分布式架构原理
ElasticSearch面试 - es 的分布式架构原理面试题es 的分布式架构原理能说一下么(es 是如何实现分布式的啊)?面试官心理分析在搜索这块,lucene 是最流行的搜索库。几年前业内一般都问,你了解 lucene 吗?你知道倒排索引的原理吗?现在早已经 out 了,因为现在很多项目都是直接用基于 lucene 的分布式搜索引擎—— ElasticSe...转载 2019-03-07 01:30:47 · 546 阅读 · 0 评论 -
数据库面试 - 分库分表之后,id 主键如何处理?
数据库面试 - 分库分表之后,id 主键如何处理?面试题分库分表之后,id 主键如何处理?面试官心理分析其实这是分库分表之后你必然要面对的一个问题,就是 id 咋生成?因为要是分成多个表之后,每个表都是从 1 开始累加,那肯定不对啊,需要一个全局唯一的 id 来支持。所以这都是你实际生产环境中必须考虑的问题。面试题剖析基于数据库的实现方案数据库自增 id...转载 2019-03-07 01:30:15 · 292 阅读 · 0 评论 -
数据库面试 - 如何设计可以动态扩容缩容的分库分表方案?
数据库面试 - 如何设计可以动态扩容缩容的分库分表方案?面试题如何设计可以动态扩容缩容的分库分表方案?面试官心理分析对于分库分表来说,主要是面对以下问题:选择一个数据库中间件,调研、学习、测试; 设计你的分库分表的一个方案,你要分成多少个库,每个库分成多少个表,比如 3 个库,每个库 4 个表; 基于选择好的数据库中间件,以及在测试环境建立好的分库分表的环境,然...转载 2019-03-05 22:45:06 · 415 阅读 · 0 评论 -
Hystrix面试 - 基于 timeout 机制为服务接口调用超时提供安全保护
Hystrix面试 -基于 timeout 机制为服务接口调用超时提供安全保护一般来说,在调用依赖服务的接口的时候,比较常见的一个问题就是超时。超时是在一个复杂的分布式系统中,导致系统不稳定,或者系统抖动。出现大量超时,线程资源会被 hang 死,从而导致吞吐量大幅度下降,甚至服务崩溃。你去调用各种各样的依赖服务,特别是在大公司,你甚至都不认识开发一个服务的人,你都不知道那个...转载 2019-03-05 22:45:16 · 384 阅读 · 0 评论 -
Hystrix面试 - 基于 request cache 请求缓存技术优化批量商品数据查询接口
Hystrix面试 - 基于 request cache 请求缓存技术优化批量商品数据查询接口Hystrix command 执行时 8 大步骤第三步,就是检查 Request cache 是否有缓存。首先,有一个概念,叫做 Request Context 请求上下文,一般来说,在一个 web 应用中,如果我们用到了 Hystrix,我们会在一个 filter 里面,对每一个请...转载 2019-03-05 22:45:57 · 339 阅读 · 0 评论 -
Hystrix面试 - 深入 Hystrix 执行时内部原理
Hystrix面试 - 深入 Hystrix 执行时内部原理前面我们了解了 Hystrix 最基本的支持高可用的技术:资源隔离+限流。创建 command; 执行这个 command; 配置这个 command 对应的 group 和线程池。这里,我们要讲一下,你开始执行这个 command,调用了这个 command 的 execute() 方法之后,Hystrix...转载 2019-03-05 22:46:01 · 5862 阅读 · 0 评论 -
Hystrix面试 - 用 Hystrix 构建高可用服务架构
Hystrix面试 - 用 Hystrix 构建高可用服务架构Hystrix 是什么?在分布式系统中,每个服务都可能会调用很多其他服务,被调用的那些服务就是依赖服务,有的时候某些依赖服务出现故障也是很正常的。Hystrix 可以让我们在分布式系统中对服务间的调用进行控制,加入一些调用延迟或者依赖故障的容错机制。Hystrix 通过将依赖服务进行资源隔离,进而阻止某...转载 2019-03-05 22:46:05 · 533 阅读 · 0 评论 -
Hystrix面试 - 基于本地缓存的 fallback 降级机制
Hystrix面试 - 基于本地缓存的 fallback 降级机制Hystrix 出现以下四种情况,都会去调用 fallback 降级机制:断路器处于打开的状态。 资源池已满(线程池+队列 / 信号量)。 Hystrix 调用各种接口,或者访问外部依赖,比如 MySQL、Redis、Zookeeper、Kafka 等等,出现了任何异常的情况。 访问外部依赖的时候,访问时间...转载 2019-03-05 22:46:08 · 1067 阅读 · 0 评论 -
Hystrix面试 - Hystrix 隔离策略细粒度控制
Hystrix面试 - Hystrix 隔离策略细粒度控制Hystrix 实现资源隔离,有两种策略:线程池隔离 信号量隔离对资源隔离这一块东西,其实可以做一定细粒度的一些控制。execution.isolation.strategy指定了 HystrixCommand.run() 的资源隔离策略:THREADorSEMAPHORE,一种基于线程池,一种基于信号量...转载 2019-03-05 22:46:12 · 894 阅读 · 0 评论 -
Hystrix面试 - 深入 Hystrix 断路器执行原理
Hystrix面试 - 深入 Hystrix 断路器执行原理RequestVolumeThresholdHystrixCommandProperties.Setter() .withCircuitBreakerRequestVolumeThreshold(int)表示在滑动窗口中,至少有多少个请求,才可能触发断路。Hystrix 经过断路器的流量超过了一定的阈...转载 2019-03-06 23:19:56 · 1675 阅读 · 0 评论 -
分布式面试 - zookeeper 都有哪些使用场景?
分布式面试 - zookeeper 都有哪些使用场景?面试题zookeeper 都有哪些使用场景?面试官心理分析现在聊的 topic 是分布式系统,面试官跟你聊完了 dubbo 相关的一些问题之后,已经确认你对分布式服务框架/RPC框架基本都有一些认知了。那么他可能开始要跟你聊分布式相关的其它问题了。分布式锁这个东西,很常用的,你做 Java 系统开发,分布式...转载 2019-03-06 23:20:07 · 513 阅读 · 0 评论 -
分布式面试 - 如何基于 dubbo 进行服务治理、服务降级、失败重试以及超时重试?
分布式面试 - 如何基于 dubbo 进行服务治理、服务降级、失败重试以及超时重试?面试题如何基于 dubbo 进行服务治理、服务降级、失败重试以及超时重试?面试官心理分析服务治理,这个问题如果问你,其实就是看看你有没有服务治理的思想,因为这个是做过复杂微服务的人肯定会遇到的一个问题。服务降级,这个是涉及到复杂分布式系统中必备的一个话题,因为分布式系统互相来回...转载 2019-03-06 23:21:34 · 198 阅读 · 0 评论 -
消息队列面试 - 如何保证消息队列的高可用?
面试题如何保证消息队列的高可用?面试官心理分析如果有人问到你 MQ 的知识,高可用是必问的。上一讲提到,MQ 会导致系统可用性降低。所以只要你用了 MQ,接下来问的一些要点肯定就是围绕着 MQ 的那些缺点怎么来解决了。要是你傻乎乎的就干用了一个 MQ,各种问题从来没考虑过,那你就杯具了,面试官对你的感觉就是,只会简单使用一些技术,没任何思考,马上对你的印象就不太好了。这...转载 2019-03-03 21:55:45 · 184 阅读 · 0 评论 -
Redis面试 - 如何保证 redis 的高并发和高可用?
面试题如何保证 redis 的高并发和高可用?redis 的主从复制原理能介绍一下么?redis 的哨兵原理能介绍一下么?面试官心理分析其实问这个问题,主要是考考你,redis 单机能承载多高并发?如果单机扛不住如何扩容扛更多的并发?redis 会不会挂?既然 redis 会挂那怎么保证 redis 是高可用的?其实针对的都是项目中你肯定要考虑的一些问题,如果你没考虑过...转载 2019-03-02 20:01:29 · 404 阅读 · 0 评论 -
消息队列面试 - 如何保证消息的可靠性传输?
消息队列面试 - 如何保证消息的可靠性传输?面试题如何保证消息的可靠性传输?或者说,如何处理消息丢失的问题?面试官心理分析这个是肯定的,用 MQ 有个基本原则,就是数据不能多一条,也不能少一条,不能多,就是前面说的重复消费和幂等性问题。不能少,就是说这数据别搞丢了。那这个问题你必须得考虑一下。如果说你这个是用 MQ 来传递非常核心的消息,比如说计费、扣费的一些消息,...转载 2019-03-02 20:00:42 · 1553 阅读 · 0 评论 -
缓存面试 - 为什么要用缓存?缓存使用不当会造成什么后果?
面试题项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果?面试官心理分析这个问题,互联网公司必问,要是一个人连缓存都不太清楚,那确实比较尴尬。只要问到缓存,上来第一个问题,肯定是先问问你项目哪里用了缓存?为啥要用?不用行不行?如果用了以后可能会有什么不良的后果?这就是看看你对缓存这个东西背后有没有思考,如果你就是傻乎乎的瞎用,没法给面试官一个合理的解答,那...转载 2019-03-01 19:27:09 · 280 阅读 · 0 评论 -
缓存数据库面试 - redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发?
缓存数据库面试 - redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发?面试题redis 和 memcached 有什么区别?redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发?面试官心理分析这个是问 redis 的时候,最基本的问题吧,redis 最基本的一个内部原理和特点,就是 redis 实际上是个单线程工作模型,你要是这个...转载 2019-03-01 19:30:30 · 392 阅读 · 0 评论 -
Redis面试 - 哨兵集群实现高可用
Redis 哨兵集群实现高可用哨兵的介绍sentinel,中文名是哨兵。哨兵是 redis 集群机构中非常重要的一个组件,主要有以下功能:集群监控:负责监控 redis master 和 slave 进程是否正常工作。 消息通知:如果某个 redis 实例有故障,那么哨兵负责发送消息作为报警通知给管理员。 故障转移:如果 master node 挂掉了,会自动转移到 s...转载 2019-03-01 19:34:50 · 232 阅读 · 0 评论 -
Redis面试 - 生产环境中的 redis 是怎么部署的?
面试题生产环境中的 redis 是怎么部署的?面试官心理分析看看你了解不了解你们公司的 redis 生产集群的部署架构,如果你不了解,那么确实你就很失职了,你的 redis 是主从架构?集群架构?用了哪种集群方案?有没有做高可用保证?有没有开启持久化机制确保可以进行数据恢复?线上 redis 给几个 G 的内存?设置了哪些参数?压测后你们 redis 集群承载多少 QPS?兄...转载 2019-03-01 19:37:47 · 217 阅读 · 0 评论 -
Redis面试 - Redis的持久化机制
Redis面试 - Redis的持久化机制面试题redis 的持久化有哪几种方式?不同的持久化机制都有什么优缺点?持久化机制具体底层是如何实现的?面试官心理分析redis 如果仅仅只是将数据缓存在内存里面,如果 redis 宕机了再重启,内存里的数据就全部都弄丢了啊。你必须得用 redis 的持久化机制,将数据写入内存的同时,异步的慢慢的将数据写入磁盘文件里,进行持久化...转载 2019-03-01 19:41:06 · 357 阅读 · 0 评论 -
Redis面试 - Redis 主从架构
Redis 主从架构单机的 redis,能够承载的 QPS 大概就在上万到几万不等。对于缓存来说,一般都是用来支撑读高并发的。因此架构做成主从(master-slave)架构,一主多从,主负责写,并且将数据复制到其它的 slave 节点,从节点负责读。所有的读请求全部走从节点。这样也可以很轻松实现水平扩容,支撑读高并发。redis replication -> 主从架...转载 2019-03-01 19:43:34 · 383 阅读 · 0 评论 -
Redis面试 - 内存淘汰机制
Redis面试 - 内存淘汰机制面试题redis 的过期策略都有哪些?内存淘汰机制都有哪些?手写一下 LRU 代码实现?面试官心理分析如果你连这个问题都不知道,上来就懵了,回答不出来,那线上你写代码的时候,想当然的认为写进 redis 的数据就一定会存在,后面导致系统各种 bug,谁来负责?常见的有两个问题:往 redis 写入的数据怎么没了?可能有同学会遇到...转载 2019-03-01 19:46:07 · 211 阅读 · 0 评论 -
Redis面试 - redis 都有哪些数据类型?
Redis面试 - redis 都有哪些数据类型?面试题redis 都有哪些数据类型?分别在哪些场景下使用比较合适?面试官心理分析除非是面试官感觉看你简历,是工作 3 年以内的比较初级的同学,可能对技术没有很深入的研究,面试官才会问这类问题。否则,在宝贵的面试时间里,面试官实在不想多问。其实问这个问题,主要有两个原因:看看你到底有没有全面的了解 redis 有哪...转载 2019-03-01 19:48:07 · 720 阅读 · 0 评论 -
Redis面试 - 如何保证缓存与数据库的双写一致性?
Redis面试 - 如何保证缓存与数据库的双写一致性?面试题如何保证缓存与数据库的双写一致性?面试官心理分析你只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题?面试题剖析一般来说,如果允许缓存可以稍微的跟数据库偶尔有不一致的情况,也就是说如果你的系统不是严格要求“缓存+数据库” 必须保持一致性...转载 2019-03-01 19:50:17 · 2039 阅读 · 0 评论 -
Redis面试 - 集群模式
Redis面试 - 集群模式面试题redis 集群模式的工作原理能说一下么?在集群模式下,redis 的 key 是如何寻址的?分布式寻址都有哪些算法?了解一致性 hash 算法吗?面试官心理分析在前几年,redis 如果要搞几个节点,每个节点存储一部分的数据,得借助一些中间件来实现,比如说有codis,或者twemproxy,都有。有一些 redis 中间件...转载 2019-03-02 19:58:31 · 190 阅读 · 0 评论 -
Redis面试 - redis 的并发竞争问题是什么?
Redis面试 - redis 的并发竞争问题是什么?面试题redis 的并发竞争问题是什么?如何解决这个问题?了解 redis 事务的 CAS 方案吗?面试官心理分析这个也是线上非常常见的一个问题,就是多客户端同时并发写一个 key,可能本来应该先到的数据后到了,导致数据版本错了;或者是多客户端同时获取一个 key,修改值之后再写回去,只要顺序错了,数据就错了。而...转载 2019-03-02 19:58:42 · 496 阅读 · 0 评论 -
Redis面试 - redis 的雪崩和穿透?
Redis面试 - redis 的雪崩和穿透?面试题了解什么是 redis 的雪崩和穿透?redis 崩溃之后会怎么样?系统该如何应对这种情况?如何处理 redis 的穿透?面试官心理分析其实这是问到缓存必问的,因为缓存雪崩和穿透,是缓存最大的两个问题,要么不出现,一旦出现就是致命性的问题,所以面试官一定会问你。面试题剖析缓存雪崩对于系统 A,假设每天高峰期...转载 2019-03-01 19:58:08 · 583 阅读 · 0 评论 -
MySQL面试 - 读写分离
MySQL面试 - 读写分离面试题你们有没有做 MySQL 读写分离?如何实现 MySQL 的读写分离?MySQL 主从复制原理的是啥?如何解决 MySQL 主从同步的延时问题?面试官心理分析高并发这个阶段,肯定是需要做读写分离的,啥意思?因为实际上大部分的互联网公司,一些网站,或者是 app,其实都是读多写少。所以针对这个情况,就是写一个主库,但是主库挂多个从库,然后...转载 2019-03-02 19:58:53 · 1216 阅读 · 1 评论 -
消息队列面试 - 如何解决消息队列的延时以及过期失效问题?
消息队列面试 - 如何解决消息队列的延时以及过期失效问题?面试题如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决?面试官心理分析你看这问法,其实本质针对的场景,都是说,可能你的消费端出了问题,不消费了;或者消费的速度极其慢。接着就坑爹了,可能你的消息队列集群的磁盘都快写满了,都没人消费,这个时候怎么办?或者是这...转载 2019-03-02 19:59:53 · 198 阅读 · 0 评论 -
消息队列面试场景
消息队列面试场景面试官:你好。候选人:你好。(面试官在你的简历上面看到了,呦,有个亮点,你在项目里用过MQ,比如说你用过ActiveMQ)面试官:你在系统里用过消息队列吗?(面试官在随和的语气中展开了面试)候选人:用过的(此时感觉没啥)面试官:那你说一下你们在项目里是怎么用消息队列的?候选人:巴拉巴拉,“我们啥啥系统发送个啥啥消息到队列,别的系统来消费啥...转载 2019-03-02 20:00:21 · 181 阅读 · 0 评论 -
我是如何 2 个月拿到 4 份 Offer 并收入翻倍的?
先做个自我介绍,楼主坐标帝都,5年经验,跳槽之前在一家传统小公司,年薪21万。这次面试前前后后大概两个月的时间,面试了大概6家公司,命中4家,最终去了一家估值70亿美金的生鲜电商独角兽,年薪42万,刚好翻倍。话不多说,直接进入面试现场!好未来开始面试第一天上午投递好未来,下午3点面试,一共面试了3轮,问的问题比较多。第一轮面试官看了我的简历,首先让我画出Eu...转载 2019-06-29 12:48:08 · 323 阅读 · 0 评论