后端开发工程师一面面经
完整信息
本篇目录
请介绍自己、项目和承担的角色。为什么选择这些技术组件?
能不能只用一种数据库?为什么不只用 Redis,选择 MySQL 的依据是什么?
注册流程中的布隆过滤器、分布式锁和唯一索引,分别解决什么问题?
布隆过滤器判断用户名存在时,后续怎么处理?如果误判导致用户无法注册,怎么办?
布隆过滤器更新失败怎么办?如果重试一直失败,后续如何处理?
有人疯狂请求注册接口,如何限流?具体按什么维度识别和拒绝请求?
如何使用 requestId 实现幂等?
既然 requestId 可以防重,为什么还需要加锁和二次校验?
Redis 有哪些持久化方式?AOF 持久化的具体流程是什么?
AOF 与 RDB 应该如何选择?
如何保证数据库与缓存的一致性?并发读写时出现旧数据怎么办?
MongoDB 字段级 Patch 和 CAS 版本控制分别解决什么问题?
如果 Redis 数据全部丢失,如何恢复面试进度?
Redis Stream 的消费者处理到一半宕机,会发生什么?
如果 Redis 自身宕机,如何优化系统可用性?
会话级 FIFO 能否保证顺序?多个 Worker 同时执行时如何协调?
请解释 RAG 从文档上传、处理到检索和回答的完整流程。
如何评估 RAG 或重排的效果?自己出的几个问题能否代表真实用户的各种提问?
多个知识库的检索结果如何融合?不同知识库的分数一定不能直接比较吗?为什么?
HashMap 为什么线程不安全?线程安全的替代方案如何实现?
MySQL 为什么需要两阶段提交?redo log 和 binlog 如何协调,故障后如何恢复?
事务有哪些特性?
死锁有哪些必要条件?
事务有哪些隔离级别?分别是什么意思?MySQL 默认的隔离级别是什么?
读未提交可能出现哪些读异常?脏读、不可重复读和幻读分别是什么情况?
Redis 的 key 过期之后,内存会立即释放吗?
AI 调用很慢,应该如何设计线程池?
同一个类中的普通方法调用另一个带事务注解的方法,事务一定会生效吗?
流式输出的断线补发如何实现?
每段生成内容都写数据库,请求量增大后如何处理?如果改用 Redis,又如何应对其宕机风险?
前端断线或者用户主动停止时,整个后台任务是否应该取消?已经调用的工具能否停止?
Java GC 有哪些基本算法?它们分别如何工作?
本篇目录
当前问题0133
- 01
请介绍自己、项目和承担的角色。为什么选择这些技术组件?
- 02
能不能只用一种数据库?为什么不只用 Redis,选择 MySQL 的依据是什么?
- 03
注册流程中的布隆过滤器、分布式锁和唯一索引,分别解决什么问题?
- 04
布隆过滤器判断用户名存在时,后续怎么处理?如果误判导致用户无法注册,怎么办?
- 05
布隆过滤器更新失败怎么办?如果重试一直失败,后续如何处理?
- 06
有人疯狂请求注册接口,如何限流?具体按什么维度识别和拒绝请求?
- 07
如何使用 requestId 实现幂等?
- 08
既然 requestId 可以防重,为什么还需要加锁和二次校验?
- 09
Redis 有哪些持久化方式?AOF 持久化的具体流程是什么?
- 10
AOF 与 RDB 应该如何选择?
- 11
如何保证数据库与缓存的一致性?并发读写时出现旧数据怎么办?
- 12
MongoDB 字段级 Patch 和 CAS 版本控制分别解决什么问题?
- 13
如果 Redis 数据全部丢失,如何恢复面试进度?
- 14
Redis Stream 的消费者处理到一半宕机,会发生什么?
- 15
如果 Redis 自身宕机,如何优化系统可用性?
- 16
会话级 FIFO 能否保证顺序?多个 Worker 同时执行时如何协调?
- 17
请解释 RAG 从文档上传、处理到检索和回答的完整流程。
- 18
如何评估 RAG 或重排的效果?自己出的几个问题能否代表真实用户的各种提问?
- 19
多个知识库的检索结果如何融合?不同知识库的分数一定不能直接比较吗?为什么?
- 20
HashMap 为什么线程不安全?线程安全的替代方案如何实现?
- 21
MySQL 为什么需要两阶段提交?redo log 和 binlog 如何协调,故障后如何恢复?
- 22
事务有哪些特性?
- 23
死锁有哪些必要条件?
- 24
事务有哪些隔离级别?分别是什么意思?MySQL 默认的隔离级别是什么?
- 25
读未提交可能出现哪些读异常?脏读、不可重复读和幻读分别是什么情况?
- 26
Redis 的 key 过期之后,内存会立即释放吗?
- 27
AI 调用很慢,应该如何设计线程池?
- 28
同一个类中的普通方法调用另一个带事务注解的方法,事务一定会生效吗?
- 29
流式输出的断线补发如何实现?
- 30
每段生成内容都写数据库,请求量增大后如何处理?如果改用 Redis,又如何应对其宕机风险?
- 31
前端断线或者用户主动停止时,整个后台任务是否应该取消?已经调用的工具能否停止?
- 32
Java GC 有哪些基本算法?它们分别如何工作?
- 33
反转链表 反转其中 n~m 节点
