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

相关推荐

自从来手子之后好久没面试了,这也是时隔近3个月的第一面,总体面试难度较低,面试官很温和,算是以赛代练开始暑期了,希望暑期能有好结果😘。1.讲一下redis数据结构。2.一般用什么比较多?3.为什么会用hash?(转到哈啰实习)4.redis在你们哈啰项目是做什么?5.讲讲什么是特征?6.你们的方案对redis跟数据库一致性要求有延迟,如果我不想有延迟有什么其他方案吗?7.有没有遇到过线上问题,怎么解决的?8.你怎么拆分的线程池?9.有监控吗?用ConcurrentHashMap考虑过内存问题吗?10.mysql索引11.索引底层数据结构12.优化mysql13.自己技术的优点跟缺点一个sql题,一个手撕难度都比较低,手撕是题目描述给定一个表示 大整数 的整数数组 digits,其中 digits 是整数的第 i 位数字。这些数字按从左到右,从最高位到最低位排列。这个大整数不包含任何前导 0。​将大整数加 1,并返回结果的数字数组。​智力题:一个圆桌,你先投硬币,一次只能投一个,咱们两个轮流把桌子投满,你怎么保证你肯定是桌子上硬币更多的一个人。总体来说答的很轻松,就是用公司电脑导致不能共享屏幕有点难绷,最后面完也是直接二面了,面试官说业务是用户增长,负责拉新和唤醒活动,得转go和py。但是是日常实习,加上在北京200一天,估计是不会去的,但是练手是还可以的。PS:今天是高考1000天了,时间真的过得好快,高中真是不可多得的幸福时光啊,要是高考考好点就好了。
查看13道真题和解析
点赞 评论 收藏
分享
评论
点赞
3
分享

创作者周榜

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