Java进阶面试
原文地址: https://github.com/shishan100/Java-Interview-Advanced
目录
分布式消息队列
- 为什么使用消息队列?消息队列有什么优点和缺点?Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么优点和缺点?
- 如何保证消息队列的高可用?
- 如何保证消息不被重复消费?(如何保证消息消费的幂等性)
- 如何保证消息的可靠性传输?(如何处理消息丢失的问题)
- 如何保证消息的顺序性?
- 如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决?
- 如果让你写一个消息队列,该如何进行架构设计啊?说一下你的思路。
搜索引擎
- lucene 和 es 的前世今生
- es 的分布式架构原理能说一下么(es 是如何实现分布式的啊)?
- es 写入数据的工作原理是什么啊?es 查询数据的工作原理是什么啊?底层的 lucene 介绍一下呗?倒排索引了解吗?
- es 在数据量很大的情况下(数十亿级别)如何提高查询效率啊?
- es 生产集群的部署架构是什么?每个索引的数据量大概有多少?每个索引大概有多少个分片?
分布式缓存
- 在项目中缓存是如何使用的?缓存如果使用不当会造成什么后果?
- Redis 和 Memcached 有什么区别?Redis 的线程模型是什么?为什么单线程的 Redis 比多线程的 Memcached 效率要高得多?
- Redis 都有哪些数据类型?分别在哪些场景下使用比较合适?
- Redis 的过期策略都有哪些?手写一下 LRU 代码实现?
- 如何保证 Redis 高并发、高可用?Redis 的主从复制原理能介绍一下么?Redis 的哨兵原理能介绍一下么?
- Redis 的持久化有哪几种方式?不同的持久化机制都有什么优缺点?持久化机制具体底层是如何实现的?
- Redis 集群模式的工作原理能说一下么?在集群模式下,Redis 的 key 是如何寻址的?分布式寻址都有哪些算法?了解一致性 hash 算法吗?如何动态增加和删除一个节点?
- 了解什么是 redis 的雪崩、穿透和击穿?Redis 崩溃之后会怎么样?系统该如何应对这种情况?如何处理 Redis 的穿透?
- 如何保证缓存与数据库的双写一致性?
- Redis 的并发竞争问题是什么?如何解决这个问题?了解 Redis 事务的 CAS 方案吗?
- 生产环境中的 Redis 是怎么部署的?
分库分表
- 为什么要分库分表(设计高并发系统的时候,数据库层面该如何设计)?用过哪些分库分表中间件?不同的分库分表中间件都有什么优点和缺点?你们具体是如何对数据库如何进行垂直拆分或水平拆分的?
- 现在有一个未分库分表的系统,未来要分库分表,如何设计才可以让系统从未分库分表动态切换到分库分表上?
- 如何设计可以动态扩容缩容的分库分表方案?
- 分库分表之后,id 主键如何处理?
- 如何实现 MySQL 的读写分离?MySQL 主从复制原理是啥?如何解决 MySQL 主从同步的延时问题?
分布式服务框架Dubbo
- 面试连环炮
- 如何设计一个高并发系统?
- 说一下 Dubbo 的工作原理?注册中心挂了可以继续通信吗?
- Dubbo 支持哪些序列化协议?说一下 Hessian 的数据结构?PB 知道吗?为什么 PB 的效率是最高的?
- Dubbo 负载均衡策略和集群容错策略都有哪些?动态代理策略呢?
- Dubbo 的 spi 思想是什么?
- 如何基于 Dubbo 进行服务治理、服务降级、失败重试以及超时重试?
- 分布式服务接口的幂等性如何设计(比如不能重复扣款)?
- 分布式服务接口请求的顺序性如何保证?
- 如何自己设计一个类似 Dubbo 的 RPC 框架?手写rpc代码下载!
- 为什么要进行系统拆分?如何进行系统拆分?拆分后不用 Dubbo 可以吗?
分布式锁
分布式事务
分布式会话
分布式限流降级
- Hystrix 介绍
- 电商网站详情页系统架构
- Hystrix 线程池技术实现资源隔离
- Hystrix 信号量机制实现资源隔离
- Hystrix 隔离策略细粒度控制
- 深入 Hystrix 执行时内部原理
- 基于 request cache 请求缓存技术优化批量商品数据查询接口
- 基于本地缓存的 fallback 降级机制
- 深入 Hystrix 断路器执行原理
- 深入 Hystrix 线程池隔离与接口限流
- 基于 timeout 机制为服务接口调用超时提供安全保护
互联网Java进阶面试训练营
第一季-分布式
- 01、互联网大厂面试要求:技术广度、技术深度、系统设计以及项目经验
- 02、Java工程师面试突击第一季总结:你离一次成功的面试还差多少?
- 03、《21天互联网Java进阶面试训练营》的课程说明
- 04、作业:系统分析一下,自己距离大厂offer差在哪里?
- 05、感受一下BAT面试官对分布式技术的十几个面试连环炮!
- 06、你们公司用的Dubbo?那你再额外说说Spring Cloud的核心架构原理?
- 07、基于Dubbo和Spring Cloud分别搭建一个电商系统来快速体验一下!代码下载点击这里哦!
- 08、作业:你们的系统使用了哪种服务框架?为什么要这样技术选型?
- 09、看过Dubbo源码吗?说说Dubbo的底层架构原理?
- 10、咱们来聊点深入的,说说Dubbo底层的网络通信机制原理!
- 11、Dubbo框架从架构设计角度,是怎么保证极高的可扩展性的?
- 12、作业:自己独立画出Dubbo的底层架构原理图
- 13、如果让你设计一个RPC框架,网络通信、代理机制、负载均衡等该如何设
- 14、平时除了使用外,有研究过Spring Cloud的底层架构原理么?
- 15、从底层实现原理的角度,对比一下Dubbo和Spring Cloud的优劣!
- 16、作业:自己独立画出Spring Cloud的架构原理图,RPC框架架构设计图!
- 17、面试官:你们的服务注册中心进行过选型调研吗?对比一下各种服务注册中心!
- 18、画图阐述一下你们的服务注册中心部署架构,生产环境下怎么保证高可用?
- 19、你们系统遇到过服务发现过慢的问题吗?怎么优化和解决的?
- 20、作业:说一下自己公司的服务注册中心怎么技术选型的?生产环境中应该怎么优化?
- 21、你们对网关的技术选型是怎么考虑的?能对比一下各种网关技术的优劣吗?
- 22、说说生产环境下,你们是怎么实现网关对服务的动态路由的?代码下载点击这里哦!
- 23、如果网关需要抗每秒10万的高并发访问,你应该怎么对网关进行生产优化?
- 24、作业:你们公司的网关是怎么技术选型的,假设有高并发场景怎么优化?
- 25、如果需要部署上万服务实例,现有的服务注册中心能否抗住?如何优化?
- 26、你们是如何基于网关实现灰度发布的?说说你们的灰度发布方案?代码下载点击这里哦!
- 27、说说你们一个服务从开发到上线,服务注册、网关路由、服务调用的流程?
- 28、作业:看看你们公司的服务注册中心能否支撑上万服务实例的大规模场景?
- 29、画一下你们系统的整体架构图,说说各个服务在生产环境怎么部署的?
- 30、你们系统每天有多大访问量?每个服务高峰QPS多少?压测过服务最大QPS吗?
- 31、如果系统访问量比现在增加10倍,你们考虑过系统的扩容方案吗?
- 32、作业:独立画出自己系统的生产部署架构图,梳理系统和服务的QPS以及扩容方案
- 33、你们生产环境的服务是怎么配置超时和重试参数的?为什么要这样配置?代码下载点击这里哦!
- 34、如果出现服务请求重试,会不会出现类似重复下单的问题?
- 35、对于核心接口的防重幂等性,你们是怎么设计的?怎么防止重复下单问题?
- 36、作业:看看自己系统的核心接口有没有设计幂等性方案?如果没有,应该怎么设计?
- 37、画一下你们电商系统的核心交易链路图,说说分布式架构下存在什么问题?
- 38、针对电商核心交易链路,你们是怎么设计分布式事务技术方案的?
- 39、对于TCC事务、最终一致性事务的技术选型,你们是怎么做的?如何调研的?
- 40、作业:你们公司的核心链路是否有事务问题?分布式事务方案怎么调研选型?
- 41、在搭建好的电商系统里,落地开发对交易链路的TCC分布式事务方案
- 42、你能说说一个TCC分布式事务框架的核心架构原理吗?
- 43、现有的TCC事务方案的性能瓶颈在哪里?能支撑高并发交易场景吗?如何优化?
- 44、作业:如果对自己的系统核心链路落地TCC事务,应该如何落地实现?
- 45、你了解RocketMQ对分布式事务支持的底层实现原理吗?
- 46、在搭建好的电商系统里,如何基于RocketMQ最终一致性事务进行落地开发?
- 47、如果公司没有RocketMQ中间件,那你们如何实现最终一致性事务?
- 48、作业:如果对自己的系统落地最终一致性事务,如何落地实现?
- 49、你们生产系统中有哪个业务场景是需要用分布式锁的?为什么呢?
- 50、你们是用哪个开源框架实现的Redis分布式锁?能说说其核心原理么?
- 51、如果Redis是集群部署的,那么集群故障时分布式锁还有效么?
- 52、作业:自己梳理出来Redis分布式锁的生产问题解决方案
- 53、如果要实现ZooKeeper分布式锁,一般用哪个开源框架?核心原理是什么?
- 54、对于ZooKeeper的羊群效应,分布式锁实现应该如何优化?
- 55、如果遇到ZooKeeper脑裂问题,分布式锁应该如何保证健壮性?
- 56、作业:自己梳理出来ZooKeeper分布式锁的生产问题解决方案
- 57、在搭建好的电商系统中,落地开发分布式锁保证库存数据准确的方案
- 58、你们的分布式锁做过高并发优化吗?能抗下每秒上万并发吗?
- 59、淘宝和京东的库存是怎么实现的?能不能不用分布式锁实现高并发库存更新?
- 60、作业:自己系统的分布式锁在高并发场景下应该如何优化?
- 61、互联网Java工程师面试突击前两季总结以及下一季的规划展望