当前位置: 首页 > news >正文

高并发系统设计面试题

高并发系统设计面试题

🔥🔥🔥 超高频问题(几乎必问)

  1. 让你设计一个秒杀系统,你会考虑哪些问题?
  2. 如果你的业务量突然提升100倍QPS你会怎么做?
  3. 库存扣减如何避免超卖和少卖?
  4. 订单到期关闭如何实现
  5. 让你设计一个订单号生成服务,该怎么做?
  6. 如何设计一个购物车功能?
  7. 你是如何进行SQL调优的?
  8. Redis如果挂了,你怎么办?
  9. 如何解决消息重复消费、重复下单等问题?
  10. 不用redis分布式锁,如何防止用户重复点击?

🔥🔥 高频问题

  1. 如何用Redis实现朋友圈点赞功能?
  2. Redis的zset实现排行榜,实现分数相同按照时间顺序排序,怎么做?
  3. 如何实现"查找附近的人"功能? 🏷️IoT
  4. 消息队列使用拉模式好还是推模式好?为什么?
  5. 如果让你实现一个RPC框架,会考虑用哪些技术解决哪些问题?
  6. 一个订单,在11:00超时关闭,但在11:00也支付成功了,怎么办?
  7. 一个支付单,多个渠道同时支付成功了怎么办?
  8. 如果让你实现消息队列,会考虑哪些问题?
  9. 不使用synchronized和Lock如何设计一个线程安全的单例?
  10. 索引失效的问题是如何排查的,有哪些种情况?

🔥🔥 高频问题(续)

  1. 说一说多级缓存是如何应用的?
  2. 从B+树的角度分析为什么单表2000万要考虑分表?
  3. 线上接口如果响应很慢如何去排查定位问题呢?
  4. 怎么做数据对账?
  5. MySQL千万级大表如何做数据清理?
  6. 高并发的库存系统,在数据库扣减库存,怎么实现?
  7. MySQL热点数据更新会带来哪些问题?
  8. 和外部机构交互如何防止被外部服务不可用而拖垮
  9. MySQL里有2000W数据,Redis中只存20W的数据,如何保证redis中的数据都是热点数据?
  10. 用了一锁二查三更新,为啥还出现了重复数据?

🔥 中频问题

  1. 每天100w次登录请求,4C8G机器如何做JVM调优?
  2. Kafka,单分区单消费者实例,如何提高吞吐量
  3. 40亿个QQ号,限制1G内存,如何去重?
  4. 如果单表数据量大,只能考虑分库分表吗?
  5. InnoDB为什么不用跳表,Redis为什么不用B+树?
  6. 为什么MySQL用B+树,MongoDB用B树?
  7. 一个接口3000QPS,接口RT为200MS,预估需要几台机器?
  8. 在100M内存下存储一亿个整数,其范围在1到2亿,如何快速判断给定到一个整数数值是否存在?
  9. 数据库逻辑删除后,怎么做唯一性约束?
  10. 电商下单场景,如何设计一个数据一致性方案?

🔥 中频问题(续)

  1. 如何实现缓存的预热?
  2. 如何实现百万级数据从Excel导入到数据库?
  3. 如果需要跨库join,该如何实现?
  4. 应用占用内存持续增长,但是堆内存、元空间都没变化,可能是什么原因?
  5. 和其他公司做数据交互时,有什么需要注意的?
  6. 4C8G的机器,各项系统指标,什么范围算是正常?
  7. 4C8G 16台 和 8C16G8台,不考虑成本的情况怎么选?
  8. 如何预估一个系统的QPS?
  9. 如何做SQL调优:用了主键索引反而查询很慢?
  10. 如果要存IP地址,用什么数据类型比较好? 🏷️IoT

🔥 中频问题(续2)

  1. 一次RPC请求,客户端显示超时,但是服务端不超时,可能是什么原因?
  2. 为什么不建议使用MC实现订单到期关闭?
  3. 如何实现敏感词过滤?
  4. 为啥不要在事务中做外部调用?
  5. 如何做平滑的数据迁移?
  6. 如何实现一个抢红包功能?
  7. 使用分布式锁时,分布式锁加在事务外面还是里面,有什么区别?
  8. 加分布式锁之后影响并发了怎么办?
  9. 数据库乐观锁和悲观锁以及redis分布式锁的区别和使用场景?
  10. 为什么很多公司数据库不允许物理删除(delete) 数据

📱 中低频问题

  1. 为什么不用分布式锁来实现秒杀?
  2. 为什么不直接用原生的BlockingQueue做消息队列
  3. SpringEvent和MQ有什么区别?各自适用场景是什么?
  4. 如何实现百万级排行榜功能?
  5. 为什么一定要做限流?不应该服务好客户吗?不应该是加机器吗?
  6. 大型电商的订单系统,如何设计分库分表方案?
  7. 你认为分布式架构一定比单体架构要好吗?
  8. 代码中使用长事务,会带来哪些问题?
  9. Redis的内存如果用满了,会挂吗?
  10. 给第三方提供接口调用,需要注意些什么?

📱 中低频问题(续)

  1. 应用启动后前几分钟,Load、RT、CPU等很高,如何定位?可能原因是什么?
  2. 分库分表时,每个城市的人口不一样,有的密集,有的稀疏,如何均匀分布?
  3. 项目中,如果日志打印成为瓶颈,该如何优化?
  4. 分布式系统,用户登录信息保存在服务器A上,服务器B如何获取到共享session
  5. 实现一个登录拉黑功能,实现拉黑用户和把已经登录用户踢下线?
  6. 调用第三方接口支付时,第三方接口显示支付成功,但是在调用方显示失败,什么原因?
  7. 读取一千个文件,一个线程读取和开十个线程读取,哪种方式效率高?
  8. a,b 的联合索引,select b where a = xx,无法走索引覆盖什么原因?
  9. 大量的手机号码被标记成骚扰电话,如何存储这些号码? 🏷️IoT
  10. 把商品加入购物车时断网了,该怎么在重新联网时处理?

📱 低频问题

  1. 不用大于号小于号怎么判断两个正整数大小?
  2. 外卖系统,一天一千万条数据,用户需要查到近30天的数据,商家也要查询到30天的数据,怎么设计表?
  3. 进入电梯里断网后又恢复刚开始为什么网络慢? 🏷️IoT
  4. 一个表有用户和时间两个列,现有3个需求:根据用户查;根据日期查;根据用户和日期查;怎么建立索引?
  5. 做一个过滤黑名单网址的系统,你觉得要怎么实现,会用到哪些数据结构?
  6. 全国的酒店价格(千万级)需要在某个瞬间比如7点发生变动,怎样高性能准点进行变更?
  7. 服务器有多个节点,线上出现用户进入缓慢,监控服务器cpu和缓存没有压力,可以从哪些方面排查?
  8. 账户里面只有十块钱,同时发来两笔订单一共大于十块钱,怎么保证不超花?
  9. 项目中需要应用发布和ddl变更,需要如何保证不出错?
  10. 有100个优惠券,有几千万流量,怎么保证服务器不垮掉,怎么保证最前面的人能抢到这个券?

📱 低频问题(续)

  1. 秒杀场景下,怎么加库存?
  2. 5分钟内最多允许用户尝试登录3次,如果错误次数超过限制,需要对该用户进行锁定,怎么实现?
  3. 两个不相关的网站A和B,如何实现A登录B也能自动登录
  4. MQ出现消息乱序了如何解决?
  5. 在for循环中调用数据库,有什么缺点?如何优化?
  6. MySQL单表一千万条数据怎么做分页查询?
  7. MySQL千万级数据量,查询如何做优化?
  8. 什么是数据归档,一般是怎么做的?
  9. 第三方接口不稳定经常超时,如何处理三方接口异常不影响自己的接口?
  10. Redis、MySQL和MongoDB的区别是什么,各自适用场景

📱 低频问题(续2)

  1. Redis实现分布式锁,加锁的时候,redis不可用了咋整?
  2. 如果让你实现短链服务,如何生成不重复的短链地址?
  3. MySQL如果突然断电,会发生数据丢失吗?
  4. 防止接口被恶意刷流量,除了限流还应在代码层面做哪些防护?
  5. 库存扣减、创建订单,如何拆成TCC?
  6. Redis保存库存的时候,如何避免被Redis清理掉?
  7. 如果token被窃取了,是不是就能伪造登录了?
  8. 如果有1TB的数据需要排序,但只有32GB的内存如何排序处理?
  9. 如何从1TB的搜索日志中找出搜索量最高的10个关键词?
  10. 用@Scheduled执行定时任务,如何避免集群的并发问题

📱 低频问题(续3)

  1. 下单支付过程,点击跳转支付,输入密码,支付完成后跳转到订单页,整个过程可能会有什么问题,架构方面做哪些设计
  2. 有一张上百万条数据的单表,从前端页面、Java后台、数据库三个层面做哪些查询优化
  3. 假设还有很多内存,有什么情况还会频繁fullgc?
  4. 压测600没问题,上线后300就扛不住了,可能是什么原因?
  5. Redis和MySQL的一次普通查询,RT在什么范围内是合理的?
  6. 5亿条数据放到布隆过滤器中,大概需要多大内存?如何估算?
  7. 为了避免丢消息问题需要落表,如何设计这张消息表?
  8. 有一个银行系统,对实时性要求比较高,你会怎么选择垃圾回收器
  9. 百万级会员的用户平台,如何实现快到期的会员的消息提醒
  10. A线程获取Redis分布式锁,但那一刻做了主从的切换,B线程能获取到锁吗?

📱 低频问题(续4)

  1. 如果设计一个缓存,需要考虑哪些方面?
  2. 扫表任务,如何写SQL可以避免出现跳页的情况?
  3. 阿里出的Java开发手册看过吗,对哪条规约印象深刻?
  4. 购物车中如何解决重复下单的问题?
  5. 让你实现一个短链服务,你会考虑哪些问题?

🏷️ 物联网相关问题标识说明

🏷️IoT 标记的问题在物联网场景中特别常见:

  • 13. 如何实现"查找附近的人"功能? - 物联网设备定位、地理位置服务
  • 50. 如果要存IP地址,用什么数据类型比较好? - 物联网设备IP管理
  • 79. 大量的手机号码被标记成骚扰电话,如何存储这些号码? - 物联网设备号码管理
  • 83. 进入电梯里断网后又恢复刚开始为什么网络慢? - 物联网设备网络重连机制

热度说明

  • 🔥🔥🔥: 90%以上面试会问到
  • 🔥🔥: 70-90%面试会问到
  • 🔥: 50-70%面试会问到
  • 📱: 30-50%面试会问到
http://www.dtcms.com/a/296637.html

相关文章:

  • 高效互联,ModbusTCP转EtherCAT网关赋能新能源电缆智能制造
  • Apache 消息队列分布式架构与原理
  • 六种经典智能优化算法(PSO/GWO/WOA/HHO/DBO/SSA)无人机(UAV)三维路径规划,Matlab代码实现
  • 【三桥君】大语言模型计算成本高,MoE如何有效降低成本?
  • Java学习---Spring及其衍生(下)
  • Oracle 时间处理函数和操作符笔记
  • 数据库常用DDL语言
  • 洛谷 P1996 约瑟夫问题之题解
  • LLM针对隐藏层的特征增强的相关论文
  • Python生成折线图
  • 7.24 C/C++蓝桥杯 | 排序算法
  • 外企本土化布局对国内连接器企业影响几何?
  • 排序初识(上)-- 讲解超详细
  • 【接口自动化】-1- 初识接口
  • VUE的学习
  • shell编程
  • 加密算法-----BCrypt
  • C语言第四章函数
  • Java八大基本类型
  • ICCV 2025 | CWNet: Causal Wavelet Network for Low-Light Image Enhancement
  • 视频剪辑软件使用到的技术栈详解
  • 教育培训系统源码技术拆解:前后端分离、企业培训课程推送机制全解析
  • act_hi_taskinst表历史任务记录不同步,无数据
  • LeetCode 刷题【12. 整数转罗马数字】
  • 解决VSCode无法加载Json架构问题
  • uniapp vue3版本中使用pinia 以及持久化处理 以及在微信小程序ypeError: Cannot read property ‘localStorage‘ of undefined报错
  • 车机版凤凰FM:纯净无广告,免费畅享海量有声资源
  • vue3使用异步加载腾讯地图
  • 奈奎斯特定理与香农公式在说些什么?
  • Linux系统下使用apt下载系统组件对应版本的源码