19年跳槽的你,应该准备点什么呢?
寒夕若梦
公众号:Java面试百分百,大家可以关注一下呀!
趁着年轻生猛,我要再和生活死磕几年。要么我就毁灭,要么我就铸就辉煌。如果有一天,你发现我在平庸面前低了头,那么请向我开炮。
展开
-
37、zookeeper一般都有哪些使用场景?
1、面试题zk都有哪些使用场景?2、面试官心里分析zk,zookeeper,你们现在在聊的面试topic,是分布式系统,他其实已经跟你聊完了dubbo以及相关的一些问题,确认,你现在分布式服务框架,rpc框架,基本都有一些认知。可能开始要跟你聊分布式相关的其他问题了。分布式锁这个东西,很常用的,你做java系统开发,分布式系统,可能会有一些场景会用到。最常用的分布式锁就是zooke...原创 2019-01-03 14:02:37 · 1511 阅读 · 0 评论 -
43、如何把系统不停机迁移到分库分表的?
1、面试题现在有一个未分库分表的系统,未来要分库分表,如何设计才可以让系统从未分库分表动态切换到分库分表上?2、面试官心里分析你看看,你现在已经明白为啥要分库分表了,你也知道常用的分库分表中间件了,你也设计好你们如何分库分表的方案了(水平拆分、垂直拆分、分表),那问题来了,你接下来该怎么把你那个单库单表的系统给迁移到分库分表上去?所以这都是一环扣一环的,就是看你有没有全流程经历过这...原创 2019-01-11 09:15:59 · 2364 阅读 · 0 评论 -
42、如何进行分库分表?
1、面试题为什么要分库分表(设计高并发系统的时候,数据库层面该如何设计)?用过哪些分库分表中间件?不同的分库分表中间件都有什么优点和缺点?你们具体是如何对数据库如何进行垂直拆分或水平拆分的?2、面试官心里分析其实这块肯定是扯到高并发了,因为分库分表一定是为了支撑高并发、数据量大两个问题的。而且现在说实话,尤其是互联网类的公司面试,基本上都会来这么一下,分库分表如此普遍的技术问题,不问实...原创 2019-01-11 09:15:24 · 1503 阅读 · 0 评论 -
41、如何设计一个高并发系统?
1、面试题如何设计一个高并发系统?2、面试官心里分析说实话,如果面试官问你这个题目,那么你必须要使出全身吃奶劲了。为啥?因为你没看到现在很多公司招聘的jd里都是说啥,有高并发就经验者优先。所以如果你确实有真才实学,在互联网公司里干过高并发系统,那你确实拿offer基本如探囊取物,没啥问题。但是如果你要是真是干过高并发系统,面试官绝对绝对不会问这个问题,否则他就不太明智了。假设你...原创 2019-01-11 09:14:47 · 3740 阅读 · 1 评论 -
40、了解分布式事务方案吗?你们都咋做的?有啥坑?
1、面试题分布式事务了解吗?你们如何解决分布式事务问题的?2、面试官心里分析只要聊到你做了分布式系统,必问分布式事务,你对分布式事务一无所知的话,确实会很坑,你起码得知道有哪些方案,一般怎么来做,每个方案的优缺点是什么。现在面试,分布式系统成了标配,而分布式系统带来的分布式事务也成了标配了。因为你做系统肯定要用事务吧,那你用事务的话,分布式系统之后肯定要用分布式事务吧。呵呵。先不说...原创 2019-01-05 09:41:55 · 1486 阅读 · 0 评论 -
39、集群部署时的分布式session如何实现?
1、面试题集群部署时的分布式session如何实现?2、面试官心里分析面试官问了你一堆dubbo是怎么玩儿的,你会玩儿dubbo就可以把单块系统弄成分布式系统,然后分布式之后接踵而来的就是一堆问题,最大的问题就是分布式事务、接口幂等性、分布式锁,还有最后一个就是分布式session。当然了,分布式系统中的问题何止这么一点,非常之多,复杂度很高,但是这里就是说下常见的几个,也是面试的...原创 2019-01-05 09:31:22 · 846 阅读 · 0 评论 -
38、分布式锁是啥?对比下redis和zk两种分布式锁的优劣?
1、面试题一般实现分布式锁都有哪些方式?使用redis如何设计分布式锁?使用zk来设计分布式锁可以吗?这两种分布式锁的实现方式哪种效率比较高?2、面试官心里分析其实一般问问题,都是这么问的,先问问你zk,然后其实是要过度的zk关联的一些问题里去,比如分布式锁。因为在分布式系统开发中,分布式锁的使用场景还是很常见的。3、面试题剖析(1)redis分布式锁官方叫做RedLock...原创 2019-01-05 09:30:39 · 14716 阅读 · 7 评论 -
20、怎么保证redis挂掉之后再重启数据可以进行恢复?
1、面试题redis的持久化有哪几种方式?不同的持久化机制都有什么优缺点?持久化机制具体底层是如何实现的?2、面试官心里分析redis如果仅仅只是将数据缓存在内存里面,如果redis宕机了,再重启,内存里的数据就全部都弄丢了啊。你必须得用redis的持久化机制,将数据写入内存的同时,异步的慢慢的将数据写入磁盘文件里,进行持久化。如果redis宕机了,重启启动,自动从磁盘上加载之前持...原创 2018-12-25 13:36:50 · 8475 阅读 · 0 评论 -
19-06、redis哨兵的多个核心底层原理的深入解析(包含slave选举算法)
1、sdown和odown转换机制sdown和odown两种失败状态sdown是主观宕机,就一个哨兵如果自己觉得一个master宕机了,那么就是主观宕机odown是客观宕机,如果quorum数量的哨兵都觉得一个master宕机了,那么就是客观宕机sdown达成的条件很简单,如果一个哨兵ping一个master,超过了is-master-down-after-milliseconds...原创 2018-12-25 13:35:45 · 578 阅读 · 0 评论 -
19-05、redis哨兵主备切换的数据丢失问题:异步复制、集群脑裂
1、两种数据丢失的情况主备切换的过程,可能会导致数据丢失。(1)异步复制导致的数据丢失因为master -> slave的复制是异步的,所以可能有部分数据还没复制到slave,master就宕机了,此时这些部分数据就丢失了。异步复制导致的数据丢失问题.png(2)脑裂导致的数据丢失脑裂,也就是说,某个master所在机器突然脱离了正常的网络,跟其他slave机器不...原创 2018-12-25 13:33:18 · 878 阅读 · 0 评论 -
19-04、redis哨兵架构的相关基础知识的讲解
1、哨兵的介绍sentinal,中文名是哨兵哨兵是redis集群架构中非常重要的一个组件,主要功能如下(1)集群监控,负责监控redis master和slave进程是否正常工作(2)消息通知,如果某个redis实例有故障,那么哨兵负责发送消息作为报警通知给管理员(3)故障转移,如果master node挂掉了,会自动转移到slave node上(4)配置中心,如果故障转移发生了...原创 2018-12-25 13:32:49 · 352 阅读 · 0 评论 -
19-03、redis主从架构下如何才能做到99.99%的高可用性?
1、什么是99.99%高可用?架构上,高可用性,99.99%的高可用性讲的学术,99.99%,公式,系统可用的时间 / 系统故障的时间,365天,在365天 * 99.99%的时间内,你的系统都是可以哗哗对外提供服务的,那就是高可用性,99.99%系统可用的时间 / 总的时间 = 高可用性,然后会对各种时间的概念,说一大堆解释。什么是99.99%高可用性.png2、redis不...原创 2018-12-25 13:32:19 · 559 阅读 · 0 评论 -
19-01、redis主从复制原理、断点续传、无磁盘化复制、过期key处理
1、主从架构的核心原理当启动一个slave node的时候,它会发送一个PSYNC命令给master node如果这是slave node重新连接master node,那么master node仅仅会复制给slave部分缺少的数据; 否则如果是slave node第一次连接master node,那么会触发一次full resynchronization开始full resynchron...原创 2018-12-25 13:31:49 · 379 阅读 · 0 评论 -
44、如何设计可以动态扩容缩容的分库分表方案?
1、面试题如何设计可以动态扩容缩容的分库分表方案?2、面试官心里分析(1)选择一个数据库中间件,调研、学习、测试;(2)设计你的分库分表的一个方案,你要分成多少个库,每个库分成多少个表,3个库每个库4个表;(3)基于选择好的数据库中间件,以及在测试环境建立好的分库分表的环境,然后测试一下能否正常进行分库分表的读写;(4)完成单库单表到分库分表的迁移,双写方案;(5)线上系统开始...原创 2019-01-11 09:16:31 · 1547 阅读 · 1 评论 -
45、分库分表之后全局id咋生成?
1、面试题分库分表之后,id主键如何处理?2、面试官心里分析其实这是分库分表之后你必然要面对的一个问题,就是id咋生成?因为要是分成多个表之后,每个表都是从1开始累加,那肯定不对啊,需要一个全局唯一的id来支持。所以这都是你实际生产环境中必须考虑的问题。3、面试题剖析(1)数据库自增id这个就是说你的系统里每次得到一个id,都是往一个库的一个表里插入一条没什么业务含义的数据...原创 2019-01-11 09:17:07 · 1386 阅读 · 1 评论 -
46、说说MySQL读写分离的原理?主从同步延时咋解决?
1、面试题你们有没有做MySQL读写分离?如何实现mysql的读写分离?MySQL主从复制原理的是啥?如何解决mysql主从同步的延时问题?2、面试官心里分析这个,高并发这个阶段,那肯定是需要做读写分离的,啥意思?因为实际上大部分的互联网公司,一些网站,或者是app,其实都是读多写少。所以针对这个情况,就是写一个主库,但是主库挂多个从库,然后从多个从库来读,那不就可以支撑更高的读并发压...原创 2019-01-11 09:17:42 · 2166 阅读 · 0 评论 -
36、如何自己设计一个类似dubbo的rpc框架?
1、面试题如何自己设计一个类似dubbo的rpc框架?2、面试官心里分析说实话,就这问题,其实就跟问你,如何自己设计一个MQ,一样的道理,就考两个:(1)你有没有对某个rpc框架原理有非常深入的理解;(2)你能不能从整体上来思考一下,如何设计一个rpc框架,考考你的系统设计能力。3、面试题剖析我给大家一个建议,遇到这类问题,从你了解的类似框架的原理入手,自己说说参照dub...原创 2019-01-03 14:02:08 · 1676 阅读 · 0 评论 -
35、分布式服务接口请求的顺序性如何保证?
1、面试题分布式服务接口请求的顺序性如何保证?2、面试官心里分析其实分布式系统接口的调用顺序,也是个问题,一般来说是不用保证顺序的。但是有的时候可能确实是需要严格的顺序保证。给大家举个例子,你服务A调用服务B,先插入再删除。好,结果俩请求过去了,落在不同机器上,可能插入请求因为某些原因执行慢了一些,导致删除请求先执行了,此时因为没数据所以啥效果也没有;结果这个时候插入请求过来了,好,数...原创 2019-01-03 14:01:41 · 1854 阅读 · 0 评论 -
34、分布式服务接口的幂等性如何设计(比如不能重复扣款)?
1、面试题分布式服务接口的幂等性如何设计(比如不能重复扣款)?2、面试官心里分析从这个问题开始,面试官就已经进入了实际的生产问题的面试了。一个分布式系统中的某个接口,要保证幂等性,该如何保证?这个事儿其实是你做分布式系统的时候必须要考虑的一个生产环境的技术问题。啥意思呢?你看,假如你有个服务提供一个接口,结果这服务部署在了5台机器上,接着有个接口就是付款接口。然后人家用户在前端...原创 2019-01-03 14:01:11 · 1299 阅读 · 1 评论 -
33、基于dubbo如何做服务治理、服务降级以及重试?
1、面试题如何基于dubbo进行服务治理、服务降级、失败重试以及超时重试?2、面试官心里分析服务治理,这个问题如果问你,其实就是看看你有没有服务治理的思想,因为这个是做过复杂微服务的人肯定会遇到的一个问题。服务降级,这个是涉及到复杂分布式系统中必备的一个话题,因为分布式系统互相来回调用,任何一个系统故障了,你不降级,直接就全盘崩溃?那就太坑爹了吧!失败重试,分布式系统中网络请求...原创 2019-01-02 12:59:04 · 2042 阅读 · 0 评论 -
32、SPI是啥思想?dubbo的SPI机制是怎么玩儿的?
1、面试题dubbo的spi思想是什么?2、面试官心里分析继续深入问呗,前面一些基础性的东西问完了,确定你应该都ok了解dubbo的一些基本东西,那么问个稍微难一点点的问题,就是spi,先问问你spi是啥?然后问问你dubbo的spi是怎么实现的?其实就是看看你对dubbo的掌握如何。3、面试题剖析spi,简单来说,就是service provider interface,...原创 2019-01-02 12:58:36 · 760 阅读 · 0 评论 -
31、dubbo支持哪些负载均衡、高可用以及动态代理的策略?
1、面试题dubbo负载均衡策略和集群容错策略都有哪些?动态代理策略呢?2、面试官心里分析继续深问吧,这些都是用dubbo必须知道的一些东西,你得知道基本原理,知道序列化是什么协议,还得知道具体用dubbo的时候,如何负载均衡,如何高可用,如何动态代理。说白了,就是看你对dubbo熟悉不熟悉:(1)dubbo工作原理:服务注册,注册中心,消费者,代理通信,负载均衡;(2)网络...原创 2019-01-02 12:58:05 · 2258 阅读 · 1 评论 -
30、dubbo都支持哪些通信协议以及序列化协议?
1、面试题dubbo支持哪些通信协议?支持哪些序列化协议?2、面试官心里分析上一个问题,说说dubbo的基本工作原理,那是你必须知道的,至少知道dubbo分成哪些层,然后平时怎么发起rpc请求的,注册、发现、调用,这些是基本的。接着就可以针对底层进行深入的问问了,比如第一步就可以先问问序列化协议这块,就是平时rpc的时候怎么走的?3、面试题剖析(1)dubbo支持不同的通信...原创 2019-01-02 12:57:35 · 4178 阅读 · 0 评论 -
29、dubbo的工作原理?注册中心挂了可以继续通信吗?
1、面试题说一下的dubbo的工作原理?注册中心挂了可以继续通信吗?说说一次rpc请求的流程?2、面试官心里分析MQ、ES、Redis、Dubbo,上来先问你一些思考的问题,原理(kafka高可用架构原理、es分布式架构原理、redis线程模型原理、Dubbo工作原理),生产环境里可能会碰到的一些问题(每种技术引入之后生产环境都可能会碰到一些问题),系统设计(设计MQ,设计搜索引擎,设...原创 2019-01-02 12:57:06 · 1750 阅读 · 0 评论 -
28、为什么要把系统拆分成分布式的?为啥要用dubbo?
1、面试题为什么要进行系统拆分?如何进行系统拆分?拆分后不用dubbo可以吗?2、面试官心里分析从这个问题开始就进行分布式系统环节了,好多同学给我反馈说,现在出去分布式成标配了,没有哪个公司不问问你分布式的事儿。你要是不会分布式的东西,简直这简历没法看,没人会让你去面试。其实为啥会这样呢?这就是因为整个大行业技术发展的原因。早些年,我印象中在2010年初的时候,整个IT行业,很...原创 2019-01-02 12:56:36 · 960 阅读 · 1 评论 -
47-03、电商网站的商品详情页缓存服务业务背景以及框架结构说明
模拟真实业务的这么一个小型的项目,来全程贯穿,用这个项目中的业务场景去一个一个的讲解hystrix高可用的每个技术。大背景:电商网站,首页,商品详情页,搜索结果页,广告页,促销活动,购物车,订单系统,库存系统,物流系统。小背景:商品详情页,如何用最快的结果将商品数据填充到一个页面中,然后将页面显示出来。分布式系统:商品详情页,缓存服务,+底层源数据服务,商品信息服务,店铺信息服务,广告...原创 2019-01-11 09:19:17 · 2443 阅读 · 0 评论 -
47-02、hystrix要解决的分布式系统可用性问题以及其设计原则
1、Hystrix是什么?在分布式系统中,每个服务都可能会调用很多其他服务,被调用的那些服务就是依赖服务,有的时候某些依赖服务出现故障也是很正常的。Hystrix可以让我们在分布式系统中对服务间的调用进行控制,加入一些调用延迟或者依赖故障的容错机制。Hystrix通过将依赖服务进行资源隔离,进而组织某个依赖服务出现故障的时候,这种故障在整个系统所有的依赖服务调用中进行蔓延,同时Hyst...原创 2019-01-11 09:18:46 · 1096 阅读 · 0 评论 -
47-01、hystrix与高可用系统架构:资源隔离+限流+熔断+降级+运维监控
HA,HAProxy,主备服务间的切换,这就做到了高可用性,主备实例,多冗余实例,高可用最最基础的东西。那么,什么样的情况下,可能会导致系统的崩溃,以及系统不可用,针对各种各样的一些情况,然后我们用什么技术,去保护整个系统处于高可用的一个情况下?1、hystrix是什么?netflix(国外最大的类似于,爱奇艺,优酷)视频网站,五六年前,也是,感觉自己的系统,整个网站,经常出故障,可用...原创 2019-01-11 09:18:14 · 1435 阅读 · 0 评论 -
19-02、redis replication的完整流运行程和原理的再次深入剖析
1、复制的完整流程(1)slave node启动,仅仅保存master node的信息,包括master node的host和ip,但是复制流程没开始master host和ip是从哪儿来的,redis.conf里面的slaveof配置的(2)slave node内部有个定时任务,每秒检查是否有新的master node要连接和复制,如果发现,就跟master node建立socket网络...原创 2018-12-25 13:31:19 · 495 阅读 · 0 评论 -
19、怎么保证redis是高并发以及高可用的?
1、面试题如何保证Redis的高并发和高可用?redis的主从复制原理能介绍一下么?redis的哨兵原理能介绍一下么?2、面试官心里分析其实问这个问题,主要是考考你,redis单机能承载多高并发?如果单机扛不住如何扩容抗更多的并发?redis会不会挂?既然redis会挂那怎么保证redis是高可用的?其实针对的都是项目中你肯定要考虑的一些问题,如果你没考虑过,那确实你对生产系统中的...原创 2018-12-25 13:30:46 · 1619 阅读 · 0 评论 -
19年跳槽的你,应该准备点什么呢?
18年就这样在不知不觉中过去了,给自己一天的休息,想了很多东西,想想这一年付出了什么、收获了什么?有种失落、有点小确幸、有种凉凉的感觉……,像是打翻了五味瓶,各种情愫在内心弥漫着。 而后,刹那间有种惊醒的感觉。不必等待、何必等待,突然明白“逝者如斯夫不舍昼夜”。于是,我想在这接下来的日子中抓一下18的尾巴! 首先,先根据18年的就业行情进行一下分析吧!其实,从去年开始互联网行业...原创 2018-12-12 11:58:08 · 915 阅读 · 0 评论 -
21、怎么才能够突破单机瓶颈,让redis支撑海量数据?
redis的集群架构redis cluster支撑N个redis master node,每个master node都可以挂载多个slave node读写分离的架构,对于每个master来说,写就写到master,然后读就从mater对应的slave去读高可用,因为每个master都有salve节点,那么如果mater挂掉,redis cluster这套机制,就会自动将某个slave切换成mast...原创 2018-12-27 20:25:59 · 1307 阅读 · 0 评论 -
20-02、图解分析redis的RDB和AOF两种持久化机制的工作原理
分析redis的RDB和AOF两种持久化机制的工作原理我们已经知道对于一个企业级的redis架构来说,持久化是不可减少的。企业级redis集群架构:海量数据、高并发、高可用。持久化主要是做灾难恢复,数据恢复,也可以归类到高可用的一个环节里面去。比如你redis整个挂了,然后redis就不可用了,你要做的事情是让redis变得可用,尽快变得可用。重启redis,尽快让它对外提供服务...原创 2018-12-27 20:25:31 · 418 阅读 · 0 评论 -
10、面试官对于分布式搜索引擎的4个连环炮
业内目前来说事实上的一个标准,就是分布式搜索引擎一般大家都用elasticsearch,es,solr,但是确实,这两年大家一般都用更加易用的es。lucene如果你确实真的不连lucene都不知道是什么?我觉得你确实不应该,lucene底层的原理是一个东西,叫做倒排索引。太基础了。百度,搜索一下lucene入门,了解一下lucene是什么?倒排索引是什么?全文检索是什么?写个luce...原创 2018-12-22 10:41:13 · 634 阅读 · 0 评论 -
09、总结一下消息队列相关问题的面试技巧
一般而言,如果一个面试官水平还算不错,会沿着从浅入深的环节深入挖一个点。比如我吧,其实按照这个思路可以一直问下去,除了这里的7个问题之外,甚至能挑着你熟悉的一个mq一直问到源码级别非常底层。我还可能会结合项目来仔细问,我可能会先让你给我详细说说你的业务细节,然后将你的业务跟这些mq的问题场景结合起来,看看你每个细节是怎么处理的。但是说实话,这里只是希望能够提供给大家面试方面的突击,实际的应用还...原创 2018-12-22 10:40:28 · 501 阅读 · 0 评论 -
08、如果让你来开发一个消息队列中间件,你会怎么设计架构?
1、面试题如果让你写一个消息队列,该如何进行架构设计啊?说一下你的思路。2、面试官心里分析其实聊到这个问题,一般面试官要考察两块:(1)你有没有对某一个消息队列做过较为深入的原理的了解,或者从整体了解把握住一个mq的架构原理;(2)看看你的设计能力,给你一个常见的系统,就是消息队列系统,看看你能不能从全局把握一下整体架构设计,给出一些关键点出来。说实话,我一般面类似问题的时...原创 2018-12-22 10:39:37 · 1911 阅读 · 0 评论 -
07、完了!生产事故!几百万消息在消息队列里积压了几个小时!
1、面试题如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决?2、面试官心里分析你看这问法,其实本质针对的场景,都是说,可能你的消费端出了问题,不消费了,或者消费的极其极其慢。接着就坑爹了,可能你的消息队列集群的磁盘都快写满了,都没人消费,这个时候怎么办?或者是整个这就积压了几个小时,你这个时候怎么办?或者是你积压的时间太长了,...原创 2018-12-22 10:38:47 · 9016 阅读 · 4 评论 -
06、 如何保证消息的顺序性?
1、面试题如何保证消息的顺序性?2、面试官心里分析其实这个也是用MQ的时候必问的话题,第一看看你了解不了解顺序这个事儿?第二看看你有没有办法保证消息是有顺序的?这个生产系统中常见的问题。3、面试题剖析我举个例子,我们以前做过一个mysql binlog同步的系统,压力还是非常大的,日同步数据要达到上亿。mysql -> mysql,常见的一点在于说大数据team,就需要同...转载 2018-12-22 10:37:48 · 4264 阅读 · 1 评论 -
05、消息队列中数据丢失了怎么办
1、面试题如何保证消息的可靠性传输(如何处理消息丢失的问题)?2、面试官心里分析这个是肯定的,用mq有个基本原则,就是数据不能多一条,也不能少一条,不能多,就是刚才说的重复消费和幂等性问题。不能少,就是说这数据别搞丢了。那这个问题你必须得考虑一下。如果说你这个是用mq来传递非常核心的消息,比如说计费,扣费的一些消息,因为我以前设计和研发过一个公司非常核心的广告平台,计费系统,计费系...原创 2018-12-22 10:36:26 · 5738 阅读 · 1 评论 -
04、如何保证消息队列中的消息不被重复消费
1、面试题如何保证消息不被重复消费啊(如何保证消息消费时的幂等性)?2、面试官心里分析其实这个很常见的一个问题,这俩问题基本可以连起来问。既然是消费消息,那肯定要考虑考虑会不会重复消费?能不能避免重复消费?或者重复消费了也别造成系统异常可以吗?这个是MQ领域的基本问题,其实本质上还是问你使用消息队列如何保证幂等性,这个是你架构里要考虑的一个问题。面试官问你,肯定是必问的,这是你要考...原创 2018-12-22 10:35:08 · 17465 阅读 · 4 评论