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配图神器#  #面经#  #春招#
全部评论
可以的,很好哈
点赞 回复 分享
发布于 昨天 22:55 北京
可以的,总结的很好呢
点赞 回复 分享
发布于 03-25 21:53 北京

相关推荐

03-07 01:06
门头沟学院 Java
一.实习问题1.日志追踪功能的核心标识以及传递方式是怎样的。2.多层关系挖掘的业务逻辑是怎么样的,资源的依赖关系是怎么样的,关系是怎么保存的。3.百万级数据导出的业务,导出的什么数据。二.项目问题1.抽象规则树当中都抽象了哪些规则,中间想要加规则可以加吗,怎么加。2.关于人群标签这块,如何去区分什么样的人群应该添加什么样的标签。3.关于人群标签这块,如果相对一些人的标签信息进行增删改查操作如何操作呢。4.关于redis的发布订阅,用来订阅什么。5.关于限流这块,限流的范围是什么。6.关于交易规则链路,核心的链路都是什么,即哪些节点,做了哪些规则校验。7.关于交易规则链路,如何想要添加一个新规则,如何将它快速接入呢。8.关于执行过程中会出现中断跳过的情况吗,如果出现了怎么办。9.关于拼团成功这样的消息提示有做推送的机制吗。10.下单支付成功后,会进行同步操作还是异步操作呢。11.关于库存的并发是怎么控制的。12.关于库存这块如果仅使用Mysql库存>0判断,为何还需要其他类似于分布式事务机制这样的操作来解决呢。三.八股问题1.springboot自定义配置这样的机制,自动配置的流程是什么样的,SPI机制。2.SPI机制有什么用。3.springboot如何实现一个start。4.redis的持久化机制有哪几种。5.redis的过期删除策略。6.redis实现分布式锁,用到了哪些命令。7.mysql慢查询分析如何分析,explain中的type字段有哪些类型。8.索引失效有哪些。9.事务的隔离界别有哪些,有哪些并发问题。10.threadLocal的使用场景。11.线程池的核心参数有哪些。12.拒绝策略有哪几种,平时使用哪一个。没想到小小厂还有二面。
发面经攒人品
点赞 评论 收藏
分享
评论
点赞
3
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务