
面试
jsbintask22
blog: https://jsbintask.cn
简书:https://www.jianshu.com/u/bb01ed26c070
github: https://github.com/
微信公众号:jsbintask
展开
-
消息中间件面试题:消息队列的优缺点,区别
题目为什么使用消息队列?消息队列有什么优点和缺点?Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景?面试题剖析为什么使用消息队列先说一下消息队列常见的使用场景吧,其实场景有很多,但是比较核心的有 3 个:解耦、异步、削峰。解耦看这么个场景。A 系统发送数据到 BCD 三个系统,通过接口调用发送。如果 E 系统也要这个数据呢?那如...原创 2019-01-28 11:18:23 · 5078 阅读 · 2 评论 -
分布式系统面试题:分布式事务解决方案?
面试题分布式事务了解吗?你们是如何解决分布式事务问题的?面试题剖析一般来说,分布式事务的实现主要有以下 5 种方案:XA 方案TCC 方案本地消息表可靠消息最终一致性方案最大努力通知方案两阶段提交方案/XA方案所谓的 XA 方案,即:两阶段提交,有一个事务管理器的概念,负责协调多个数据库(资源管理器)的事务,事务管理器先问问各个数据库你准备好了吗?如果每个数据库都回复 ok...转载 2019-03-25 21:37:04 · 1091 阅读 · 0 评论 -
redis面试必问(下)
接上一章redis面试必问(上)7.redis 集群模式的工作原理能说一下么?在集群模式下,redis 的 key 是如何寻址的?分布式寻址都有哪些算法?了解一致性 hash 算法吗?考点分析在前几年,redis 如果要搞几个节点,每个节点存储一部分的数据,得借助一些中间件来实现,比如说有 codis,或者 twemproxy,都有。有一些 redis 中间件,你读写 redis 中间...原创 2019-02-18 15:08:22 · 640 阅读 · 0 评论 -
redis面试必问(上)
1.项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果?面试题剖析为什么要用缓存?用缓存,主要有两个用途:高性能、高并发。高性能假设这么个场景,你有个操作,一个请求过来,吭哧吭哧你各种乱七八糟操作 mysql,半天查出来一个结果,耗时 600ms。但是这个结果可能接下来几个小时都不会变了,或者变了也可以不用立即反馈给用户。那么此时咋办?缓存啊,折腾 600ms 查出来...原创 2019-02-18 14:48:57 · 1740 阅读 · 2 评论 -
java高级工程师面试题:如何设计一个高并发系统?
面试题如何设计一个高并发系统?考点分析说实话,如果面试官问你这个题目,那么你必须要使出全身吃奶劲了。为啥?因为你没看到现在很多公司招聘的 JD 里都是说啥,有高并发就经验者优先。如果你确实有真才实学,在互联网公司里干过高并发系统,那你确实拿 offer 基本如探囊取物,没啥问题。面试官也绝对不会这样来问你,否则他就是蠢。假设你在某知名电商公司干过高并发系统,用户上亿,一天流量几十亿,高峰...原创 2019-02-17 19:52:46 · 1255 阅读 · 0 评论 -
高并发下数据库分库分表面试题整理
面试题1为什么要分库分表(设计高并发系统的时候,数据库层面该如何设计)?用过哪些分库分表中间件?不同的分库分表中间件都有什么优点和缺点?你们具体是如何对数据库如何进行垂直拆分或水平拆分的?面试题剖析为什么要分库分表?(设计高并发系统的时候,数据库层面该如何设计?)说白了,分库分表是两回事儿,大家可别搞混了,可能是光分库不分表,也可能是光分表不分库,都有可能。我先给大家抛出来一个场景。...原创 2019-02-17 19:43:48 · 8028 阅读 · 2 评论 -
mysql面试题:如何实现 MySQL 的读写分离?MySQL 主从复制原理是啥?如何解决 MySQL 主从同步的延时问题?
面试题你有没有做 MySQL 读写分离?如何实现 MySQL 的读写分离?MySQL 主从复制原理的是啥?如何解决 MySQL 主从同步的延时问题?考点分析高并发这个阶段,肯定是需要做读写分离的,啥意思?因为实际上大部分的互联网公司,一些网站,或者是 app,其实都是读多写少。所以针对这个情况,就是写一个主库,但是主库挂多个从库,然后从多个从库来读,那不就可以支撑更高的读并发压力了吗?面试...原创 2019-02-17 19:03:23 · 3874 阅读 · 0 评论 -
消息中间件面试题:如果让你写一个消息队列,该如何进行架构设计?
面试题如果让你写一个消息队列,该如何进行架构设计?说一下你的思路。面试题剖析其实聊到这个问题,一般面试官要考察两块:你有没有对某一个消息队列做过较为深入的原理的了解,或者从整体了解把握住一个消息队列的架构原理。看看你的设计能力,给你一个常见的系统,就是消息队列系统,看看你能不能从全局把握一下整体架构设计,给出一些关键点出来。说实话,问类似问题的时候,大部分人基本都会蒙,因为平时从来...原创 2019-01-28 14:17:44 · 3389 阅读 · 0 评论 -
消息中间件面试题:如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时呢?
面试题如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决?面试题剖析你看这问法,其实本质针对的场景,都是说,可能你的消费端出了问题,不消费了;或者消费的速度极其慢。接着就坑爹了,可能你的消息队列集群的磁盘都快写满了,都没人消费,这个时候怎么办?或者是这整个就积压了几个小时,你这个时候怎么办?或者是你积压的时间太长了,导致比如 Rab...原创 2019-01-28 14:06:42 · 2968 阅读 · 0 评论 -
消息中间件面试题:如何保证消息不被重复消费
面试题如何保证消息不被重复消费?或者说,如何保证消息消费的幂等性?面试题剖析回答这个问题,首先你别听到重复消息这个事儿,就一无所知吧,你先大概说一说可能会有哪些重复消费的问题。首先,比如 RabbitMQ、RocketMQ、Kafka,都有可能会出现消息重复消费的问题,正常。因为这问题通常不是 MQ 自己保证的,是由我们开发来保证的。挑一个 Kafka 来举个例子,说说怎么重复消费吧。K...原创 2019-01-28 11:52:35 · 19229 阅读 · 2 评论 -
消息中间件面试题:如何保证消息的顺序性
面试题如何保证消息的顺序性?面试题剖析我举个例子,我们以前做过一个 mysql binlog 同步的系统,压力还是非常大的,日同步数据要达到上亿,就是说数据从一个 mysql 库原封不动地同步到另一个 mysql 库里面去(mysql -> mysql)。常见的一点在于说比如大数据 team,就需要同步一个 mysql 库过来,对公司的业务系统的数据做各种复杂的操作。你在 mysql...原创 2019-01-28 11:46:46 · 4596 阅读 · 1 评论 -
消息中间件面试题:消息丢失怎么办?
面试题如何保证消息的可靠性传输?或者说,如何处理消息丢失的问题?如果说你这个是用 MQ 来传递非常核心的消息,比如说计费、扣费的一些消息,那必须确保这个 MQ 传递过程中绝对不会把计费消息给弄丢。面试题剖析数据的丢失问题,可能出现在生产者、MQ、消费者中,咱们从 RabbitMQ 和 Kafka 分别来分析一下吧。RabbitMQ生产者弄丢了数据生产者将数据发送到 RabbitMQ...原创 2019-01-28 11:41:21 · 10934 阅读 · 3 评论 -
消息中间件面试题:消息中间件的高可用
接着上一篇面试题的扩展。面试题如何保证消息队列的高可用?RabbitMQ 的高可用性RabbitMQ 是比较有代表性的,因为是基于主从(非分布式)做高可用性的,我们就以 RabbitMQ 为例子讲解第一种 MQ 的高可用性怎么实现。RabbitMQ 有三种模式:单机模式、普通集群模式、镜像集群模式。单机模式单机模式,就是 Demo 级别的,一般就是你本地启动了玩玩儿的原创 2019-01-28 11:32:35 · 3209 阅读 · 1 评论 -
HashSet源码解析从一道面试题说起:HashSet内部是怎么实现的?
本文原创地址,我的博客:https://jsbintask.cn/2019/03/27/jdk/jdk8-hashset/(食用效果最佳),转载请注明出处!前言前段时间朋友面试遇到这个问题:谈一谈HashSet的特点,它是怎么实现的,使用时有什么需要注意的点呢?恰好最近在写这方面的文章,于是正好通过本篇文章讲解下HashSet的源码实现,需要注意的点。HashSet实现了Set接口,是一...原创 2019-03-27 15:49:04 · 383 阅读 · 0 评论