当前位置: 首页 > 面试经验 >

秋招之路:零基础游戏引擎/图形方向求职总结

优质
小牛编辑
57浏览
2024-11-20

秋招之路:零基础游戏引擎/图形方向求职总结

1.前言

本篇总结主要记录和描述我如何从AI方向切换到游戏引擎/图形方向,以及学习过程和面试过程中的经验。

首先声明(叠甲),总结中的内容不涉及任何一家公司的具体面试内容以及流程安排,只记录个人学习过程和面试经验,以及个人对游戏引擎/图形方向的看法。本人在25届暑期实习中收到两家offer,秋招中共收到六家offer/谈薪,以下经验可能对你求职有一定参考价值。

开始之前首先感谢以下牛客前辈的面经和总结:@IceBear白熊 @KujouAika

2.背景

本科双非电子信息嵌入式方向,硕士某末流211计算机专硕AI方向。研一暑假小论文投递出去后开始准备就业工作,正式开始学图形学的时间点大概是23年10月。本人之前参加过一些竞赛,C++和Python还算熟悉,同时在Acwing和Leetcode上有一些刷题经验,因此重点主要放在图形学的学习上。

  • 为什么我选择CG方向作为就业选择?而不是后端或算法?

    因为CG好玩!后端学了一点感觉没意思,算法虽然有篇A会,但考虑到论文方向冷门且本人BG毫无优势遂放弃

3.学习路线

  • 2023年 10月-12月 :

    • 主要学习 LearningOpenGL, Games101 202 104
    • 部分其它参考:catlikecoding, GPU Gems, filament....
  • 2023年 12月-2024年 3月 :

    • 实现自己的渲染器: 编辑器+ECS + Forward/Deferred + 所有常见效果 + ...
  • 2024年 3月-5月 :

    • 一边面试一边复习,没有学新东西
  • 2024年 5月-9月 :

    • 往渲染引擎中添加Vulkan支持

以上是学习过程中的大概情况,还有一些资料比较琐碎就不列出了,当学习过程中遇到问题,大部分也能在google中检索到。

3.1 路线总结

选择的项目内容都是自己实现的,但是猜测同岗的选手大部分可能都是类似的项目,虽说不同人的侧重点和实现有所不同,但是换位成面试官难免感觉有点审美疲劳,如果项目能聚焦在一个比较小的方向上/或者具有一定实用性绝对是一个加分项!

3.2 暑期实习投递情况总结

3月开始投递,共投递约19家,其中发笔试的一共8家,约面6家,选择面试的3家,走完流程给offer的两家。 由于没有实习经历且是半路转图形的,游戏公司几乎全军覆没,所幸得了德子的收留,不然就只能去鹅的客户端了

3.3 秋招投递情况总结

8月开始投递,共投递53家(约一半为C++软开岗位),其中发笔试的一共16家(全是图形/游戏岗的笔试,C++软开岗一个笔试都没发,由此可见C++软开选手的秋招难度)

流程情况 公司(岗位)
笔试挂 西山居(引擎),雷火(引擎)
一面挂 哔哩哔哩(引擎),网易互娱(引擎)
二面挂 联影医疗(图形图像),IEG游戏发行(游戏客户端)
三面挂 IEG魔方(引擎),Funplus(引擎)
流程走完并谈薪 摩尔线程(图形),不鸣科技(引擎),英雄游戏(引擎),叠纸(引擎),字节(游戏客户端),德子(转正/引擎)

秋招刚开始时特别是八月和九月真的不是很顺利,一来是项目很久没更新了,自己不是很熟练,二来是八股也忘得差不多了,导致面试过程中有些问题自己都忘记了。

转折点是九月的Funplus二面,这场面试结束后感觉状态回暖,这之后所有的流程全部顺利走完,和所有的面试官基本都聊得很好(自认为)

秋招结束之后我回顾了一下,相比暑期我有什么明显的进步吗?

答:其实是没有的,简历唯一多的只是一份实习经历而已(再次向德子表示感谢),但是秋招过程中明显感觉自己的心态和面试技巧都得到了提升,体现在面试中就是交流更加顺畅,自然

因此,实习经历是秋招中非常重要的加分项,如果没有实习的话,我大概率是找不到工作的

4.一些经验

有关图形学的学习,不能通过面经直接获得,但是面经可以作为一个目录参考。

关于这部分的内容,大体上可参考zhihu这位佬的文章【游戏开发面经汇总】- 图形学基础篇 以及白熊佬的这篇面经零基础非科班校招图形/引擎/游戏面经长文分享

下面是一些我自己补充的内容,可以看看自己是否了解该内容:

  1. 除PCF,PCSS外还知道哪些阴影算法?
  2. 了解超分算法吗?FSR2.0了解吗?
  3. 体积光除了用光线步进做,还有哪些方法?
  4. Forward+了解吗?
  5. 移动端渲染管线了解吗?和PC端有什么区别?
  6. GI算法了解哪些?分别介绍一下?
  7. IBL实现的具体细节?中间做了哪些假设?
  8. CSM实现的具体细节?有没有遇到抖动问题?怎么解决的?
  9. F0和F90分别是什么?F0和F90的物理意义是什么?
  10. BRDF具体介绍一下?有哪些常见的BRDF?
  11. HDR解决了什么问题?有哪些常见的HDR格式?
  12. Tone Mapping具体介绍一下?有哪些常见的Tone Mapping算法?
  13. 几种测试的顺序以及冲突的解决方法?
  14. 不同平台的shader怎么处理?
  15. Vulkan的同步机制了解吗?
  16. Vulkan中的Fence、Semaphore,Barrier有什么区别?
  17. 如果出现卡点,怎么排查?
  18. 如果让你设计光源剔除方案,你会怎么做?
  19. UE的RDG了解吗?
  20. C++反射你是怎么做的?

5. 补充资料以及优秀项目分享

  • 浅墨老师的github(没啥好说的,RIP):https://github.com/QianMo/Game-Programmer-Study-Notes
  • Lumos跨平台游戏引擎(1.3k star,代码量相对于许多重型项目还是小很多的,值得学习):https://github.com/jmorton06/Lumos
  • 另一个较出名的GL教程,可和LearningOpenGL互为补充:https://ogldev.org/index.html
  • Vulkan Examples(可配合vulkan tutorial食用):https://github.com/SaschaWillems/Vulkan
  • Shader教程(可参考一下常见图形学算法的实现) :https://lettier.github.io/3d-game-shaders-for-beginners
  • 一些不错的技术博客:
    • https://sugulee.wordpress.com/
    • https://jose-villegas.github.io/
  • 可看一些talk,了解一些前沿技术

6. 总结

这不是一个游戏引擎/图形方向劝进或劝退的文章,只是记录一下自己的秋招经历,以及一些自己觉得有用的资料。

如果就是想学游戏引擎/图形方向,那么上述经验可能对你有点帮助。但是引擎不是只有渲染,还有诸如物理、动画等等的小方向。总之记住多动手,多实践。如果有问题也欢迎评论,私信,看到的话我会尽力回答。

免责声明:由于市场行情和不同公司HC变动,不保证按照上述流程一定能找到工作,仅供参考。

最后,如果看到这里,那么不管你是什么方向的,被小猫指到的人通通拿到满意的offer,顺利上岸!

#25届秋招总结##牛客创作赏金赛##秋招结束啦##面经##晒一晒我的offer#
 类似资料: