admol

admol

打工人
V2EX 第 132304 号会员,加入于 2015-08-11 16:51:26 +08:00
今日活跃度排名 2924
根据 admol 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
admol 最近回复了
6 天前
回复了 gps32251070 创建的主题 程序员 关于面试 MySQL 的疑问
这个 MySQL 45 讲 里面好像有讲到。
1 、 如果是数据库本身就有很大的压力,那所有的 SQL 都会很慢,不仅是你这个 SQL
2 、表被锁了(等 MDL 锁、等 flush 、等行锁)
3 、慢查询(有其他 SQL 影响)
22 天前
回复了 inhzus 创建的主题 程序员 左耳朵耗子于周六晚突发心梗去世
R.I.P
22 天前
回复了 leonycz 创建的主题 投资 怎么才能在股市中赚到钱
买基金都浮亏中。。。
23 天前
回复了 V2Micheal 创建的主题 问与答 你看过最有用的技术书籍是?
@chuck1in
Github 搜:System Design Interview: An Insider’s Guide
23 天前
回复了 iyobucuo 创建的主题 推广 [抽奖 4 斤樱桃] 烟台大樱桃 - 感谢 - 感悟
分母+1
既然已经报考了,那学位证一定要弄到手,努努力,英语三级应该没什么问题的。
23 天前
回复了 hhpd 创建的主题 问与答 有复阳的兄弟吗?
今天感觉有点不舒服,感觉要复阳了
31 天前
回复了 imlinhanchao 创建的主题 分享创造 摸鱼小游戏 —— 迷宫 Maze
有统计下走的最短步数和时间排行么
50 天前
回复了 gps32251070 创建的主题 程序员 求教 MySQL 加锁的一个疑问
改成 RC 级别试试?
50 天前
回复了 dltsgl 创建的主题 问与答 面试被问到工作中遇到什么难点怎么回答
再换一个案例,也是 AI 答的



面试官: 请谈谈在项目中,你遇到的和性能优化相关的一个案例,是如何进行优化的?
你:在我们的项目中,有一个订单统计的功能,需要统计每个用户在过去 n 天内的订单数量,我们的初版方案是:
每次调用这个统计接口时,通过循环遍历用户的所有订单,统计 n 天内的订单数量,然后返回结果。
在系统压测时,我们发现这个接口的吞吐量很低,CPU 利用率很高。通过分析,这个方案有两个性能瓶颈:
1. 每次统计都循环遍历所有订单,效率很低。
2. 大量重复统计,缺乏缓存,导致 CPU 重复计算。
于是,我们对这个方案进行了优化:
1. 预先统计好过去 n 天每个用户的订单数量,存入到 Redis Hash 结构中,key 为用户 ID,value 为订单数量。
2. 当调用统计接口时,直接从 Redis Hash 中获取用户的订单数量,返回结果。
3. 每天定时更新 Redis Hash 中的数据,保证数据最新。
通过这个优化,接口的性能得到很大提升:
1. 避免了每次重复遍历和计算,利用了缓存。
2. Redis Hash 结构查询效率很高,可以快速返回结果。
3. 定时批量更新缓存,避免了每次调用都重复统计的问题。
由此可见,合理的缓存方案和批量预计算,可以有效优化系统的性能。我会继续深入学习其他的优化技术和方案,如:索引、读写分离等,不断提高自己在系统性能和架构上的技能。
这个案例说明你发现的系统性能问题,以及采取的优化方案和最终效果。同时也表达你对持续学习和优化的态度。这是一个比较完整的优化案例分享,面试官可以评估你在性能调优和架构上的思维和技能。你也可以根据这个框架,准备一两个其他的性能优化案例,以备面试时使用。
请让我知道如果您对这个案例有任何其他疑问,我很乐意提供更详细的解释和帮助。
关于   ·   帮助文档   ·   博客   ·   nftychat   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5252 人在线   最高记录 5634   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 17ms · UTC 03:05 · PVG 11:05 · LAX 20:05 · JFK 23:05
Developed with CodeLauncher
♥ Do have faith in what you're doing.