网易互娱-游戏引擎-一面

面试官的问题

  1. 算法题: 给定一个数组, 求第k小的子序列.(但是没有自动判题案例, 得手动给样例, 手动比较)
  2. Self Intro
  3. Unity 单例模式的实现(补充: 如何让 GameObject 跨场景保留)
  4. 构建一个事件系统, 如何检测无尽递归?
  5. 在这个比赛项目里, 你最大的收获是什么?
  6. 关于简历里提到的项目简要介绍
    项目引申话题:
  7. <项目直接相关内容>
  8. 正交相机的OrthorSize(差不多这么拼)的含义
  9. 正交相机与透视相机的区别
  10. 说说你对内存空间的理解
  11. CPU 多核读写同一个缓存, 如何同步?
  12. 还是小算法题: 给一个二叉树, 求指定两个节点的最近的共同祖先
  13. 你有什么想问我(们)的?
  14. 互娱和雷火在游戏方面有什么区别?
    面试官答: 两个都是相对独立的事业群, 不会有很大的区别
  15. 我进入暑期学习后能学到什么?
    面试官答: 根据个人的兴趣爱好等情况指定一个较小的课题

我的回答

  1. 半小时写了个暴搜(遍历每种可能的子序列), 把子序列的和算出来, 添加到列表里, 最后一个 Sort()取结果. 时间复杂度O(n³), 空间复杂度好像是O(n²), 最大的数据范围直接超时后来开始正式面试, 问能不能优化一下这个循环. 然后最里层计算子序列和的改成了减掉前一个数,加上后一个数, 就不需要重新加整个序列. 考虑负数的情况, (在该算法的情况下)必须要遍历所有可能的序列. 时间和空间复杂度都是O(n²)
  2. 讲了讲学校和专业, 然后面试官吐槽这个不是纯IT, 偏控制方面的; 然后摊牌自己的操作系统和网络比较菜
  3. 静态类里给个引用, 然后 Awake 的时候检查是不是 null, 防止重复
  4. 首先想到的是把 sender 当事件参数, 但是复杂一点的循环就没法解决. 最后表示不会
  5. 跟项目直接相关, 略
  6. 项目内容略.
    1. <项目直接相关内容>
    2. 视口长方体的高的一半
    3. 透视矩阵不同; 正交视角下, 物体的角度关系会被保留, 平行的仍然平行, 但抹去了z轴上的距离信息, 不存在近大远小; 透视视角下, 物体在屏幕上投影的大小与到摄像机距离大小相关, 存在近大远小, 原本平行的线会汇聚到一个焦点上; 透视视角适合在视角能自由变换的3D游戏中,正交视角适合在某些固定视角的3D游戏, 或者常规的2D游戏
  7. 东讲一点西讲一点, 主要涉及: 虚拟地址和物理地址, 虚拟内存与换页机制, CPU 缓存与命中的问题
  8. 提到了读写锁, 但是面试官问有什么其他办法可以同步缓存, 不会
  9. 这个就不献丑了, 树结构基本没用过, 编译都过不了, 只能写个伪代码. 然后还被发现了一种会发生错误的情形
posted @ 2022-04-10 17:21  TIMON123  阅读(170)  评论(0编辑  收藏  举报