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

感觉没几个人会看我的博客,故现在把 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 四川

相关推荐

06-02 12:37
已编辑
吉林大学 C++
过去的一年一直在为找游戏客户端开发实习做准备,但直到现在也就只接到过一个小公司的offer。思考了一下打算转前端了,目前大三下转战也还有机会。我其实内心也还在纠结,感觉这样做属于是,遇到瓶颈困难就半途而废,东一榔头西一棒,最后一事无成,但又担心万一自己的分析是对的,转战是合理利用自己优势,死磕游戏开发是执迷不悟。下面我会讲述原因,希望有懂行的前辈或是同学锐评一下我的观点,如果能给出建议,真的不胜感激,我现在真的有些迷茫。放弃游戏客户端开发最大的原因:我感觉,我了解到的游戏客户端开发的学习路线不够规范化,缺少学习框架的机会,学起来总感觉只会纸上谈兵,脱离实际生产(面试考察)需要。我觉得学习一项计算机技能大概分三个层次:第一层基础:学习算法,线性代数,OS,计网,数据库这些计算机学科基础,熟练掌握对应领域常用编程语言,常用api;第二层框架:有了第一层可能可以开发一个看起来能运行的一个小项目,但毫无章法,这时候就要学习框架,用行业内更规范化的结构组织你的项目(我正是缺了这一部分,所以这会儿也说不出具体的),第三层专精:向底层更深度的理解,就比如说你可能会用unity的shader,会用c++的openglAPI,但为了达到第三层你最好要会计算机图形学,最好能自己手搓软渲染器,游戏引擎。根据个人面试经历、招聘要求我总结,游戏客户端开发有以下面试考点:1、c++面向对象,操作系统,问你八股要答得上来2、算法,说实话我个人感觉挺难的尤其是雷火精英实习笔试,面试时也经常会有那种看起来简单,但是加上时间复杂度限制就变成hard难度的题。3、计算机图形学、渲染管线、lua热更新网络编程、游戏引擎实操、这一部分正式我迷茫的地方所以可以看见我只是列出了关键词。前两点不是问题都算是第一层基础,无非就是多刷题多背,学习路线知识体系也很明了,你也大概知道面试官会问些什么。如果是因为前两点失利我是不会萌生换赛道的想法的,重点就在第三点。考点3混合了第二三两层,框架与进阶,游戏开发确实很卷,面试经常会遇到问第三层的知识,但其问第三层也无所谓了,我觉得第三层知识的考查就只是为了筛人,而且也不是所有公司都一定要求会第三层,所以卷也不是我想转战最主要的原因。最主要的问题是游戏开发在应试时缺乏一个公认的框架,我不知道要学什么,面试时面试官问的问题也是涉及广泛,有的时候我也分不清一些知识到底属于第三层还是第二层,我可以去学计算机图形学,了解管线渲染过程,学习lua热更新网络编程,学习OpenGL、学习unity等等,但这些都各自独立我不知道怎么把他们组织起来,不知道我要做一个什么东西,说出一些什么理论,在面试官看来是有意义的。所以又卷又学习框架不清晰,我的技术实力也不高,本身就是把计算机学习当作是学一门高级一点手艺,混口饭吃,当初选择游戏开发,是觉得反正以后都是软件开发,游戏开发,开发出来的产品是自己感兴趣的,可能会更有动力一些,而且游戏开发好像以后的技术壁垒会更高一些(现在看来也确实如此),就选择了游戏开发,我当时以为的难是知识难,现在才发现难点是你不知道要学什么。而我所了解到的前端就没有这个问题,虽然我还没开始具体的学习,但就根据我搜索到的面经,B站上学习路线指导视频,你可以看到面试官还有这些指导视频所关注的点是一致的,而且框架层的知识体系是明了的。当然前端开发也有他的问题比如竞争人数更多(但岗位至少比游戏开发多),技术壁垒低,目前职业发展有被淘汰的风险,很多人都在考虑转后端或是全栈。大概就是这样吧,游戏开发我真不知道我要做什么,不只这里我会四处去请教,再思考两三天,是要做个决断了。
牛客41406533...:好像游戏客户端知识又多又难,我感觉使劲刷算法和基础八股就行了,那些高级的像什么引擎底层应该也不指望应届生会吧
投递哔哩哔哩等公司9个岗位
点赞 评论 收藏
分享
找不到相关的工作啊,求捞我的简历➕自制动画作品例图海报➕手绘场景➕场景渲染➕UI界面设计➕三维室内场馆设计负责全流程:分镜脚本绘制、角色/场景设计、原画制作、后期音效合成。《山海经-逐梦》作品链接:9.71 复制打开抖音,看看【就是拾青吖的作品】 二维动画 山海经 # oc ... https://v.douyin.com/YrpGqaEMW3k/ 06/04 Hic:/ **********这是我个人的《山海之契》草稿视频链接:5.33 复制打开抖音,看看【就是拾青吖的作品】 二维动画  oc世界 放放... https://v.douyin.com/qU7FkospGXk/ ********** 09/22 CuF:/关于动画行业的规划:我擅长角色动画和运动规律的设计,能够将角色的情感和动作表现得更加生动。在团队中,我会与原画师紧密合作,确保动画风格的一致性,同时与编剧沟通,确保动画叙事流畅。我未来的的目标和计划:在未来3-5年内,我希望先参与一些高质量的2D动画项目,积累行业经验和人脉。同时,我会继续提升我的动画技术和叙事能力,争取在3年内主导一个小型动画项目,为未来的长篇电影做准备。关于平面/Ui设计介绍:熟练使用Photoshop、Illustrator、After Effects等主流设计软件,能够高效完成从平面设计到动态视觉的全流程制作。掌握Figma、Sketch等UI设计工具,适应多平台协作需求。对色彩搭配、字体设计、版式布局有深入理解,能够根据品牌调性制定视觉策略。熟悉UI/UX设计规范,能够平衡美学与功能性,提升用户交互体验。跨领域能力动态设计:擅长使用AE制作MG动画、动态海报,为静态设计注入活力。三维辅助:了解Blender基础操作,能够为平面设计增加三维元素支持。个人软件精通:2D动画:Adobe Animate、Toon Boom Harmony。3D辅助:Blender基础建模、UE5动画引擎(自学中)。后期:Premiere、Photoshop、After Effects(动态设计/Motion Design)。
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
06-30 22:59
Java
程序员小白条:你这专业技能写的也太少了,项目写一堆,而且是这个学历的情况下,一眼就无视掉了,你把学历放后面也没啥用的,项目可以包装,HR喜欢具象化的学历,竞赛,奖牌,中大厂的背书实习,现在二本,三本只能去多参加下开源,或者多学点各个方向的技术栈去提升自己,不然你跟其他人根本竞争不了,开发是招几个,不是销售和客服性质的(叠甲,没有说不好)
点赞 评论 收藏
分享
评论
29
165
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务