高并发架构
消息队列
-
为什么使用消息队列?
-
消息队列有什么优点和缺点?
-
Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么优点和缺点?
-
如何保证消息队列的高可用?
-
如何保证消息不被重复消费?(如何保证消息消费时的幂等性)
-
如何保证消息的可靠性传输?(如何处理消息丢失的问题)
-
如何保证消息的顺序性?
-
如何解决消息队列的延时以及过期失效问题?
-
消息队列满了以后该怎么处理?
-
有几百万消息持续积压几小时,说说怎么解决?
-
如果让你写一个消息队列,该如何进行架构设计啊?说一下你的思路。
搜索引擎
-
es 的分布式架构原理能说一下么(es 是如何实现分布式的啊)?
-
es 写入数据的工作原理是什么啊?
-
es 查询数据的工作原理是什么啊?
-
倒排索引了解吗?
-
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 主从同步的延时问题?
高并发系统
-
如何设计一个高并发系统?
分布式系统
系统拆分
-
为什么要进行系统拆分?如何进行系统拆分?
分布式服务框架
-
分布式服务接口的幂等性如何设计(比如不能重复扣款)?
-
分布式服务接口请求的顺序性如何保证?
分布式锁
-
Zookeeper 都有哪些应用场景?
-
使用 Redis 如何设计分布式锁?使用 Zookeeper 来设计分布式锁可以吗?以上两种分布式锁的实现方式哪种效率比较高?
分布式事务
-
你们如何解决分布式事务问题的?
-
TCC 如果出现网络连不通怎么办?
-
XA 的一致性如何保证?
限流
-
如何限流?在工作中是怎么做的?说一下具体的实现?
熔断
-
如何进行熔断?
-
熔断框架都有哪些?具体实现原理知道吗?
降级
-
如何进行降级?
threadlocal的原理,为什么会内存泄漏,线程销毁会清空threadlocal吗?
线程池里核心线程执行完任务后threadlocal会不会销毁,单个线程执行完任务threadlocal会不会销毁
当Thread销毁的时候,ThreadLocalMap也会随之销毁,减少内存使用,早期的ThreadLocal并不会自动销毁。
实现自定义注解步骤
缓存一致性问题,数据更新成功、缓存更新失败怎么
https://blog.youkuaiyun.com/bocai_xiaodaidai/article/details/124010396
(1)遍历二叉树然后按倒序加入一个列表:https://blog.youkuaiyun.com/weixin_45295612/article/details/109177252
(2)spring的线程池和juc的线程池有啥区别,选择使用
(4)redis数据结构、zset的底层原理、跳表
https://blog.youkuaiyun.com/TABE_/article/details/122524100
(8)aqs理解,aqs下面的工具类
(9)cas原理
(10)多线程满足什么特性:原子性、可见性、有序性
乐信一面:
自我介绍吧,简单说一下你的项目?
TCP三次握手四次挥手画一下图拥塞控制滑动窗口的概念
TCP最大连接数,耗尽了怎么办
进程线程区别切换速度哪个快为什么进程间通信怎么避免死锁,银行家算法
inux top命令各字段含义SY US负载,统计关键字awk ,查看日志文件tail less more区别,内存占用
se buffer/cache的含义
用过docker ? dockerfile写过吗,常用命令,说下分层原理
Redis基本数据结构跳表实现原理过期处理, Redis单线程优势,影响吞吐因素,支持事务吗
Redis会遇到哪些问题缓存一 致性穿透雪崩,解决方案
BloomFilter知道吗?说下原理,怎么提高准确性
算法题:给定一个链表,返回链表开始入环的第一 个节点( Leetcode142 )
乐信二面
Boss上的邀请人,应该是组长
自我介绍
讲项目
注册中心了解吗? Zookeepen满足CAP哪两个,选举原理,与Euruka区别
Java内存模型,怎么保证原子性CAS机制volatile ABA问题版本号怎么实现
JVM内存分布, -Xms -Xmx -Xmn -Xss含义,怎么确定最大线程数
锁Synchronized和ReentrantL ock实现原理
乐信三面:
Synchronized能否锁静态方法锁的升降级
偏业务
福利待遇特点:还可以
base地: 深圳
整个流程
1 自我介绍
2 问答环节
3 提问环节
项目
1 项目的架构大概什么样子
2 所处自己负责的业务模块,其中用到哪些技术点
3 支付时支付异常是怎么处理
4 跟外部系统怎么对账,然后怎么保证没有对账错误
5 你觉得项目中的比较难的点大概是什么样
JVM
1 深拷贝和浅拷贝?
2 描述一下 JVM 加载 Class 文件的原理机制?
3 类加载器双亲委派模型机制?
4 为啥会出现内存泄露
reids
1 使用Redis的过程当中有没有遇到什么问题
2 说说Redis的淘汰策略?淘汰的算法能够修改或者自己重写吗?
3 Redis的内存回收机制有哪些?
4 若是你原来读取的Redis中的数据,它的数据的结构发生了变化,如何在 不改变代码的状况下进行处理,使下游业务不受影响?
多线程
1 什么是 Future?
2 什么是 AQS
3 什么是线程调度器
ThreadScheduler
和时间分片
TimeSlicing
实际场景
1 比如我需要控制单日放款额度和放款总额度,应该怎么去控制
时间75 分钟左右
总结:主要是看重有没有实际处理过高并发的经验