9377游戏|后端开发 面经(含答案)
公司:9377游戏
岗位:后端开发工程师
方向:Java 后端 / 游戏后端
1. 自我介绍
答案思路
• 学校/专业/毕业时间
• 技术栈:Java、SpringBoot、MySQL、Redis、中间件等
• 项目亮点:高并发、文件上传、分布式任务、性能优化
• 求职意向:后端开发,长期稳定发展
2. 是否有考研考公的打算?
答案
目前没有考研、考公计划,专注于就业,希望在企业里深耕技术,长期稳定发展,和公司一起成长。
3. 怎么去选择服务器的?
答案
• 根据业务场景:CPU 密集型选高 CPU,I/O 密集型选高内存/高带宽
• 根据并发量:QPS、连接数、带宽需求
• 成本与性价比:云服务器按需扩容,优先ECS/容器
• 游戏后端关注:低延迟、高可用、多区域部署
4. 怎么进行冗余存储,还有别的办法吗?
答案
• 冗余存储:主从、副本、多副本机制
• 方案:
1)副本集:一主多从,故障自动切换
2)分布式存储:MinIO、HDFS、OSS 多副本
3)异地多活:跨机房容灾
• 其他:RAID 磁盘阵列、冷热分离、备份策略。
5. 断点续传怎么做?
答案
1. 前端分片:大文件切分成小块
2. 每个分片带唯一标识:文件 hash + 分片索引
3. 后端记录已上传分片,返回未上传列表
4. 前端只传未完成分片
5. 全部传完后端合并分片
6. 怎么获取文件分片或大小?
答案
• 前端:通过 File 对象的 size 获取总大小,计算分片数量与偏移
• 后端:通过请求头/参数拿到总分片数、当前分片、文件MD5
7. 上传文件用到哪些系统调用?请求头格式?
答案
• 系统调用:open、read、write、close
• 请求头:Content-Type: multipart/form-data
• 携带:Content-Length、Content-Range(断点续传)
8. 怎么解决 OOM 问题?
答案
1. 排查:dump 内存,看 GC、大对象、内存泄漏
2. 优化:
◦ 避免无限创建线程/大集合
◦ 池化:线程池、连接池、对象池
◦ 及时释放资源,关闭流、连接
3. JVM 参数:调整堆内存,合理设置 GC 策略
9. 下载很大的 Excel 怎么办?
答案
• 流式写出:不一次性加载到内存,边生成边下载
• 分页/分批次:按条数分批导出
• 异步生成 + 下载:后台生成文件,返回下载链接
10. ThreadPool 如何优化接口时间?
答案
• 同步改异步,并行执行多任务
• 避免重复创建销毁线程,降低开销
• 控制并发数,防止线程过多导致 CPU 飙高/阻塞
• 适用于:批量处理、消息推送、日志上报等
11. XXL-JOB 如何保证数据一致性?
答案
• 执行器幂等设计:重复执行不影响数据
• 任务失败重试 + 告警
• 调度中心分布式锁,避免多节点重复执行
• 执行日志可追溯,支持手动处理失败任务
12. MySQL 和 Redis 如何保证数据一致性?
答案
• 方案:先更 DB,再删缓存
• 避免:先删缓存再更 DB 导致脏数据
• 最终一致:
◦ 延时双删
◦ 分布式事务/消息队列保证最终一致
• 缓存过期兜底
13. 常用索引有哪些?
答案
• 主键索引、普通索引、唯一索引
• 联合索引、覆盖索引
• 全文索引(文本搜索)
14. InnoDB 数据结构 & 存储格式?
答案
• 数据结构:B+ 树
• 存储引擎格式:
◦ 行格式:Dynamic/Compact
◦ 表空间:系统表空间、独立表空间(ibd)
#牛客AI配图神器# #面经# #春招#
岗位:后端开发工程师
方向:Java 后端 / 游戏后端
1. 自我介绍
答案思路
• 学校/专业/毕业时间
• 技术栈:Java、SpringBoot、MySQL、Redis、中间件等
• 项目亮点:高并发、文件上传、分布式任务、性能优化
• 求职意向:后端开发,长期稳定发展
2. 是否有考研考公的打算?
答案
目前没有考研、考公计划,专注于就业,希望在企业里深耕技术,长期稳定发展,和公司一起成长。
3. 怎么去选择服务器的?
答案
• 根据业务场景:CPU 密集型选高 CPU,I/O 密集型选高内存/高带宽
• 根据并发量:QPS、连接数、带宽需求
• 成本与性价比:云服务器按需扩容,优先ECS/容器
• 游戏后端关注:低延迟、高可用、多区域部署
4. 怎么进行冗余存储,还有别的办法吗?
答案
• 冗余存储:主从、副本、多副本机制
• 方案:
1)副本集:一主多从,故障自动切换
2)分布式存储:MinIO、HDFS、OSS 多副本
3)异地多活:跨机房容灾
• 其他:RAID 磁盘阵列、冷热分离、备份策略。
5. 断点续传怎么做?
答案
1. 前端分片:大文件切分成小块
2. 每个分片带唯一标识:文件 hash + 分片索引
3. 后端记录已上传分片,返回未上传列表
4. 前端只传未完成分片
5. 全部传完后端合并分片
6. 怎么获取文件分片或大小?
答案
• 前端:通过 File 对象的 size 获取总大小,计算分片数量与偏移
• 后端:通过请求头/参数拿到总分片数、当前分片、文件MD5
7. 上传文件用到哪些系统调用?请求头格式?
答案
• 系统调用:open、read、write、close
• 请求头:Content-Type: multipart/form-data
• 携带:Content-Length、Content-Range(断点续传)
8. 怎么解决 OOM 问题?
答案
1. 排查:dump 内存,看 GC、大对象、内存泄漏
2. 优化:
◦ 避免无限创建线程/大集合
◦ 池化:线程池、连接池、对象池
◦ 及时释放资源,关闭流、连接
3. JVM 参数:调整堆内存,合理设置 GC 策略
9. 下载很大的 Excel 怎么办?
答案
• 流式写出:不一次性加载到内存,边生成边下载
• 分页/分批次:按条数分批导出
• 异步生成 + 下载:后台生成文件,返回下载链接
10. ThreadPool 如何优化接口时间?
答案
• 同步改异步,并行执行多任务
• 避免重复创建销毁线程,降低开销
• 控制并发数,防止线程过多导致 CPU 飙高/阻塞
• 适用于:批量处理、消息推送、日志上报等
11. XXL-JOB 如何保证数据一致性?
答案
• 执行器幂等设计:重复执行不影响数据
• 任务失败重试 + 告警
• 调度中心分布式锁,避免多节点重复执行
• 执行日志可追溯,支持手动处理失败任务
12. MySQL 和 Redis 如何保证数据一致性?
答案
• 方案:先更 DB,再删缓存
• 避免:先删缓存再更 DB 导致脏数据
• 最终一致:
◦ 延时双删
◦ 分布式事务/消息队列保证最终一致
• 缓存过期兜底
13. 常用索引有哪些?
答案
• 主键索引、普通索引、唯一索引
• 联合索引、覆盖索引
• 全文索引(文本搜索)
14. InnoDB 数据结构 & 存储格式?
答案
• 数据结构:B+ 树
• 存储引擎格式:
◦ 行格式:Dynamic/Compact
◦ 表空间:系统表空间、独立表空间(ibd)
#牛客AI配图神器# #面经# #春招#
全部评论

可以的,很好哈

可以的,总结的很好呢
相关推荐
点赞 评论 收藏
分享

查看21道真题和解析