每个人进入企业都面临面试这一关,不同的职业面试的内容是不同的,即使都是IT游戏行业,也分多个职业,从技术角度讲,有客户端,服务器,引擎程序。它们面试的内容也是不同的,工欲善其事必先利其器,要想进入某个领域必须武装好自己,不打无准备的仗。下面就给读者分享关于面试引擎程序的一点心得。分别从简历,面试内容,学习,心态四个方面给读者介绍。

  • 简历

简历是门面,相信每个面试者都写过简历,应聘引擎的程序员在简历中最好能体现自己以前做过引擎编写工作,或者使用某个开源引擎做过项目,这样可以为你加分,毕竟每个职业都喜欢有经验的开发者。简历写的项目内容介绍大概就可以,细节方面留给与面试官交流,简历中的内容自己能够完全掌握的,否则就不要写的太多,以免夸大其词,弄巧成拙,做人还是要实事求是的好,毕竟这个关乎态度问题。比如你在项目中实现了HDR,Blur,Bloom渲染效果,那就把这三个写上,要求自己对这三个渲染算法非常清晰,因为现在的技术网上都是,直接拿过来复制,粘贴就可以,但是作为搞技术的我们,还是要深入的研究一下它的实现算法,这样一旦出现问题或者需要优化,我们能快速的找到原因。总之,简历的内容一定是自己能够掌控的,切记夸大其词,胡编乱吹。

  • 面试内容

很多人在论坛中也问过我这方面的内容,笔者为了获取现场第一手资料,参加了国内一些知名的IT公司的面试,应聘公司的资深引擎程序,主考官有公司的引擎负责人或者技术总监出面面试,这样就增加了跟大公司接触的机会,可以进一步了解他们对引擎程序的需求,当然也可以看到自己的不足之处。资深引擎的工作主要是对游戏引擎模块的编写以及维护,同时解决项目中遇到的问题或者项目组提的需求。这个可以在网上的招聘简历查看,引擎的编写离不开算法的实现以及Shader的编写,下面我就参加面试时,面试官问我的问题整理如下,如果开发者想去大公司应聘引擎研发,下面的问题必须要掌握。
问题一:HDR技术使用的核心算法是什么?如何实现HDR?
问题二:形成地形的算法有哪些?四叉树与八叉树的区别是什么?八叉树在地形中是如何使用的?如果场景改变,八叉树是否发生改变?如何改变?
问题三:Lua与C++是如何结合的?具体实现原理?
问题四:顶点着色器与片段着色器的区别是什么?比如绘制一个三角形三个顶点的颜色是否可以在顶点着色器中计算?顶点着色器是否可以进行颜色的计算,它跟片段着色器相比效率如何?
问题五:前向渲染和延迟渲染的区别?延迟渲染是如何实现的?
问题六:建筑物场景的优化算法有哪些?如何实现?
问题七:实时阴影渲染有哪些算法?各个算法实现思路。
问题八:以前使用过的引擎在PC端最多支持多少三角面片?
问题九:针对大场景的加载?有哪些加载方案?
问题十:项目的优化方案有哪些?举例说明,先优化CPU还是GPU?
问题十一:针对Shader的优化有哪些?针对不同的机型需做哪些优化?
问题十二:介绍SSS渲染实现原理?
问题十三:C++11的特性以及数据结构中的排序算法介绍
问题十四:Shader渲染出问题时,有哪些工具辅助我们检测?
问题十五:引擎的内存管理方案。
问题十六:合并模型的优缺点及注意事项
问题十七:Blur和Bloom的实现原理
问题十八:抗锯齿实现原理
问题十九:Lightmap实现原理

未完,待补充中。。。。。。。

  • 心得

通过上面的面试内容可以看出,公司需要的引擎程序对算法有一定深度的认识,并不只是大概了解,而且既有深入的问题,也有比较基础的知识,更有项目的实战经验,这些问题我们在项目实现过程中都会遇到,有些我们可能并不关心,只是一掠而过。如果读者想从事引擎开发,对于引擎使用的技术必须深入理解,所学的知识能够运用到项目开发中,项目中会出现各种问题,在解决项目的问题中收获成长,上面所列的问题,我们不要局限,可以举一反三,把知识点再扩展出去,如果你准备的不是很充分,建议不要急于去应聘引擎程序,先打好基础,好好准备准备。面试官招聘你是让你能够快速的帮助公司项目,所以他会对你的技术问的比较详细,这样他通过你的回答能够看出你对渲染技术掌握程度。另外,引擎程序面试的问题,基础知识问的相对来说比较少,大部分都是与技术实现相关的,开发者可以在这方面多下点功夫。

  • 学习
    无论做什么职业,我们都要不停的学习,大家知道,打篮球都会有新秀墙,就是到了一定的时期,球员的得分能力下降,这是因为对方已经把你以前运用的技术研究的很透彻了,需要球员自己做出改变的时候了,如果不改变就会后退,沉沦,一蹶不振。同样,我们在工作中也会遇到瓶颈,感觉自己能力一直没有提升,不知道学习什么?很茫然,满足于现在的状态,不思进取,固步自封,认识不到自己的缺点。遇到这种状态时,我们要学会自己调整,而不是沉浸其中,我的建议是可以跟以前的同事或者同行圈子里的人员互相聊聊项目或者技术的事情,拓展一下视野,在聊的过程中就会发现自己感兴趣的技术点,一方面可以跟同事交流,另一方面可以自己学会查阅,比如一些好的技术论坛,知名的IT网站,在查阅的过程中又会遇到新的技术点,这样就可以不断地拓展自己的知识面,当然查阅书籍或者网上资料必须要跟现有的项目相关,这叫学有所用,还有一招学习技术的方法,可以去应聘,去一些行业比较知名的公司,通过跟主考官聊,也可以发现自己的不足,进而去弥补,这也是学习的一种方法,也可以通过这个机会考察一下公司,为以后自己跳巢做准备。

  • 心态

技术面试只是帮助自己提升技能,不要有过度的心理负担,即使面试不上,只能说我们跟公司没有缘分,并不能否定我们的技术水平,或者说我现在还达不到公司的要求。不必灰心,查找不足,弥补短板,继续寻找下一家,俗话说“不经历苦难,怎见彩虹”。很多人一旦面试不上感觉心灰意冷,看低自己,贬低自己,其实大可不必,是你的终归是你的,不是你的,与你无缘。面试一定要保持一个好的心态,当然也避免盲目乐观,要脚踏实地,平和心态,要相信金子总会发光滴。我们去公司面试也不要抱着必须要进这个公司,可以想着,我先了解一下公司,因为我们应聘公司,跟公司是双向选择,互相看得上才可以成交。面试,不仅仅只是技术面,我们还可以通过面试官了解公司项目情况,团队配置,盈利情况,公司的文化氛围,加班情况等等。我们去一个公司还是要想着长远发展,不是一去了公司就开始裁员,所以心态很重要,放松自己,不要给自己过多的压力,这样很容易发挥失常。
又到年底了,很多想跳巢的程序员开始准备面试了,最后预祝想从事引擎研发的程序员,能够找到自己满意的公司。

  • 总结
    应聘技术,也需要自己不停的总结经验,每个公司都有自己的面试风格,有时会遇到技术官面试我们的问题不在我们掌控范围内,实时求是的回答,不丢人。面试也需要技巧的,可以把话题引到自己擅长的技术中,掌握主动,这些需要多经历一些面试积累经验。

应聘引擎程序需做哪些准备相关推荐

  1. unity3d引擎程序员养成

    unity3d引擎程序员养成 http://www.cnblogs.com/rentianlong/p/3806536.html 标准流程: 1. c++ Primer 英文版(第四或第五版) 全部看 ...

  2. 服务器维护日常需做哪些工作?

    近年来网络数据安全越来越重要,服务器维护也越来越被重视,而在维护服务器的时候一定要谨慎小心,日常维护工作要处理好,否则出现一点小的错误就会影响很大.那么,服务器维护日常需做哪些工作呢? 近年来网络数据 ...

  3. J2ME游戏引擎程序结构

    J2ME游戏引擎程序结构- - j2me游戏引擎程序结构 2004-11-17 唐良 游戏引擎的结构很多,不过基本上都是在一个游戏主循环内实现.程序里面的主循环包含了程序框架的最主要的结构体.J2me ...

  4. 一个程序如何连接到外网_如何开发制作小程序?做一个电商带直播小程序

    开发制作小程序可以让商家更方便地引流获客.增加线上订单.尤其是今年小程序直播大火,商家有了新的运营私域流量的利器,因此做一个电商带直播功能的小程序是很有用的. 如何开发一个这样的小程序呢?流程如下: ...

  5. 程序人生:程序员做外包“前途“,“技术“,“经验“如何决策

    hello,大家好!2022年新的一年,也在这里祝大家心想事成,早日实现自己的目标,走上自己最想要的人生道路:今天给大家分享下程序猿干外包的感受. 先说说对外包分析总结 1.程序员做外包没有前途,外包 ...

  6. 小程序nginx做反向代理_NGINX作为节点或Angular应用程序的反向代理

    小程序nginx做反向代理 A reverse proxy is a server that retrieves resources for clients from one or more upst ...

  7. 找个程序员做男朋友好难啊

    我今年26岁,在一家民营企业做HR,对于程序员岗位还是有一定的了解的. 如果你不知道程序员是做什么的?我们来普及下: 程序员(Programmer)是从事程序开发.维护的专业人员.一般将程序员分为程序 ...

  8. 服务器搭建微信会员卡系统,小程序里做会员系统

    小程序里做会员系统 内容精选 换一换 本文介绍了云速建站各特性版本的功能发布和对应的文档动态,新特性将在各个区域(Region)陆续发布,欢迎体验.关于云速建站更多历史版本变更内容,请单击" ...

  9. 给飞驰的法拉利换引擎 - 谈边做业务边做架构重构(1)——有的放矢

    序言 对一个程序员来说,世界上最痛苦的事情是什么呢? 有的人会说:编码的时候产品改需求! 有的人会说:看别人不知所云的代码! 有的人会说:定位一个百年不遇千年难寻的线上不定时偶尔出现的bug! 有的人 ...

  10. 游戏引擎程序员养成计划

    说的很好,和我走的道路有点不谋而合,文章中提到的书本我基本都知道,很多都看过或者浏览过,英雄所见略同?O(∩_∩)O~ 游戏引擎程序员养成计划 三维图形学:  搞三维图形学首先还是要扎扎实实的先看解析 ...

最新文章

  1. 前端学习(338):堆栈
  2. Install and run DB Query Analyzer 6.04 on Microsoft Windows 10
  3. 如何保障大数据平台的安全性
  4. HTML行内元素 块级元素及语义化
  5. Python3 中使用sys.argv详解
  6. Atitit 索引法 html文件转txt纯文本索引 适用于 evernote索引,导入imap邮箱,方便检索 /sumdoclist/src/aPkg/html2txtIndexFile.jav
  7. 小白0代码基础学习RF接口测试心灵路程
  8. 【matlab深度学习工具箱】classificationLayer参数详解
  9. http://www.eoeandroid.com
  10. 正版破解软件下载站大全(转载
  11. 关于成本核算方法、步骤、成本分析的简单回复
  12. 访问samba文件 指定网络名不再可用
  13. win10计算机如何禁用签名,win10系统禁用数字签名的设置方案
  14. MySQL笔记(一)SQL基础
  15. gcore调试一个并发问题
  16. 超赞 不愧是美团内部的JVM学习手册,从头到尾全是精华
  17. 算法基础之二叉树理论
  18. Kafka,ActiveMQ,RabbitMQ等消息队列使用的场景介绍
  19. 【0】uC/OS-III应用开发————uC/OS-III的几个重要特性
  20. 原生混合云——经政企打磨方能赢得政企信任

热门文章

  1. excel 自动生成目录
  2. JAVA毕业设计冠军体育用品购物网站计算机源码+lw文档+系统+调试部署+数据库
  3. Python中的协议有什么作用?
  4. 史上最全 MCC(移动国家码)和 MNC(移动网络码)
  5. unity开发记录:TextMeshPro设置显示中文
  6. 微信小程序开发测试appId如何改为真正的appid
  7. 浏览器主页被篡改解决小妙招
  8. 解决谷歌浏览器被篡改主页问题
  9. 计算导论与c语言基础pdf下载,Cousera 计算导论与C语言基础 学习笔记
  10. matlab欧式期权定价公式,[转载]期权定价的Matlab实现(以欧式看涨期权为例)