后端开发一面面经
完整信息
本篇目录
面试净时长:约39分钟
时间:9.22
一、自我介绍与经历
1\. 自我介绍
(1)请做一下自我介绍。
二、项目与系统设计
2\. 云服务器故障诊断项目
(1)项目背景是什么、要解决什么问题,采用了哪些技术方案?
(2)采集的数据是日志还是其他数据,数据量大概多少?是实时采集,还是用户提问时获取已有数据?
(3)一台机器有应用日志和资源使用信息等大量数据,系统如何确定应获取哪些数据来分析问题?例如是否能够分析 CPU 使用率高的原因?
(4)MCP 返回异常项时,“异常”如何定义?平台不知道用户问题属于哪一类时,怎样处理数据并作出判断?
(5)系统上线后的使用情况怎样?用什么指标衡量?是否真的解决了实际用户问题?
(6)云服务器可能同时涉及安全、负载均衡和网络等资源,现有分层框架未来怎样扩展到用户问题的完整维度?
(7)如果故障分类扩展到几十或上百类,Skill 和 MCP 越来越多,应该怎样管理,避免冲突或让 Agent 误解?
三、基础知识
3\. 线程池
(1)线程池配置并上线后,应该关注哪些指标,判断参数是否合理、线程池是否健康?
4\. Spring Bean 生命周期
(1)通过 Spring IoC 的 getBean 获取对象时,希望对象交付前某个属性已被修改。结合 Bean 生命周期,有哪些实现方式?
5\. 缓存一致性
(1)使用 Redis 缓存并访问数据库时,如何保证二者的数据一致性?有哪些常用做法?
(2)如果再增加一层本地缓存,访问顺序为本地缓存、Redis、MySQL,更新时怎样保证三者一致?请明确更新顺序。
6\. MySQL 分表
(1)一张表通常达到多少数据量会建议分表?应该基于什么逻辑判断?
(2)查询为什么会随数据量增大而显著变慢?底层原因是什么?
7\. MySQL 日志
(1)binlog、undo log 和 redo log 分别有什么作用?
四、AI Coding
8\. AI 辅助开发流程
(1)接到业务需求后,如果使用 Claude Code 等 AI Coding 工具实现,开发者和 AI 应分别做哪些动作,才能完成高质量开发?
本篇目录
当前问题0116
- 01
请做一下自我介绍。
- 02
项目背景是什么、要解决什么问题,采用了哪些技术方案?
- 03
采集的数据是日志还是其他数据,数据量大概多少?是实时采集,还是用户提问时获取已有数据?
- 04
一台机器有应用日志和资源使用信息等大量数据,系统如何确定应获取哪些数据来分析问题?例如是否能够分析 CPU 使用率高的原因?
- 05
MCP 返回异常项时,“异常”如何定义?平台不知道用户问题属于哪一类时,怎样处理数据并作出判断?
- 06
系统上线后的使用情况怎样?用什么指标衡量?是否真的解决了实际用户问题?
- 07
云服务器可能同时涉及安全、负载均衡和网络等资源,现有分层框架未来怎样扩展到用户问题的完整维度?
- 08
如果故障分类扩展到几十或上百类,Skill 和 MCP 越来越多,应该怎样管理,避免冲突或让 Agent 误解?
- 09
线程池配置并上线后,应该关注哪些指标,判断参数是否合理、线程池是否健康?
- 10
通过 Spring IoC 的 getBean 获取对象时,希望对象交付前某个属性已被修改。结合 Bean 生命周期,有哪些实现方式?
- 11
使用 Redis 缓存并访问数据库时,如何保证二者的数据一致性?有哪些常用做法?
- 12
如果再增加一层本地缓存,访问顺序为本地缓存、Redis、MySQL,更新时怎样保证三者一致?请明确更新顺序。
- 13
一张表通常达到多少数据量会建议分表?应该基于什么逻辑判断?
- 14
查询为什么会随数据量增大而显著变慢?底层原因是什么?
- 15
binlog、undo log 和 redo log 分别有什么作用?
- 16
接到业务需求后,如果使用 Claude Code 等 AI Coding 工具实现,开发者和 AI 应分别做哪些动作,才能完成高质量开发?