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

感觉没几个人会看我的博客,故现在把 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 回复 分享
发布于 06-18 00:13 安徽
点赞 回复 分享
发布于 06-19 11:09 四川
引擎佬 👍
点赞 回复 分享
发布于 06-19 13:58 香港
点赞 回复 分享
发布于 06-29 13:30 广东
我抄引擎大爹
点赞 回复 分享
发布于 08-05 00:20 江苏
佬!本来想投绿洲的,看了这么牛的牛客都没录,放弃了
点赞 回复 分享
发布于 08-28 10:00 四川
引擎佬👍🏻👍🏼👍🏽👍🏾👍🏿
点赞 回复 分享
发布于 09-24 16:44 广东

相关推荐

北京教育中厂的成都分部  11.5时长有28分钟一面二面合并了面试官人挺好的,也不是特别急,答的不是很好的问题面试官直接跳过了顺序不是很统一 只写记得的部分1.问了值类型和引用类型的区别2. 问了ugui的组件有哪些ugui有哪些优化方案答用打图集来减少内存的消耗Unity有哪些优化方案答用对象池以及少用全局变量3.引用类型储存在堆上是怎么储存的 好像是这个记不清了 没答出来 问了两道算法4一个三角形,一个三角形有三个顶点,然后有一个点如何判断另一个点在这个三角形的内部还是外部?自己答出来的是从内部找一个顶点连线,实际上答案是可以用面积来求以及用向量夹角来求。5还有一个快排怎么排的?以及怎么优化快排答:怎么排的想起来了,但是没有说优化方法问了一下,快排怎么实现的?答的凑合6.了解哪些设计模式答:了只了解单例模式,然后说了说单例模式怎么用7.面向对象的三个特征 和五个原则答出来了特征没答出来原则8协程是怎么实现的? 底层原理是什么?答用迭代器9.问了一下字典如何储存值以及字典的存东西的原理没答上来   看了一下,发现好像是直接add remove就行(不知道是不是) 麻了10.最后是一道场景题,问,工作时如果遇见了上边发配的任务已经完成不了了,时间特别紧急,要截止,你该怎么做?答 :先自己憋一会儿,憋1到2个小时,实在想不出来找组长问一问怎么办,11.问是不是自学的游戏? 答说是自己学的12.问了问背包系统的制作需要用到哪些ugui组件没答好,光说了说用图片组件,还有一个能让,图片排列规矩的组件。。。。。这我当时还自己做过,然而实在记不清了都是三四个月之前了反问环节:问了问,公司是做什么项目的?回答 公司是做学龄前儿童的绘本小游戏  呃,问实习生需要干什么  得到回答,实习生需要在绘本中一些益智小游戏的整体的游戏逻辑搭建总结:基础有一些但是还是不太熟练 得仔细看看那个unity面经 当然算法和数据结构也得常常复习 差点快排怎么排没答上来。。。。汗流浃背了当时
跳进黄河洗不清女士:怎么了。是好未来嘛
查看15道真题和解析
点赞 评论 收藏
分享
22 127 评论
分享
牛客网
牛客企业服务