后端场景面试题共27篇

场景题:每次进入订单列表页面都会触发全量同步?

如果每次进入订单列表页面都会触发全量同步,可能会导致性能问题(如数据库压力过大、响应时间变长等)。以下是排查思路和解决方案: 1. 问题分析 1.1 什么是全量同步? 全量同步:每次请求都会...
程序百科的头像-程序百科程序百科30天前
02612

场景题:一笔订单,在取消的那一刻用户刚好付款了,怎么办?

这是一个典型的并发问题,涉及到订单状态和支付状态的冲突处理。在电商系统中,订单的取消和支付是两个关键操作,可能会在同一时间发生,尤其是在高并发场景下。以下是解决这个问题的几种常见方...
程序百科的头像-程序百科程序百科30天前
0287

场景题:MySQL 中 如果我 select * from 一个有 1000 万行的表,内存会飙升么?

在 MySQL 中,执行 SELECT * FROM 表名 查询一个有 1000 万行的表时,内存是否会飙升取决于多个因素。以下是关键点: 1. 查询执行方式 MySQL 的查询执行是流式的:通常,MySQL 不会一次性将所有...
程序百科的头像-程序百科程序百科30天前
0446

场景题:线上数据库连接池爆满问题排查

线上数据库连接池爆满是一个严重的性能问题,可能导致系统无法正常处理请求,甚至引发服务雪崩。以下是详细的排查思路和解决方案: 1. 问题现象 错误日志: 日志中频繁出现 Cannot get a conne...
程序百科的头像-程序百科程序百科30天前
02414

编程题:编写一段代码,使得这段代码必定会产生死锁,不能使用Thread.sleep()

死锁是指两个或多个线程在执行过程中,因争夺资源而造成的一种互相等待的现象。要编写一段必定会产生死锁的代码,需要满足以下四个条件(死锁的必要条件): 互斥条件:资源一次只能被一个线程...
程序百科的头像-程序百科程序百科30天前
0366

面试题:Java 写入文件到磁盘会经历哪些过程?

在 Java 中,将数据写入文件到磁盘的过程涉及多个步骤,包括 Java 应用层、JVM、操作系统和磁盘硬件等。以下是详细的过程: 1. Java 应用层 创建文件输出流:通过 FileOutputStream、BufferedOu...
程序百科的头像-程序百科程序百科30天前
0257

场景题:如果没有内存限制,如何快速、安全地将 1000 亿条数据插入到 HashMap 中?

在没有内存限制的情况下,快速、安全地将 1000 亿条数据插入到 HashMap 中,可以从以下几个方面进行优化和考虑: 1. 选择合适的 HashMap 实现 HashMap 的默认容量和负载因子:...
程序百科的头像-程序百科程序百科30天前
03512

面试题:接口变慢了应该如何排查?导致接口变慢的原因有哪些?

接口变慢是一个常见的性能问题,可能由多种原因引起。排查接口变慢的过程需要系统性地分析和定位问题。以下是排查接口变慢的步骤以及可能导致接口变慢的常见原因: 排查步骤 1. 确认问题范...
程序百科的头像-程序百科程序百科30天前
04811

场景题:如何在附近 100w 的商户中,快速找到离你最近的 5 家商户?

在附近 100 万家商户中快速找到离你最近的 5 家商户,是一个典型的 空间搜索问题。解决这类问题的关键是利用高效的数据结构和算法来优化查询性能。以下是详细的解决方案: 1. 问题分析 数据规模...
程序百科的头像-程序百科程序百科30天前
0338

场景题:从网关再到各个后端服务,如何设置 RPC 的超时时间,要考虑哪些问题?

在分布式系统中,RPC(远程过程调用)超时时间的设置是一个非常重要的设计决策,尤其是在网关和后端服务之间。不合理的超时设置可能导致系统性能下降、资源浪费、甚至雪崩效应。以下是设置 RPC ...
程序百科的头像-程序百科程序百科30天前
04715