游戏客户端开发日常实习面经

感觉没几个人会看我的博客,故现在把 23 年的面经放到牛客上再发一遍。

原帖链接:https://txtxj.top/posts/Interview

字节绿洲-一面(40min)

字节跳动绿洲工作室,在做一款已经拿到版号,预计 23 年上线的游戏。用的是 UE4 。

第一次面试,面试前好紧张。面试过程心情逐渐放松了,但是回答不出来问题的时候还是好紧张。

面试问了挺多 C++ 11 的特性,今早刚好看了这篇文章,帮助很大。

面试问题:

  • 自我介绍。 一句话说了一下学习情况,然后主要介绍自己的项目。我主要讲了 GMTK 2022 的作品。讲了万向锁和信号量。后面面试官也问了一下万向锁和信号量。
  • 会不会 Lua ? 会一点。
  • 选语言 C++ 或者 C# 。 选了 C++ ,因为这两天看的面试题全是 C++ 。然后后面就完全没问 C# 。垃圾回收和 Monobehaviour 白看了。不过毕竟人家项目组用的是 UE ,可能也不怎么想问 Unity 相关。
  • static 的作用? 静态全局变量,静态局部变量,静态函数,静态数据成员,静态成员函数。
  • 静态全局变量存放在哪个区? 静态存储区。
  • 静态局部变量是类的话,什么时候初始化? 答了第一次运行到这里时初始化。面试官说可以,但是后来搜了一下疑似是根据编译器不同,初始化时机也不同。
  • inline 的作用? 内联函数,暗示编译器内联,复杂结构不能内敛,有可能影响原函数性能。
  • 推断变量类型的两个关键词?怎么使用?能举出一个场景,只能使用后者才能解决吗? auto 和 decltype ,今早刚看过。又答了一个 typeof ,面试官说 C++ 没有,但是后来试了一下是有的。搜到的答案:容器迭代器类型推断必须用 decltype 。(因为容器传入的类型为 const 时,迭代器是 const_iterator 而非 iterator)
  • nullptr 和 NULL 的区别?前者的优点? NULL 是宏定义的 0 ,会被隐式转换为整数,不安全。
  • 面向对象的特征?你怎么理解类的多态(特地强调了一下不是运行时多态,但是我就只知道一个多态啊,哪来那么多区分)? 封装,继承,多态。不会八股文,就讲了一下最近在学的设计模式里经常能用到的一个例子。面试官说举的例子很好,但是能不能总结成一句话?有没有在网上搜过相关问题?有没有背过答案?我说不会,没背过。然后这个问题就过去了。一句话总结:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。
  • 虚函数。虚表在内存的哪里?构造函数内可以调用虚函数吗,析构函数呢? 虚表指针在实例首部。构造函数可以内调用虚函数,但只能调用基类虚函数。析构函数也是一样。但是析构函数本身往往是虚函数,被重写了就没影响。
  • 堆是什么?用什么存?怎么建堆?怎么插入?怎么删除? 自己翻书。
  • 如何在一个平面三角形中等概率地随机出一个点? 用两边作为基底构造一个二维线性空间,在这个空间中随机选点,再映射回去。
  • 反问环节。 实习生进去先写 Lua ,修 bug ,不会接触到 C++ 和 UE ,主要是学习。

答得不好,一周没通知,凉了。不过也学到了很重要的一点:别给自己挖坑,不会就直说。

腾讯魔方-一面(1h)

面试官说他玩了一下我做的 Weigh The Dice ,觉得不错,吼吼吼。

  • 自我介绍。
  • 问了一下做的几个项目相关的问题,这个问的比较多,耗时比较长。挑几个还记得住的问题列一下: 在小组中具体做了什么贡献?四元数的四个数字分别是什么含义?四元数怎么插值?SLerp 、 NLerp 、 Lerp 的区别?布料如何建模成弹簧质点系统?布料模拟 cGPU 和 CPU 相比,性能提升如何?AO 和 SSAO 的区别?知道 AO 的常用方法有哪些吗?SSAO 如何处理斜着的平面?如何处理墙角?计算管线流程?渲染管线流程?
  • 面试官似乎很喜欢问 Unity ,我说明了一下我比较熟悉 C++ ,于是开始问 C++ 了。
  • 智能指针。 Q:智能指针有了解过吗?A:了解,会写,但不常写。不过您要是问的话我也能答出来。Q:那我不问了。
  • 虚函数、虚表相关。
  • 手撕一个链表排序,刚写完还没调好,面试官不让调了,就讲了一下思路。
  • 反问环节。 不透露面评结果。实习生进去做未上线游戏的工具开发。

一面问了很多项目相关的内容,面试官看我做了几个图形学相关的项目,就一直在图形学方面问,答起来也比较舒服。

一个工作日后官网状态更新了,等了一个过年,终于给二面通知了。

腾讯魔方-二面(40min)

  • 自我介绍。
  • 两个代码题:最大区间和、删除最大的 N 个数。
  • C 语言编译过程?
  • 了解 STL 吗? map 和 unordered map 的区别?
  • 内联函数?
  • 判断两线段是否相交?
  • 了解 DOTS 吗?了解 ECS 吗?
  • A star 算法?
  • 反问环节。

面试官人很好,答不出来的问题他都会给提示,在提示的帮助下都勉强答出来了。

面试官说岗位可能不太够,不过面评不错。

当晚流程变灰,第二天又绿了,看来是被捞了。

腾讯魔方-HR面(30min)

  • 自我介绍。
  • 讲一下做得最好的项目?
  • 为什么想要做游戏开发?
  • 成绩如何?
  • 期望城市?
  • 什么时候能入职?
  • 反问环节。

面完说一到两周内给回复。

七个工作日后给了 OC ,说等两天发 offer 。

原帖链接:https://txtxj.top/posts/Interview

#面经##游戏客户端##unity#
全部评论
为什么牛客觉得我提到了思源智通
1 回复 分享
发布于 2024-06-18 00:13 安徽
引擎佬👍🏻👍🏼👍🏽👍🏾👍🏿
点赞 回复 分享
发布于 2024-09-24 16:44 广东
佬!本来想投绿洲的,看了这么牛的牛客都没录,放弃了
点赞 回复 分享
发布于 2024-08-28 10:00 四川
我抄引擎大爹
点赞 回复 分享
发布于 2024-08-05 00:20 江苏
点赞 回复 分享
发布于 2024-06-29 13:30 广东
引擎佬 👍
点赞 回复 分享
发布于 2024-06-19 13:58 香港
点赞 回复 分享
发布于 2024-06-19 11:09 四川

相关推荐

整理下面经和之前自己的疑惑第一次写面经bg 211本 两段中小厂Cocos实习timeline(学校有绿通所以没有笔试)3.27线下绿通一面4.8线上二面4.16线上三面4.26测评4.27hr面每面都会提一嘴游戏经历和为什么选择游戏行业————————————————————一面 1.5h内容与简历强相关,凭着记忆应有以下内容1.设计模式 楼主讲了单例模式(事件中心),mvvm以及mvc2.资源加载以及GC相关,基本是照着引擎文档答的3.开源框架 楼主讲的oops-framework4.ECS架构 原理和优势5.性能优化 包括内存优化和渲染优化,自己实习中实际做过哪些以及一些调试工具的使用,这个部分是楼主的实习内容之一所以讲了很久6.渲染管线 两个着色器作用7.帧同步状态同步8.Cocos和Unity区别 但是当时楼主因为毕设刚开始接触Unity,所以讲的是微信小游戏和原生端的开发区别,涉及到SDK,包体大小和分包啥的,Unity部分面试官知道我不会也就没深入问。9.C# zenzen哇嘎乃直接过10.C++常规八股 着重内存对齐和移动语义11. 反问 校招生培养——minigame二面40min主要是对一面的补充,除此之外:1.寻路算法 navmesh2.怎么写一个技能类(也是楼主的实习相关,讲了很久)3.手撕单例模式 C++和TS各写了一遍,到这里才发现自己C++已经写起来很陌生了,想定义个类都忘了有没有分号4.手撕leetcode简单题(楼主leetcode一共写过不超过20道题所以写的磕磕绊绊的都以为寄了)5.反问 面的不好没心思反问了,开玩笑的还是问了一下哪个项目组——雷火的校招过程中不区分项目组,offer阶段才会有某个项目组来捞人三面40min主要是对一面二面的补充,除此之外:1.介绍自己UI仔阶段中一个可热更线上活动的具体实现,主要包括一个抽卡界面,排行榜,商店,IAP购买等业务细节,因为涉及到前后端协作所以穿插了一个protobuf2.实习中写的一个UI组件,以及Unity中实现这个组件的区别,因为楼主用到了射线检测所以顺便问了一些图形学内容,但楼主简历没写图形学所以问的也不深。2.手撕string类3.反问 怎么看待Unity近期的作死行为hr面所有hr面中最技术相关的一集,十分关心楼主的技术成长经历,倒是没什么性格和职业发展规划相关的提问。总结就是八股较少,基本都是围绕着简历在提问(二面和hr面会感觉有点压力)。虽然感觉自己在池子里的顺位应该会比较低但是还是有点想知道会被哪个项目组捞。
查看18道真题和解析
点赞 评论 收藏
分享
05-13 15:58
已编辑
复旦大学 Unity3D客户端
背景:top3本,文科专业,23年毕业生,零游戏开发相关实习经历,无工作经验。毕业后23年下半年考研无果,24年下半年开始学习Unity游戏客户端开发的相关知识,如C++、C#、数据结构、算法、Unity引擎、图形学基础等。写了两个小项目,一个是很简单的光栅化软渲染器,另外一个是Unity开发的一个回合制RPG游戏框架。最近半个月开始找工,海投了一百多份简历,中大厂没有回应(不过也算意料之中),有回应的都是外包或者小厂小工作室。目前只有一个网易外包游戏客户端开发岗位过了,项目我觉得还可以,过两天定offer。现在很纠结和犹豫,不知道要不要接。一方面我清楚外包的各种不好,另一方面我觉得以我现在的情况,继续投简历一两个月下去,也很难找到更好的机会。为了之后更好发展的话,不知道网易外包是否算是目前的一个合理选择,或者说是,混经验的一个跳板。毕竟我零经验非科班的转行往届生,路确实难走,现在社招想要好的机会感觉无异于奢望。因此想听听大家的想法,希望大家可以给点建议,指个路。--------------------------------------------在这里顺便把面经贴出来吧,也不知道是否帮到有需要的朋友:一面(1h10min):1.自我介绍2.C++如何实现多态3.虚函数和纯虚函数,有什么特点4.C++和C#常见容器,C++中vector和list的区别,map和unordered_map底层实现5.C#垃圾回收6.多线程和进程7.IP地址,IPV4和IPV6,8.TCP和UDP,三次握手和四次挥手9.野指针10.智能指针,介绍shared_ptr11.设计模式,说了单例模式、观察者模式、对象池,然后问到MVC12.口撕LRU13.平时常玩的游戏14.游戏设置中有很多设置选项,玩家进行多个勾选、设置等修改操作,如果不想修改了,怎么实现?(我也不知道,就瞎说了个用栈记录修改选项操作,取消保存时候就弹出、恢复)15.ECS框架(不了解)16.详细说下我游戏项目的技能和Buff系统,cd怎么实现的,还有范围指示器的实现17.树的深度优先遍历和广度优先遍历18.走到n阶台阶的方法,简单说一下就行,dp方法,时间复杂度19.写了一道简单的算法题,已知n天股票价格,买卖各一次,最大利润多少。贪心、dp都行20.反问:我哪里需要提升?接触到的工作内容?(商业化功能,前期做些UI、3D模块) 工作环境?二面(1h):1.自我介绍,聊了聊为什么不想进入媒体行业,中间考研(包括半年时间准备从零跨考408,最后专业课复习不完,就又报名跨考了法硕,复试没过未果)、自学的经历2.时间复杂度和空间复杂度,举例说了说3.快排具体流程(只记得双路快排了,所以说了双路快排),时间复杂度,为什么是O(nlogn)4.最近打的游戏,问如何评价游戏性能优化做得好不好(我也不清楚,随便说了说,帧率、加载速度、DrawCall、Batches),举例说相关游戏设置选项,然后说了TAA和SMAA,问原理5.位运算6.线程和协程7.一道和专业关系不大,比较发散的脑力题8.同样和专业关系不大,问一个小团队中午点外卖,线下询问收集大家要点什么一起点,如果做一个内部小工具或者程序来改善流程,有什么思路去实现?9.leetcode41.缺失的第一个正数,问写过没,说写过,可以哈希、排序,忘记原地哈希的解法了。然后让写下排序解法10.反问:项目技术(系统向,用Python多,偏UI和模型),最快多久可以到岗11.最后又问了职业规划(继续深入游戏客户端,想学点shader和渲染)hr面:1.自我介绍,之前经历2.因为做了个Unity回合制RPG游戏的小项目,问为什么做这个?过程中遇到最难的点?怎么解决的?以后有没有要改进迭代的地方?3.找工作考虑什么?4.职业规划?5.是否顾虑外包?6.加班,是否接受工作强度?7.手上其他流程或offer?8.偏好网游还是单机?9.期望薪资10.家庭背景11.最快到岗时间12.反问:项目团队规模等等----5.13更新已拒打算再多找找,后续如果还有面经可能会再更吧
点赞 评论 收藏
分享
评论
29
165
分享

创作者周榜

更多
牛客网
牛客企业服务