雷火游戏研发二面凉经
一面
1. 自我介绍
2. 大学课程里有没有什么拿手的(这里有点膨胀,说了基本都拿手)
3. 项目里的难点
4. 项目里的动画系统是怎么实现的
5. 渲染管线
6. 描边算法是怎么实现的(向量点乘,法线扩大,模板缓冲,sobel算子卷积)
7. 项目里是怎么优化ugui的效率(继承graphic类重写onpopulateMesh)
8. Eventsystm消息传递机制
9. 图集的理解
10. C#装箱拆箱
11. C++11移动构造函数
12. 如何实现shared_ptr
13. 如果把shared_ptr赋值给shared_ptr会怎么样
14. 写一道字符串copy的代码
一面很顺利,给了我很大的信心
然后是噩梦的第二面
1. TCP/UDP
2. Static cast 与dynamic cast的区别
3. 虚函数表的实现
4. 写了两句c++源码,让我写c语言伪码底层实现
5. 说一下渲染管线
6. 渲染管线每个阶段在unity里对应什么组件
7. 图集为什么可以优化效率,unity里哪个组件最后进行的提交
8. 虚拟存储器
9. Malloc怎么实现
10. 说一下fork(第一反应是github的fork。。过了几秒才反应过来是操作系统的)
11. 有接触过多线程开发吗
12. 怎么并行处理地(机器学习的一个项目,忘记说加锁了,就只说了划分输入文件)
13. 空闲链表怎么实现(问了半天,才发现就是对象池的意思)
14. 有接触过socket吗?
15. 有接触过异步i/o吗?
16. 平时玩什么游戏,知道帧同步吗?
二面答得很差,碰到稍微底层的地方就不会了,平常做得也都是单机,没有做过网络编程的游戏,擅长的图形学也基本没被问到,面试官面到一半明显感到不耐烦,开始在纸上乱涂乱画,面了没半个小时就出来了,下午通知凉凉。