游戏客户端面经 网易雷火(一面、二面、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秋招##游戏客户端开发工程师##面经##网易雷火#
全部评论
唉,我也是10-17前后一面,因而腾讯的三面跟一面的交叉面B冲突了,就跟hr商量延后B面,之后就都没有下文了
点赞 回复 分享
发布于 2023-11-20 17:51 江苏
大佬太强了
点赞 回复 分享
发布于 2023-11-29 22:10 广东
佬,我看了很多你的面经,都没有问过Unity或者UE相关的内容吗?
点赞 回复 分享
发布于 09-13 13:46 浙江

相关推荐

项目遇到什么问题?(ffmpeg+qt+sdl播放器)(多线程,同步)项目是从零开始还是学开源项目的?(肯定开源啊)有修改哪些模块吗?把音频模块修改了,将QAudioOutput改写成sdl处理(实际情况是反过来,但简历来不及改了,嘻嘻)qt用的是qml还是qwidget(用的是qwidget)qt框架了解多吗?(只能说会用,这么多东西鬼记得住)为什么没做一些功能拓展?(倍速和播放分辨率没弄)如果让你实现倍速需要哪些操作?opengl熟吗?(只是用到,了解一下)多线程同步有哪些手段?(互斥、信号量、条件变量)进程同步怎么实现?(希腊奶)计算机网络5层和7层模型?http在哪一层?tcp在哪一层?http和tcp有什么区别?tcp和udp区别?http用的是tcp还是udp?路由器在哪一层?知道哪些路由协议吗?(希腊奶)dns解析有几级缓存?输入www.baidu.com到返回显示页面经历哪些过程?对于面向对象的理解?项目有用到面向对象吗?(有,但不多)项目有用到设计模式吗?(没有)C++哪些语法特性给你愉悦开发体验?(头一次听说这种问题,随便答了个lambda表达式)lambda有哪些捕获方式?你用lambda哪些地方用到比较多?(答了子线程)子线程加锁要怎么实现?创建子线程时把锁传进去吗?问了一下为什么简历做了rtsp服务器项目(说是为了以后做视频会议做考虑,实际是来凑数的)stl了解吗?列举你知道的map和unordered_map区别?为什么要有红黑树和哈希表,即应用场景是什么?问了一下学校课程情况?说了一下课程情况(学校讲的都是大便,还不都是自学的)两道题:(不知道为什么题写不了)第一道题:给定一个数组,求最大连续子数组的和(动态规划没思路,就说了用两个for循环暴力求解)第二道题:题目不知道怎么表述,反正是链表+递归解决
查看30道真题和解析
点赞 评论 收藏
分享
24 119 评论
分享
牛客网
牛客企业服务