排序
场景题:假设有一个 1G 大的 HashMap,此时用户请求过来刚好触发它的扩容,会怎样?让你改造下 HashMap 的实现该怎样优化?
在 Java 中,HashMap 的扩容是一个相对耗时的操作,尤其是在数据量非常大的情况下(如 1G 大小的 HashMap)。当用户请求触发扩容时,可能会导致系统性能下降,甚至出现短暂的不可用。...
场景题:怎么分析 JVM 当前的内存占用情况?OOM 后怎么分析?
在 Java 应用中,分析 JVM 内存占用情况和排查 OOM(Out Of Memory)问题是常见的任务。以下是详细的排查思路和解决方案: 1. 分析 JVM 当前的内存占用情况 1.1 使用 JVM 内置工具 jstat: 使用...
场景题:如果一笔订单,用户在微信和支付宝同时支付,会怎么样?
如果一笔订单在微信和支付宝同时支付,可能会导致以下问题: 重复支付:用户为同一笔订单支付了两次。 资金损失:商家可能需要退还其中一笔支付。 订单状态混乱:订单系统可能无法正确处理重复...
场景题:线上 CPU 飙高如何排查?
线上 CPU 飙高是一个常见的性能问题,可能会导致系统响应变慢甚至服务不可用。以下是详细的排查思路和解决方案: 1. 确认 CPU 飙高 使用 top 命令: 运行 top 命令,查看当前系统的 CPU 使...
场景题:项目上需要导入一个几百万数据 excel 文件到数据库中,有哪些注意点?
在项目中导入一个几百万数据的 Excel 文件到数据库时,需要考虑多个方面的优化和注意事项,以确保数据导入的高效性、稳定性和安全性。以下是一些关键点和解决方案: 1. 数据导入的挑战 文件解析...
场景题:线上消息队列故障,兜底改造方案
线上消息队列故障可能会导致系统无法正常处理消息,进而影响业务逻辑。为了应对这种情况,需要设计一个兜底改造方案,确保在消息队列故障时系统仍能正常运行或快速恢复。以下是一个详细的兜底改...
场景题:项目上有个导出 excel 场景发现很慢,怎么优化?
在项目中,如果发现导出 Excel 的场景很慢,可能是由于数据量大、文件生成效率低、内存占用过高或 I/O 操作瓶颈等原因导致的。以下是一些优化方案和注意事项: 1. 问题分析 数据量大:导出数据...