记录一次大厂的游戏引擎工程师的两次技术面试
写这篇文章的起因
最近参加了某大厂的游戏引擎工程师校招。首先这次笔试面试我觉得是对我自学的一种肯定。非常感谢某大厂的两位面试官,感觉人都很NICE,虽然是视频面试,但是能够感受到某大厂这家公司的优秀文化基因。对某大厂这家公司的好感度爆长。
本来是想等面试之后再记录总结一下,但是我发现面试的非常多,彩虹面,到最后怕忘了,因此总结归纳,反省自我。无论最后过还是不过,我都非常感谢某大厂这家公司,或许这是我人生当中的贵人公司,让我更加确定我努力的方向。就算失败了,以后如果有机会,我仍然会向这个公司努力。
关于笔试
笔试是非常遗憾的,编程三道题其实如果时间充足,我应该都可以做出来。由于时间原因,最后我只做出来两道。编程题最后一题涉及到动态规划。基本来说,都是LeetCode中等题的水准。
简答题一共有两道,一共50分。第一道题是考察游戏空间分区的方案,这个很明显了,KD树、四叉树、八叉树。第二道题是考察动画渲染绘制模型黑色边缘的方法,这个我是一点思路都没有,完全空着,25分全丢。这暴露出为我的问题:我的渲染和图形学知识,非常匮乏!!!
相对于其他开发岗位的程序笔试题,清一色的动态规划来说,游戏岗位的程序笔试题比较而言,是较为容易的。
经验:学习图形学是非常有必要的。继续加深算法知识也是非常有必要的。
关于面试的问题记录
第一次面试,面试官和我的交谈大概是如下的流程:
- 1min自我介绍。
- 对游戏的了解程度?
- 喜欢玩什么类型的游戏?
- 《空洞骑士》的游戏设计怎么样?
- 图形学渲染流程是什么?
- C++基础语法?dynamic_cast?virtual?
- 现场手写程序:区间合并。(LeetCode中等水平)
- 操作系统当中堆和栈的区别是什么?
- 数据结构当中堆和栈的区别是什么?
- 一个数组里面取前k个最小的元素,有哪些方案?
- 数组和链表的区别是什么?链表能否进行二叉搜索?
- 哈希表的存储方式?
第二次面试,面试官和我的交谈大概如下:
- 1min自我介绍。
- 关于喜欢的游戏?(宫崎英高的黑魂)
- 黑魂的弹刀的实现原理?(有限状态机、物理引擎、事件系统)
- 了解哪些渲染算法?(简述了光线渲染算法)
- 你最觉得有技术含量的项目?(SPH流体仿真模拟解算器)
- 手写工厂模式?
- 工厂模式和抽象工厂的区别?(这个忘了。。。)
- 进程间沟通的方法?(管道、共享内存)
- 计算机网络?(不会。。。计算机网络是我大学最差的专业课了。。。)
第三次面试,面试官和我的交谈大概如下:
- 1min自我介绍。
- 对中国游戏行业的理解。
- 对本厂做游戏的理解。
- 用stack模拟queue。(这个比较简单的)
- 判断扇形区域当中的点。(第一次遇到,临场反应是应该和点乘有关,考察3D代数的基础)
- 系统设计题。
- 如何判断一个满二叉树?
总结与归纳
我仍然欠缺很多,我需要继续弥补的:
- 继续学习数据结构与算法知识。深入补充一下现有高级数据结构的知识,实现一遍(红黑、线段树等等)。
- 需要深入学习一下图形学相关知识,渲染知识。
- 需要自己用虚幻搭建一个DEMO出来,做一个我梦想的ACT。(正在努力)
- 学习《深入理解计算机系统》相关章节,了解代码与操作系统的关系。
- 继续补充游戏相关知识和编程深度知识。
感谢某大厂给我这次机会,让我认清我自己的现状。现阶段的面试和笔试证明,目前我努力的方向是正确的,我坚持游戏开发的道路已经有五年了,就算研究生被带进去的课题组是深度学习,但是我一直以做一名游戏开发工程师为我的人生理想。我的终极理想是,参与一次3A游戏的制作。为了理想而努力奋斗,是一件非常快乐的事情。
我想起了《游戏设计艺术》的最后一个章节:“戒指”。当你决心去做游戏工程师那一刻起,这枚戒指就已经戴在了你的小拇指上,他是无形的。意味着作为游戏工程师的责任,意味着通过游戏去创造一个更加美好世界的梦想,意味着用游戏去表达人类最崇高的品质与人性。
记录一次大厂的游戏引擎工程师的两次技术面试相关推荐
- 探索开发一个游戏引擎需要那些知识和技术
探索开发一个游戏引擎需要那些知识和技术 说到游戏引擎我们可能会想到Unity3D,虚幻引擎等.可是我们对于开发一个游戏引擎了解甚微,作为一名游戏开发者在开发游戏的同时我觉得也有必要了解并熟知如何开发一 ...
- 游戏引擎中的通用编程技术
你是否正在考虑构建一个游戏引擎呢?你对如何构建一个游戏引擎是否已经有了一个明确的 计划呢?你是否已经对如何组织游戏引擎各个模块之间的关系有了一个通盘的考虑?如果没有, 那么本文将对你建立一个良好的游戏 ...
- 覆盖16亿玩家的游戏引擎都有哪些3D技术呢?
大表姐--Cocos 引擎生态总监,从事游戏行业9年.在市场热门游戏品类中均有深厚的研发经验,曾任<乱江湖>.<捕鱼达人>系列等爆款游戏主程,现主要负责引擎研发.游戏产品更新, ...
- 以Java工程师为例,技术面试应该怎么准备?
如何准备一份「工程师范儿」的简历?如何在面试中体现代码能力?Face to Face 面试必考 Java 知识点有哪些?大厂面试实例分析?本文是 7 月 19 日杨晓峰老师在极客 Live 上< ...
- android游戏引擎!作为一名Android面试者你应该知道的,终局之战
背景 前段时间朋友辞去了北京一家小创公司Android开发的工作,准备寻找新的工作的时候,要和我聊聊天.告诉我再找不到工作就考虑转行了! 话语间无不感叹安卓有点强弩之末的味道!聊天过程中,朋友也顺带分 ...
- JAVA经过两轮面试还能被刷吗_云从科技JAVA开发工程师面试:视频进行面试,前两轮技术面试 - 职朋职业圈...
为了帮助职业圈网友能够及时了解云从科技的面试流程以及面试过程所涉及的面试问题,职业圈小编把刚获得的云从科技面试经验马上编辑好,快速提供给大家,以便能够尽快帮助到有需要的人.这次面试总共花了20天.面试 ...
- 记录一下八款开源 Android 游戏引擎
记录一下八款开源 Android 游戏引擎 虽然android学了点点,然后现在又没学了(我为啥这么没有恒心呢大哭).以后有时间还是要继续学android的,一定要啊!虽然现在没学android游戏编 ...
- 《游戏引擎架构》笔记一
<游戏引擎架构>该系列的博文部分参考下面的博客: http://raytaylorlin.com/categories/%E6%8A%80%E6%9C%AF/%E6%B8%B8%E6%88 ...
- 【游戏引擎开发必问】 渲染管线的剖析
本篇文章收录于 C++游戏开发的一些高级常识(持续更新) "你对渲染管线了解多少?" 当我听到这个面试题的时候,我是懵逼的.很长时间以前学的图形学知识,虽然看了红蓝宝书,并且熟悉O ...
最新文章
- (DOM艺术) 实用的动画
- 零基础Java学习之构造器
- Deep Ranking for Person Re-identification via Joint Representation Learning
- GDCM:创建DICOMDIR的测试程序
- nodejs TCP服务器和客户端通信的socket结构
- 利用bladex+avue实现一对多的关系
- HTTP协议 (三) 压缩
- MySQL中char、varchar和text的区别
- python分割PDF
- 来自H3C的降维打击:H3C BX54鲸路由评测体验
- python实现多EXCEL表格合并xls、xlsx格式
- 正常卸载Microsoft Office后无法重新安装?
- 香港大学韩锴课题组招收CV和深度学习方向全奖博士/博后
- Unity基础(四)--3D数学
- 362 敲击计数器
- Failed to start component异常的解决方案
- Lawliet|C语言学习笔记5——循环结构
- 为什么学校计算机没有声音,为什么计算机一直没声音
- ToolsOhの密码生成器(KT:java、zxcvbn、passay)
- 接入谷歌AdSense后浏览器控制台报错:Failed to load resource: the server responded with a status of 403的原因及解决办法、