楼主2年游戏开发经验,原工作是全栈开发(全不精), 所以前后端投的都有。
-- 网易游戏
-- 水滴事业部 一面(客户端,视频面)
1. 项目部分
-- recast哪些工具能提升效率
2. 游戏内如何判断一个点在空气墙内?(空气墙一般是AABB。 若问是否可达可以用射线判断)
3. 如何判断一个点在多边形内 ? 如何判断一个点在三角形内
4. python函数调用发生了什么 (栈帧调整)
5. python cprofile原理
6. 快速求中位数
7. 手写链表排序(链表几年没操作过了, 凉凉)
8. 你为什么想来网易
总共面了一小时左右。第一次社招面试,基本上没有答的好的。 太久没写C++, 手撕链表写了很久, 无反问环节,秒凉, 后被天下事业部捞起
-- 天下事业部 一面(服务端, 电话面)
1. 项目部分
-- ECS是什么,有什么好处
-- 帧同步锁帧如何处理预表现
-- 行为树如何打断一个running节点的运行
-- 导航网格烘培源码流程, 道格拉斯算法
-- 碰撞检测GJK算法
2. python GC
3. python 元类 metaclass
4. python cprofile 平时如何进行效率分析
5. python __new__ 和 __init__
6. 二维数组, 左上角到右下角 走过的点和最小多少(矩阵dp)
7. 判断点在三角形
8. 你有什么要问我的
面了45min左右,面完感觉不错基本上全答上来了,最后聊的也很愉快,当晚通知进入二面
-- 天下事业部 二面(视频面)
1. 项目部分
-- ECS跟帧同步,为什么采用这两种组合。面试官说觉得并不搭
-- 问了下碰撞检测四叉树
2. 手撕十进制反转 123->321 (一开始以为01反转直接返回了 ~num, 面试官:?)
3. 手撕字符串去掉空格,要求用char* 操作( 开了新字符串,实际上可以记空格数遍历时去除,而且面试官说有语法问题)
4. 手撕数组内k高频数据 (先统计频率 map/桶; 然后用小顶堆维护其中k大的频率 复杂度nlogk)
5. 排行榜算法(先回答了一个跳表,但对于某些场景下比较耗内存。 在面试官循循善诱下回答了个分桶)
6. 有什么想问我的
面了一小时多一点。 面完感觉不太行,基本都是在面试官提示下写完或者答出来的,不过面试官还是挺和蔼的,会耐心给提示。两天后通知进入三面
-- 天下事业部 三面(视频面)
1. 项目框架能具体讲下嘛
2. 有一个交易系统你怎么设计,有多少次异步
3. 平时脚本写的比较多,会看什么书提升自己么
4. 有什么想问我的
5. 期望薪资是多少
面试不到一小时, 感觉不好。面试官问的问题偏大,有点难回答。而且面试官全程板着脸,给人压力很大。
-- 在线事业部 一面(服务端,视频面)
1. 介绍下项目框架
2. 项目登录时候发生了什么你能说下么
3. python gc
4. python metaclass
5. python 迭代器和生成器
6. C++ new 和 malloc
7. C++ 拷贝构造函数参数是什么样的,为什么用const&
8. C++ static作用
9. C++ 虚函数可以是静态函数么,虚函数原理
10. TCP 滑动窗口是什么作用? 大概说下机理
11. select和epoll,epoll具体是哪里优化了性能
12. 手撕 双链表反转
13. 帧同步为什么要自研物理引擎呢(物理库浮点数,更新频率等)
面试一小时左右,感觉答的一般。
-- 4399(unity开发,电话面)
1. 项目经历
-- 问了下技能框架,说了很久发现我们是pve不是pvp (晕,不看简历嘛)
2. C# arraylist和list区别
3. NGUI UGUI渲染顺序
4. 自己做过什么工具(要自己做的?,接入的三方插件都不算)
5. 优化过效率瓶颈吗(说了下小优化不算,要瓶颈)
6. UI支持粒子特效(答particle system某个参数,具体忘了)
7. unity协程怎么用, 协程的源码怎么写的?
8. 用过什么设计模式。工厂模式了解么
面试30多分钟,体验不太好。似乎我项目类型还没搞清楚,然后后面还问了几个刁难性的问题。 后面另一个部门捞起来,没敢接
-- 字节跳动(unity开发,视频面)
1. 手撕非递归遍历二叉树
2. 捏脸怎么做(没做过)
3. mono , il2cpp
4. 项目AB包分组策略
5. 客户端如何优化效率(一直让你说,说不出来为止 ,unity profile定位,规范美术资源,预加载,语法优化(避免拆装箱等),对象池等)
6. 一张1024*2048的图片内存大小
7. 客户端怎么判断掉线
8. 帧同步和状态同步的比较(一直说,说不完为止,流量消耗,即时性,安全性,实现难度...)
9. 你是偏后端吗? 问linux调试gdb
10. linux查看内存什么指令
11. linux查看句柄
12. 你为什么离职
13. 你有什么特质和缺点
14. 你跟项目组人关系怎样(?)
15. 假如有战斗/系统/引擎几个模块,你选哪个
16. 你可以思考下之后到底要从事哪端
17. 你有什么要问我的
面了一个小时多,问题答的不怎么样。但是体验还不错。感觉面试官很牛掰,前端后端hr都问了一通。还跟我交流下之后工作方向问题。
-- X公司(当前就职公司,公司不大,防定位不写具体名字了~)
1. 自我介绍,然后面试官也自我介绍(我2分钟,他十几分钟。。。)
2. 项目(主要怼帧同步):
-- 帧同步定点数改造什么方案
-- 帧同步的碰撞检测和碰撞效果
-- 帧同步容器遍历问题
-- 帧同步出现不同步,你们怎么查的
-- 你们项目帧同步如何反外挂(md5, 服务器即时运行自己客户端进程), 如果是单人呢, 如果是弱交互呢
3. cache思想,结合实际经验 ( 讲了个os的高速缓存, opengl 的 vbo, 代码一些计算结果缓存避免重复计算)
4. 高速缓存访问速度是内存多少倍,寄存器是高速缓存多少倍 (面试官:这是常识, 我蒙了一个,面试官:还行,数量级是对的)
5. 手撕代码,二分查找。 递归有什么问题?(函数调用地址跳转,参数入栈开销)
6. 手撕代码,字符串单词反转
7. linux core文件是什么,如何保证产生core文件
8. linux gdb调试(只会b p估计不行)
9. linux 查看进程占用
10. linux 查卡机, 卡机代码位置
11. linux 查出现某字符的文件 (当时答 cat *.txt | grep xxx) , 问如何递归查找
12. db性能优化。(答了个链接数配置,高性能查询,慢查询日志等, 然后推锅说都是引擎组搞db)
13. 面试官介绍自己经历,介绍项目前景
14. 建议我从事后端,并推荐了几本书
15. 聊了下都玩哪些游戏,互相推荐了几款
16. hr问题(何时能入职 ,期望薪资等)
总共面了三个小时,感觉是最好一次的面试体验。面试官技术经验很丰富,而且面试时没有只是单纯考查,给人非常尊重的感觉。
感悟:
面试经验总结:
1. 非C++项目投网易的话一定要准备好手撕C++。 指针操作,链表这些
2. 明确好工作方向。全栈应该是终点而不是起点。
3. 自己项目的工具深挖原理。
4. 大公司多部门恰饭容易导致对自己的游戏框架认知不清,工作偏脚本化。平时开发也要多思考下。
入职体验:
目前入职一个多月了。感觉挺满意的。 新项目的技术点非常多,开放程度也更高。 刚进来有些难适应,开发环境差很多,在师兄的热心帮助下慢慢入手。
工资上涨幅不高, 补贴也更少一些,但是离家近 + 双休(虽然我周末还是会去),但是强制996和自发加班的感受是不一样的。
自己项目的游戏也非常喜欢,很期待它的上线。
全部评论
(5) 回帖