手游服务端,3年经验社招面经。网易互娱、阿里灵犀等
深圳尚游 游戏开发
技术面
- 在1-m之间,取得n个不重复的随机数(正整数,不用考虑不合法输入)
- 智力题:25匹马,每场跑五匹,最少几场可以确保跑出前三名
- 需求题:某个玩法,n个人单挑(n为偶数),要求匹配规则:每个人必须匹配到; 每个人匹配到的人和自己排名差不超过m,m读配置; 最终匹配结果公平,即不能造成某个排名的人绝对处于劣势
- 离职原因
- 项目方面:后端几个人;认为自己做得比较好的一个功能;做过的大型玩法;
- 期望薪资
- 反问环节
boss面
- 自我介绍
- 为什么跳槽
- 对新公司的要求
- 对工作时间的期望和接受程度,接受周一到周四都到晚上九点吗
- 自己遇过的困难,怎么解决
- 最近做的三个功能,追问
- 自己哪方面做得好
- 参与过什么学习
- 喜欢玩的游戏,为什么喜欢
- 愿意去深圳吗
- 自己在技术组处于的位置,会被分配到什么功能
- 自己学习的方式
- 职业规划、觉得要怎么样可以达到目标
- 薪资期望,现在的薪资、薪资结构,去年总包
- 对方自我介绍
深信服 LINUX C/C++开发工程师
- 给一段代码,找出其中错误的地方越多越好。除了低级的少了分号之类的错误,感觉像是在考char*的用法。这块没啥了解,first blood.
- 算法题:输出字符串中的最长的不重复的子串
- 多个进程同时读多个配置文件,如果出现多个进程同时读写一个文件,会出现什么问题。
- 接上题,如果有个进程使用文件时出了问题,无法释放资源,要这么处理
- 僵尸进程是什么
- 开发后台进程,要怎么处理信号。
- 浏览器输入baidu.com敲回车,后台会发生什么
富途 风控系统后台开发工程师
一面
- 项目中有挑战性的功能,怎么完成的。追问。
- 线程、进程、协程的区别
- 项目并发量级
- 如何克服集群间消息的副作用,比如说其中某个节点挂掉或者重启了
- mysql隔离级别
- 可重复读怎么实现的,解决了什么
- MVCC了解吗
- redo log和undo log是什么
- 算法题:A-Z对应1-26,给数组的字符串,有多少种解析结果
二面
- 两个容量分别x和y的水壶,是否可以得到z。先说思路再写代码;
- 给定偶数个数数字的数组,累加是奇数,两个人依次从首尾拿,先手可以必胜吗;
- 连续抛硬币,直到连续出现2个正面,期望的抛硬币次数是多少;
- mysql的事务和锁了解吗;
- ping是什么协议,还有什么方式可以判断网络连通吗;
- 讲下你做的小项目;
- 为什么选择换工作;
吉比特雷霆游戏 游戏研发工程师
- 项目的rpc机制、rpc方式
- 连接方式(不太理解对方想问什么);
- 项目调优参数指标;
- 为什么用lua写业务;
- 游戏并发量;
- lua和c怎么交互;
- 排行榜实现
- 游戏是什么类型的MMO,有多少人同场景(有点形容不上来);
- 游戏内的碰撞处理;
- 同屏人扎堆处理;
- 有用过C写吗;
- 遇到的困难;
- 平时学什么,除了lua用什么;
- lua元表是什么;
- 为什么跳槽,是因为周期太长了吗;
- 对方对公司项目做介绍,说明双端开发,前端是lua和C#,后端是自研的GS引擎,以及强调996;
- 对加班的看法;
- 反问
shopee games后台
- 战斗同步
- 反作弊方法,是否用过机器学习检测作弊
- 排序算法、稳定性
- 哈希、冲突解决办法
- mysql:undo log和redo log,乐观锁和悲观锁
- redis的跳表
- tcp的TIME-WAIT
- HTTP和HTTPS
- IO模型
- 微服务
- 一道easy的链表算法题
虾皮技术一面重在基础。可惜HC关了,没对口的岗位,所以没有继续面。
阿里灵犀 游戏后端开发
一面
- 项目架构,拓扑图。
- lua热更新实现
- skynet的rpc
- 寻路的实现
- 数据存储实现
- erlang和lua的区别,skynet理念上和erlang不同的地方。
其实就是对着简历上面写的东西一通输出,两位面试官水平较高,问得挺深的。
主管面
- 线上出过什么严重的问题,印象深的,作为技术怎么处理
- 平时看的书,最近看的一本
- 遇到困难怎么处理
- 极大的地图怎么放到后端,
- skynet sharetable原理
- 几百万人在同一个地图打架怎么设计
- skynet定时器设计方案及原因
- skynet call实现,怎么实现A call B,B在很久之后才ret
- lua table的遍历,如何实现一边遍历一边加元素
- 排行榜怎么做的,可优化的地方,红黑树是什么
- redis持久化方案
- 跳表如何实现性能最优,redis源码怎么做的
- 项目持久化方案,DB、缓存或游戏服崩了会出现什么,怎么处理,怎么设计可以最大化避免灾难
- 游戏进程挂了有没有办法恢复现场
- 帧同步和状态同步的实现、缺点、帧同步怎么解决全图挂、浮点数怎么处理
- tcp TIME_WAIT,服务器大量TIME_WAIT能不能重启
- A*算法,怎么优化实现,多条等效的路径怎么剪枝
- JPS的好处,比A*优化了多少
- 类似红警一群游戏单位,怎么做群体寻路,要求各自寻路、有群体策略、动态障碍
- ECS框架、面向对象的缺点
- 在本地打字输出到云桌面,本地怎么做到马上echo的。
主管面是意义是深挖你的技术深度(决定你的薪资上限),所以答不出来是正常的没有关系,关键是必须积极思考。之所以能记得这么多,是因为面试官的知识深度确实把我震撼到了。
HR面
- 项目经历
- 现公司对校招人的培训计划
- 对加班的接受程度
- 学习方法
由于是去现场面试(其他都是视频面),对方把整个面试流程在一个下午全部安排完了,杀了我个措手不及,面完出来整个人累瘫了。
网易互娱 游戏后端开发
一面
- 介绍下在做的游戏
- 项目框架
- skynet是什么
- 最高同时在线人数
- 玩家数据包多大
- 一些业务上的问题
- lua的GC
- 热更新实现
- 有没有发生过回档
- 项目存储方案
- 项目的同步机制
- 玩家登录流程
- 排行榜实现
- 做过什么优化
二面
- skynet定时器实现
- rpc的实现
- 同步机制的具体实现
- 二级缓存怎么做到数据不丢失、不覆盖
- 对C的掌握程度:struct的内存计算、static用法
还有一些别的问题,但是想不起来了。问的问题基本都是对一面的补充和深挖。
HR面
- 项目经历
- 哪里人,在广州定居没
- 喜欢什么游戏
- 期望的项目组、游戏类型、工作内容
- 期望薪资