当前位置: 首页 > 面试经验 >

游戏客户端面经 网易雷火(一面、二面、HR面、OC)

优质
小牛编辑
94浏览
2023-11-18

游戏客户端面经 网易雷火(一面、二面、HR面、OC)

目录/时间线

  • (返回汇总帖)
  • 10171400 一面
    • 交叉面A
    • 交叉面B
  • 10301000 二面
  • 11031430 HR面
  • 11071610 OC & 正式Offer

10171400 一面

交叉面A

总共51min。

自我介绍。

项目

  • 有可以展示的内容吗(不能展示,因为涉密
  • 描述下项目做的是什么
  • 用什么引擎开发的
  • 前端渲染是怎么做的
  • 为什么选择用Qt而非其他
  • 当时多少人一起开发的,分工是怎样的
  • 开发项目过程中遇到过什么问题吗
  • 现在回过头来考虑项目,会觉得采用其他的框架和库更好吗
  • 既然用到了ECS,那说下对ECS的理解
  • 有发现ECS的哪些不足吗
  • 对MVC、MVVM了解吗
  • MVVM和ECS各自适应什么样的场景
  • 项目运行时的数据规模是怎样的

实习

  • 实习之后有拿到转正Offer吗
  • 实习过程中主要做什么
  • 实习所开发的功能都是从头开始写的吗
  • 是怎么处理界面层级关系的
  • 对Unity的使用经验怎么样(很少
  • 对Lua的使用经验怎么样(比较扎实

Lua

  • Lua中的闭包是指什么
    • 闭包的数据储存是怎样的
  • Lua中的值类型、引用类型有哪些
  • 看代码区分值拷贝和引用拷贝
    • table属于哪种
    • userdata属于哪种
    • string属于哪种
  • 怎么做table的深拷贝
  • Lua中的元表是怎样的
  • 元表中的__index__newindex有什么差别
  • 如何用元表实现类似于C++中的继承
    • 怎么做成员函数的重写、重载呢
    • 假如在派生类重写的函数中要调用基类的版本,该怎么做
  • Lua热更新的原理是怎样的
  • 假设Lua中某个类已经实例化出了一堆对象,怎样用热更新影响所有这些对象

基础

  • 图形学有学过吗(GAMES101的水平
  • (以下都是选择/填空题的形式)
  • 一道简单的古典概率数学题
  • 给定表面法向和入射光方向,求反射向量
  • 判断sizeof的结果
  • 大小端字节序分析题
  • 从树的前序中序遍历推出后序遍历
  • 一道计算机基础多选题

反问

  • 目前是统招、还没分项目组:的确
  • 客户端的技术栈
  • 研发流程中会有Code Review吗:每个人的提交都会经过他的Review,且新人、老人代码的Review侧重会不同

反反问

  • 目前有投哪些公司,进展如何
  • 对腾讯和雷火是怎么考虑的

交叉面B

总共55min。

自我介绍。

实习

  • 主要干了什么
  • 觉得哪些任务是比较有挑战性的

Lua

  • 讲一下Lua反射热更的细节
    • 结合具体实例追问热更新细节
  • 如何判断传入的table是不是数组
  • 对Lua的元表有了解吗,它是怎样工作的
    • 关于__index的用法
  • 对项目中采用的ToLua有了解吗
  • 假如在Unity中有一个对象,传到Lua中会得到什么
  • 在Lua中如何访问C#对象的成员
    • 在C#侧ToLua框架可以怎样访问到对象的特定字段的呢

C++

  • 写一个单例
  • 移动构造函数和拷贝构造函数有怎样的区别
  • 左值和右值有怎样的区别
    • 左值能转换为右值吗
  • 对于一个含有指针成员的类,写出它的拷贝构造函数
    • 写出它的移动构造函数
    • 对于刚写出来的这个类的完整代码,存在内存泄漏吗
    • 再写一个移动赋值运算符
  • 知道mallocnew的区别吗
    • 它们申请的内存怎么释放
    • 了解malloc的底层实现吗
    • 知道malloc是调用哪个系统调用申请内存的吗

图形学

  • 那个课程学完了吗,总共有多少节课
  • 给定表面法向和入射光方向,求反射向量
  • 如何判断点是否在三角形内
  • 如何判断射线与AABB是否相交
    • 如何判断射线与轴对齐长方形的相交
    • 用代码实现出来

反问

  • 是否存在对正式员工的培训:常规回答
  • 不同项目组之间怎样做技术交流的:内部分享平台、讲座
  • Code Review:有的

10301000 二面

总共54min。

自我介绍。

实习

  • 转正了吗
  • 做了什么
  • 遇到了什么问题
  • 了解Lua热更新吗
  • 一般在写热更新时需要注意哪些
  • 项目有多少人在做

项目

  • 为什么备注里说它约等于引擎+游戏
  • 完成了哪些模块
  • 是怎么做前端渲染的
  • 讲讲ECS是什么
  • ECS相比面向对象的主要优势
  • 知道哪些序列化方案
    • 其中可能涉及到的大小端问题是什么
    • protobuf怎么做数据压缩的
      • 讲一下varint

C++

  • 在什么情况下会用到delete this
  • 虚函数存在哪里
  • nullptr上调用成员函数,判断输出
    • 如果是调用虚函数呢
  • 进程的内存空间分为哪些区
  • 堆和栈的内存地址增长是朝什么方向的
    • 为什么一个从低往高,一个从高往低
  • malloc内部是怎样实现的
    • 链表是显式还是隐式
  • 讲一下页面置换具体是怎么做的
    • 有哪些算法
  • 对多线程了解吗
  • 用过哪些锁
    • 什么情况下用自旋锁,什么情况下用mutex
    • mutex有什么缺点
  • 如果用普通的int实现引用计数,这线程安全吗

图形学

  • 对游戏渲染了解吗
  • 光栅化有哪些算法
    • 也就是问,怎么做三角形的光栅化
    • 怎么做线段的光栅化
  • 了解深度测试吗
  • 对引擎内特效表现制作了解吗

常规面试题

  • 有其他Offer吗

反问

  • 还没决定分配到哪个项目组吗:发Offer时才会给出
  • 更有可能被分配到什么样的项目:新项目、老项目都有可能
  • 校招生加入一个上线很久的项目中后,能够做什么:比如技术迭代和升级,其实从技术角度来看新项目和老项目都差不多

11031430 HR面

(录音失败)

#2023秋招##游戏客户端开发工程师##面经##网易雷火#
 类似资料: