08 2018 档案
分库分表的面试题5
摘要:1、面试题 你们有没有做MySQL读写分离?如何实现mysql的读写分离?MySQL主从复制原理的是啥?如何解决mysql主从同步的延时问题? 2、面试官心里分析 这个,高并发这个阶段,那肯定是需要做读写分离的,啥意思?因为实际上大部分的互联网公司,一些网站,或者是app,其实都是读多写少。所以针对 阅读全文
posted @ 2018-08-03 20:10 伪全栈的java工程师 阅读(1339) 评论(0) 推荐(1) 编辑
分库分表的面试题4
摘要:1、面试题 分库分表之后,id主键如何处理? 2、面试官心里分析 其实这是分库分表之后你必然要面对的一个问题,就是id咋生成?因为要是分成多个表之后,每个表都是从1开始累加,那肯定不对啊,需要一个全局唯一的id来支持。所以这都是你实际生产环境中必须考虑的问题。 3、面试题剖析 (1)数据库自增id 阅读全文
posted @ 2018-08-03 20:09 伪全栈的java工程师 阅读(5830) 评论(0) 推荐(0) 编辑
分库分表的面试题3
摘要:1、面试题 如何设计可以动态扩容缩容的分库分表方案? 2、面试官心里分析 (1)选择一个数据库中间件,调研、学习、测试 (2)设计你的分库分表的一个方案,你要分成多少个库,每个库分成多少个表,3个库每个库4个表 (3)基于选择好的数据库中间件,以及在测试环境建立好的分库分表的环境,然后测试一下能否正 阅读全文
posted @ 2018-08-03 20:06 伪全栈的java工程师 阅读(3754) 评论(0) 推荐(0) 编辑
分库分表的面试题2
摘要:1、面试题 现在有一个未分库分表的系统,未来要分库分表,如何设计才可以让系统从未分库分表动态切换到分库分表上? 2、面试官心里分析 你看看,你现在已经明白为啥要分库分表了,你也知道常用的分库分表中间件了,你也设计好你们如何分库分表的方案了(水平拆分、垂直拆分、分表),那问题来了,你接下来该怎么把你那 阅读全文
posted @ 2018-08-03 20:05 伪全栈的java工程师 阅读(1495) 评论(0) 推荐(0) 编辑
分库分表的面试题1
摘要:1、面试题 为什么要分库分表(设计高并发系统的时候,数据库层面该如何设计)?用过哪些分库分表中间件?不同的分库分表中间件都有什么优点和缺点?你们具体是如何对数据库如何进行垂直拆分或水平拆分的? 2、面试官心里分析 其实这块肯定是扯到高并发了,因为分库分表一定是为了支撑高并发、数据量大两个问题的。而且 阅读全文
posted @ 2018-08-03 20:03 伪全栈的java工程师 阅读(2380) 评论(0) 推荐(0) 编辑
分布式系统的面试题15
摘要:1、面试题 如何设计一个高并发系统? 2、面试官心里分析 说实话,如果面试官问你这个题目,那么你必须要使出全身吃奶劲了。为啥?因为你没看到现在很多公司招聘的jd里都是说啥,有高并发就经验者优先。 所以如果你确实有真才实学,在互联网公司里干过高并发系统,那你确实拿offer基本如探囊取物,没啥问题。但 阅读全文
posted @ 2018-08-03 11:44 伪全栈的java工程师 阅读(1405) 评论(1) 推荐(0) 编辑
分布式系统的面试题14
摘要:1、面试题 分布式事务了解吗?你们如何解决分布式事务问题的? 2、面试官心里分析 只要聊到你做了分布式系统,必问分布式事务,你对分布式事务一无所知的话,确实会很坑,你起码得知道有哪些方案,一般怎么来做,每个方案的优缺点是什么。 现在面试,分布式系统成了标配,而分布式系统带来的分布式事务也成了标配了。 阅读全文
posted @ 2018-08-03 11:40 伪全栈的java工程师 阅读(1699) 评论(0) 推荐(0) 编辑
分布式系统的面试题13
摘要:1、面试题 集群部署时的分布式session如何实现? 2、面试官心里分析 面试官问了你一堆dubbo是怎么玩儿的,你会玩儿dubbo就可以把单块系统弄成分布式系统,然后分布式之后接踵而来的就是一堆问题,最大的问题就是分布式事务、接口幂等性、分布式锁,还有最后一个就是分布式session。 当然了, 阅读全文
posted @ 2018-08-03 11:29 伪全栈的java工程师 阅读(1014) 评论(0) 推荐(0) 编辑
分布式系统的面试题12
摘要:1、面试题 一般实现分布式锁都有哪些方式?使用redis如何设计分布式锁?使用zk来设计分布式锁可以吗?这两种分布式锁的实现方式哪种效率比较高? 2、面试官心里分析 其实一般问问题,都是这么问的,先问问你zk,然后其实是要过度的zk关联的一些问题里去,比如分布式锁。因为在分布式系统开发中,分布式锁的 阅读全文
posted @ 2018-08-03 11:26 伪全栈的java工程师 阅读(1236) 评论(0) 推荐(0) 编辑
分布式系统的面试题11
摘要:1、面试题 zk都有哪些使用场景? 2、面试官心里分析 zk,zookeeper,你们现在在聊的面试topic,是分布式系统,他其实已经跟你聊完了dubbo以及相关的一些问题,确认,你现在分布式服务框架,rpc框架,基本都有一些认知。可能开始要跟你聊分布式相关的其他问题了。 分布式锁这个东西,很常用 阅读全文
posted @ 2018-08-03 11:21 伪全栈的java工程师 阅读(15992) 评论(0) 推荐(0) 编辑
分布式系统的面试题10
摘要:1、面试题 如何自己设计一个类似dubbo的rpc框架? 2、面试官心里分析 说实话,就这问题,其实就跟问你,如何自己设计一个MQ,一样的道理,就考两个: (1)你有没有对某个rpc框架原理有非常深入的理解 (2)你能不能从整体上来思考一下,如何设计一个rpc框架,考考你的系统设计能力 3、面试题剖 阅读全文
posted @ 2018-08-03 11:19 伪全栈的java工程师 阅读(1518) 评论(0) 推荐(0) 编辑
分布式系统的面试题8
摘要:1、面试题 分布式服务接口的幂等性如何设计(比如不能重复扣款)? 2、面试官心里分析 从这个问题开始,面试官就已经进入了实际的生产问题的面试了 一个分布式系统中的某个接口,要保证幂等性,该如何保证?这个事儿其实是你做分布式系统的时候必须要考虑的一个生产环境的技术问题。啥意思呢? 你看,假如你有个服务 阅读全文
posted @ 2018-08-03 11:18 伪全栈的java工程师 阅读(1269) 评论(0) 推荐(0) 编辑
分布式系统的面试题9
摘要:1、面试题 分布式服务接口请求的顺序性如何保证? 2、面试官心里分析 其实分布式系统接口的调用顺序,也是个问题,一般来说是不用保证顺序的。但是有的时候可能确实是需要严格的顺序保证。给大家举个例子,你服务A调用服务B,先插入再删除。好,结果俩请求过去了,落在不同机器上,可能插入请求因为某些原因执行慢了 阅读全文
posted @ 2018-08-03 11:18 伪全栈的java工程师 阅读(540) 评论(0) 推荐(0) 编辑
分布式系统的面试题7
摘要:1、面试题 如何基于dubbo进行服务治理、服务降级、失败重试以及超时重试? 2、面试官心里分析 服务治理,这个问题如果问你,其实就是看看你有没有服务治理的思想,因为这个是做过复杂微服务的人肯定会遇到的一个问题。 服务降级,这个是涉及到复杂分布式系统中必备的一个话题,因为分布式系统互相来回调用,任何 阅读全文
posted @ 2018-08-03 11:16 伪全栈的java工程师 阅读(2493) 评论(0) 推荐(0) 编辑
分布式系统的面试题6
摘要:1、面试题 dubbo的spi思想是什么? 2、面试官心里分析 继续深入问呗,前面一些基础性的东西问完了,确定你应该都ok了解dubbo的一些基本东西,那么问个稍微难一点点的问题,就是spi,先问问你spi是啥?然后问问你dubbo的spi是怎么实现的? 其实就是看看你对dubbo的掌握如何 3、面 阅读全文
posted @ 2018-08-03 11:15 伪全栈的java工程师 阅读(1603) 评论(0) 推荐(0) 编辑
分布式系统的面试题5
摘要:1、面试题 dubbo负载均衡策略和集群容错策略都有哪些?动态代理策略呢? 2、面试官心里分析 继续深问吧,这些都是用dubbo必须知道的一些东西,你得知道基本原理,知道序列化是什么协议,还得知道具体用dubbo的时候,如何负载均衡,如何高可用,如何动态代理。 说白了,就是看你对dubbo熟悉不熟悉 阅读全文
posted @ 2018-08-03 11:13 伪全栈的java工程师 阅读(1514) 评论(0) 推荐(0) 编辑
分布式系统的面试题4
摘要:1、面试题 dubbo支持哪些通信协议?支持哪些序列化协议? 2、面试官心里分析 上一个问题,说说dubbo的基本工作原理,那是你必须知道的,至少知道dubbo分成哪些层,然后平时怎么发起rpc请求的,注册、发现、调用,这些是基本的。 接着就可以针对底层进行深入的问问了,比如第一步就可以先问问序列化 阅读全文
posted @ 2018-08-03 11:10 伪全栈的java工程师 阅读(1305) 评论(0) 推荐(0) 编辑
分布式系统的面试题3
摘要:1、面试题 说一下的dubbo的工作原理?注册中心挂了可以继续通信吗?说说一次rpc请求的流程? 2、面试官心里分析 MQ、ES、Redis、Dubbo,上来先问你一些思考的问题,原理(kafka高可用架构原理、es分布式架构原理、redis线程模型原理、Dubbo工作原理),生产环境里可能会碰到的 阅读全文
posted @ 2018-08-03 11:09 伪全栈的java工程师 阅读(2539) 评论(0) 推荐(0) 编辑
分布式系统的面试题2
摘要:1、面试题 为什么要进行系统拆分?如何进行系统拆分?拆分后不用dubbo可以吗? 2、面试官心里分析 从这个问题开始就进行分布式系统环节了,好多同学给我反馈说,现在出去分布式成标配了,没有哪个公司不问问你分布式的事儿。你要是不会分布式的东西,简直这简历没法看,没人会让你去面试。 其实为啥会这样呢?这 阅读全文
posted @ 2018-08-03 11:08 伪全栈的java工程师 阅读(1440) 评论(0) 推荐(0) 编辑
分布式系统的面试题1
摘要:我之前有一些同学,之前呢主要是做传统行业,外包项目,互联网公司,一直是那种小的公司,技术一直都搞的比较简单。共同的一个问题,就是都没怎么搞过分布式系统,现在互联网公司,一般都是做分布式的系统,大家都不是做底层的分布式系统,分布式存储系统,hadoop hdfs,分布式计算系统,hadoop mapr 阅读全文
posted @ 2018-08-03 11:04 伪全栈的java工程师 阅读(2581) 评论(0) 推荐(0) 编辑
分布式缓存的面试题10
摘要:1、面试题 redis的并发竞争问题是什么?如何解决这个问题?了解Redis事务的CAS方案吗? 2、面试官心里分析 这个也是线上非常常见的一个问题,就是多客户端同时并发写一个key,可能本来应该先到的数据后到了,导致数据版本错了。或者是多客户端同时获取一个key,修改值之后再写回去,只要顺序错了, 阅读全文
posted @ 2018-08-03 11:00 伪全栈的java工程师 阅读(741) 评论(0) 推荐(0) 编辑
分布式缓存的面试题11
摘要:1、面试题 生产环境中的redis是怎么部署的? 2、面试官心里分析 看看你了解不了解你们公司的redis生产集群的部署架构,如果你不了解,那么确实你就很失职了,你的redis是主从架构?集群架构?用了哪种集群方案?有没有做高可用保证?有没有开启持久化机制确保可以进行数据恢复?线上redis给几个G 阅读全文
posted @ 2018-08-03 11:00 伪全栈的java工程师 阅读(704) 评论(0) 推荐(0) 编辑
分布式缓存的面试题9
摘要:1、面试题 如何保证缓存与数据库的双写一致性? 2、面试官心里分析 你只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题? 3、面试题剖析 一般来说,就是如果你的系统不是严格要求缓存+数据库必须一致性的话,缓存可以稍微的跟数据库偶尔有 阅读全文
posted @ 2018-08-03 10:56 伪全栈的java工程师 阅读(1886) 评论(2) 推荐(1) 编辑
分布式缓存的面试题8
摘要:1、面试题 了解什么是redis的雪崩和穿透?redis崩溃之后会怎么样?系统该如何应对这种情况?如何处理redis的穿透? 2、面试官心里分析 其实这是问到缓存必问的,因为缓存雪崩和穿透,那是缓存最大的两个问题,要么不出现,一旦出现就是致命性的问题。所以面试官一定会问你。 3、面试题剖析 缓存雪崩 阅读全文
posted @ 2018-08-03 10:15 伪全栈的java工程师 阅读(1353) 评论(0) 推荐(0) 编辑
分布式缓存的面试题7
摘要:1、面试题 redis集群模式的工作原理能说一下么?在集群模式下,redis的key是如何寻址的?分布式寻址都有哪些算法?了解一致性hash算法吗? 2、面试官心里分析 在以前,如果前几年的时候,一般来说,redis如果要搞几个节点,每个节点存储一部分的数据,得借助一些中间件来实现,比如说有codi 阅读全文
posted @ 2018-08-03 10:12 伪全栈的java工程师 阅读(9406) 评论(0) 推荐(0) 编辑
分布式缓存的面试题6
摘要:1、面试题 redis的持久化有哪几种方式?不同的持久化机制都有什么优缺点?持久化机制具体底层是如何实现的? 2、面试官心里分析 redis如果仅仅只是将数据缓存在内存里面,如果redis宕机了,再重启,内存里的数据就全部都弄丢了啊。。。。。。你必须得用redis的持久化机制,将数据写入内存的同时, 阅读全文
posted @ 2018-08-03 10:00 伪全栈的java工程师 阅读(1618) 评论(0) 推荐(0) 编辑
分布式缓存的面试题5
摘要:1、面试题 如何保证Redis的高并发和高可用?redis的主从复制原理能介绍一下么?redis的哨兵原理能介绍一下么? 2、面试官心里分析 其实问这个问题,主要是考考你,redis单机能承载多高并发?如果单机扛不住如何扩容抗更多的并发?redis会不会挂?既然redis会挂那怎么保证redis是高 阅读全文
posted @ 2018-08-03 09:24 伪全栈的java工程师 阅读(3648) 评论(0) 推荐(1) 编辑
分布式缓存的面试题4
摘要:1、面试题 redis的过期策略都有哪些?内存淘汰机制都有哪些?手写一下LRU代码实现? 2、面试官心里分析 1)老师啊,我往redis里写的数据怎么没了? 之前有同学问过我,说我们生产环境的redis怎么经常会丢掉一些数据?写进去了,过一会儿可能就没了。我的天,同学,你问这个问题就说明redis你 阅读全文
posted @ 2018-08-03 09:22 伪全栈的java工程师 阅读(1745) 评论(0) 推荐(0) 编辑
分布式缓存的面试题3
摘要:1、面试题 redis都有哪些数据类型?分别在哪些场景下使用比较合适? 2、面试官心里分析 除非是我感觉看你简历,就是工作3年以内的比较初级的一个同学,可能对技术没有很深入的研究过,我才会问这类问题,在宝贵的面试时间里,我实在是不想多问 其实问这个问题呢。。。主要就俩原因 第一,看看你到底有没有全面 阅读全文
posted @ 2018-08-03 09:20 伪全栈的java工程师 阅读(1374) 评论(0) 推荐(0) 编辑
分布式缓存的面试题2
摘要:1、面试题 redis和memcached有什么区别?redis的线程模型是什么?为什么单线程的redis比多线程的memcached效率要高得多(为什么redis是单线程的但是还可以支撑高并发)? 2、面试官心里分析 这个是问redis的时候,最基本的问题吧,redis最基本的一个内部原理和特点, 阅读全文
posted @ 2018-08-03 09:18 伪全栈的java工程师 阅读(1724) 评论(0) 推荐(1) 编辑
分布式缓存的面试题1
摘要:1、面试题 在项目中缓存是如何使用的?缓存如果使用不当会造成什么后果? 2、面试官心里分析 这个问题,互联网公司必问,要是一个人连缓存都不太清楚,那确实比较尴尬 只要问到缓存,上来第一个问题,肯定能是先问问你项目哪里用了缓存?为啥要用?不用行不行?如果用了以后可能会有什么不良的后果? 这就是看看你对 阅读全文
posted @ 2018-08-03 09:11 伪全栈的java工程师 阅读(2218) 评论(0) 推荐(0) 编辑
分布式搜索的面试题4
摘要:1、面试题 es生产集群的部署架构是什么?每个索引的数据量大概有多少?每个索引大概有多少个分片? 2、面试官心里分析 这个问题,包括后面的redis什么的,谈到es、redis、mysql分库分表等等技术,面试必问!就是你生产环境咋部署的?说白了,这个问题没啥技术含量,就是看你有没有在真正的生产环境 阅读全文
posted @ 2018-08-03 09:06 伪全栈的java工程师 阅读(1490) 评论(0) 推荐(0) 编辑
分布式搜索的面试题3
摘要:1、面试题 es在数据量很大的情况下(数十亿级别)如何提高查询效率啊? 2、面试官心里分析 问这个问题,是肯定的,说白了,就是看你有没有实际干过es,因为啥?es说白了其实性能并没有你想象中那么好的。很多时候数据量大了,特别是有几亿条数据的时候,可能你会懵逼的发现,跑个搜索怎么一下5秒~10秒,坑爹 阅读全文
posted @ 2018-08-03 09:05 伪全栈的java工程师 阅读(2171) 评论(0) 推荐(0) 编辑
分布式搜索的面试题2
摘要:1、面试题 es写入数据的工作原理是什么啊?es查询数据的工作原理是什么啊? 2、面试官心理分析 问这个,其实面试官就是要看看你了解不了解es的一些基本原理,因为用es无非就是写入数据,搜索数据。你要是不明白你发起一个写入和搜索请求的时候,es在干什么,那你真的就是。。。。 对es基本就是个黑盒,你 阅读全文
posted @ 2018-08-03 09:03 伪全栈的java工程师 阅读(2507) 评论(0) 推荐(0) 编辑
分布式搜索的面试题1
摘要:1、面试题 es的分布式架构原理能说一下么(es是如何实现分布式的啊)? 2、面试官心里分析 在搜索这块,lucene是最流行的搜索库。几年前业内一般都问,你了解lucene吗?你知道倒排索引的原理吗?现在早已经out了,因为现在很多项目都是直接用基于lucene的分布式搜索引擎——elastics 阅读全文
posted @ 2018-08-01 21:17 伪全栈的java工程师 阅读(3366) 评论(0) 推荐(0) 编辑
消息队列的面试题7
摘要:1、面试题 如果让你写一个消息队列,该如何进行架构设计啊?说一下你的思路 2、面试官心里分析 其实聊到这个问题,一般面试官要考察两块: (1)你有没有对某一个消息队列做过较为深入的原理的了解,或者从整体了解把握住一个mq的架构原理 (2)看看你的设计能力,给你一个常见的系统,就是消息队列系统,看看你 阅读全文
posted @ 2018-08-01 21:06 伪全栈的java工程师 阅读(3591) 评论(1) 推荐(0) 编辑
消息队列的面试题6
摘要:1、面试题 如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决? 2、面试官心里分析 你看这问法,其实本质针对的场景,都是说,可能你的消费端出了问题,不消费了,或者消费的极其极其慢。接着就坑爹了,可能你的消息队列集群的磁盘都快写满了,都没人消 阅读全文
posted @ 2018-08-01 21:01 伪全栈的java工程师 阅读(2363) 评论(0) 推荐(1) 编辑
消息队列的面试题5
摘要:1、面试题 如何保证消息的顺序性? 2、面试官心里分析 其实这个也是用MQ的时候必问的话题,第一看看你了解不了解顺序这个事儿?第二看看你有没有办法保证消息是有顺序的?这个生产系统中常见的问题。 3、面试题剖析 我举个例子,我们以前做过一个mysql binlog同步的系统,压力还是非常大的,日同步数 阅读全文
posted @ 2018-08-01 20:59 伪全栈的java工程师 阅读(7234) 评论(0) 推荐(2) 编辑
消息队列的面试题4
摘要:1、面试题 如何保证消息的可靠性传输(如何处理消息丢失的问题)? 2、面试官心里分析 这个是肯定的,用mq有个基本原则,就是数据不能多一条,也不能少一条,不能多,就是刚才说的重复消费和幂等性问题。不能少,就是说这数据别搞丢了。那这个问题你必须得考虑一下。 如果说你这个是用mq来传递非常核心的消息,比 阅读全文
posted @ 2018-08-01 20:41 伪全栈的java工程师 阅读(23864) 评论(1) 推荐(1) 编辑
消息队列的面试题3
摘要:1、面试题 如何保证消息不被重复消费啊(如何保证消息消费时的幂等性)? 2、面试官心里分析 其实这个很常见的一个问题,这俩问题基本可以连起来问。既然是消费消息,那肯定要考虑考虑会不会重复消费?能不能避免重复消费?或者重复消费了也别造成系统异常可以吗?这个是MQ领域的基本问题,其实本质上还是问你使用消 阅读全文
posted @ 2018-08-01 20:39 伪全栈的java工程师 阅读(3587) 评论(1) 推荐(1) 编辑