游戏客户端暑期实习记录贴 上岸腾讯光子

背景概要

经历两月疯狂实习学习和面试,今天终于可以告一段落。牛客的牛友们的面经帖子给了我很大帮助,因此来这里做一个自己的游戏实习记录,希望对牛友们有帮助!先贴下个人信息~

👋个人背景:bg29,研二上才决定走游戏开发,只跟着UE书本开发了两个入门demo,相当于无实习无竞赛无项目三无选手了~

☎️意向和oc:目前两个offer,一个是字节绿洲工作室,base北京,还有腾讯光子,base深圳。都是游戏客户端开发。

👨‍💻面试:基本看到的开暑期的游戏公司都投了:快手简历挂(还是笔试过了挂的简历,无语);鹰角,天美,灵犀互娱(估计是看我技术不匹配就不要)一面挂;完美世界kpi一面;游酷盛世kpi二面;网易雷火二面后无消息,不过感觉g(手撕没发挥好);网易互娱一面后没消息

📚笔试:柠檬微趣笔试挂、吉比特待定、米哈游笔试后无消息(应该g了)

📑简历:只贴了两个ue5学习demo

再贴贴两个offer的time line吧

字节绿洲 3.28 一面 4.1 二面 4.7 三面 4.10 hr面 4.15 oc

腾讯光子 4.11 一面 4.16 二面(现场宣讲会霸面) 4.21 三面 4.28 hr面 5.6 offer

经验分享

面试八股

楼主的处女面给了腾讯天美,那次真是把自己面懵了,除了八股问深了不会,还有一些完全没听过的语言技术,以及问你会不会网络编程,会不会图形学(全不会),面完感觉自己一无是处,果然秒挂。这里我个人最大的收获就是大厂的八股问会问到非常底层,楼主准备八股的时候看到都是些比较表层的问题,一旦对这个问题进行深一步追究,基本就答不上来了。所以如果你的目标是大厂,八股这方面不能只准备网上常见的哪些问题,对于它的内部底层机制你也需要进一步了解(比如问你new和delete,追问就可以追问new的底层,和malloc的区别,能不能new和free混用,placement new等等...)

项目

楼主的项目比较简单,刚开始准备得也比较简单,就停留在这个功能如何实现的层面。这方面和八股一样,其实项目就是有具体实例范围的八股,面试官在问项目的时候,也会进行技术上的深究,问你引擎某个功能你用到了,那底层是怎么实现的?如果出现了某种场景,你会怎么解决?所以项目这边和八股准备其实本质上一样的,需要你进行深度的挖掘和扩展学习,最好自己可以假装面试官对自己的简历项目进行一个拷打,列出可能扩展出的面试题,然后有针对的进行准备。

笔试

游戏岗位的笔试题偏场景一点,题目描述比较长,数据输入比较复杂,还有一些纯需要堆码量的大型模拟题,因此自己的代码的规范度、准确度其实很重要。楼主的解题步骤是这样的,首先读完题先想想大致的思路,没有很巧妙的解法就试试暴力模拟,能拿多少是多少,但如果你觉得这个题暴力就算过了也不好拿分,而且代码需要写巨长,可以直接先跳过这题后面再看有没有机会解决,不要让一道题直接把你后面可以有机会解决的题卡住。写代码的时候最好先在脑海里构思出大致的板块和流程,要是某个板块你还没有思绪,说明你这道题就算写了也会在那里卡住,目前做不出来,这时候就先别动手,只有在脑海中走通整个流程,你知道整体的解决方案之后再动手去做一个实现,这样才是最大程度的节省时间。

手撕

手撕题目较于笔试题难度低了一个档次,一般都是lc上的热门的中等或简单题。如果你还没有刷题的习惯,建议每天给自己一个刷题目标,战线长的话每天不用太多,楼主是研一开始保持刷题习惯,每天也只刷两道题,但是每道题你在完成后建议也是参考答案的多种解法,然后和自己的进行对比,分析利弊来进行学习,充分吸收每道题可以带给你的思想上的进步。这个其实没有什么好多说的,一定要多敲多想,只敲不想那你的学习和进步效率就太低,只想不敲你到时候敲起来不是慢就是处处报错,所以把它作为一个习惯进行培养才是最好的方式。另外需要注意,有的公司面试手撕可能就算让你在一个ide里从零开始实现,和lc的核心代码模式不一样,所以一些简单的输入处理、数据结构创建都是需要自己再准备一下的,包括链表和二叉树的输入和创建等等。(楼主就是有一次面试写一道二叉树路径和的题,但是太久没有自己创建二叉树了,导致这里卡了很久,在面试官指引下才勉勉强强建好,后面写路径和处理逻辑的时候因为前面建树没表现好就很紧张,没了思绪,最后还是面试官降低了要求才写好)经典的一些算法例如快排、归并、堆排序,还有设计模式的单例、二叉树遍历等等都可以尝试自己敲一遍加深印象,这样在面试遇到的时候会很爽的。

心得体会

虽然都说找实习生主要看重的是学习能力,但楼主经历这两个月的找实习历程中实在是体会到有经验有项目的优势,因为有些问题实在是只有在大项目中或者底层技术里面才会遇到,楼主这种无实习无项目的连去思考解决这个问题的机会都没有,因为你连问题都碰不到。因此还是建议咱们做技术的有机会能多实习就多实习,能多掌握一些技能就多掌握,比如图形学、游戏引擎,哪怕你只是为了过面试去学,但是这在面试管看来也是展现了你的上进,学习态度,在众多求职者中,我们能让自己脱颖而出的方法也只有展现自己的更强技术和丰富的经历了。

结语

这两个月中也有情绪低谷、自我怀疑和后悔的阶段,但是并不能让它们影响自己的投递进度,建议大家还是多投多面,失败了也没有损失,还可以给自己加经验,另外对于自己的技能提升建议做好规划,每日目标等等,这样自己只会越来越强,众多投递的公司中有一个offer就算成功,因此不要害怕被挂,以一个平常心去学习和面试,总会有机会到来的~ 最后祝愿牛友们都有心仪的offer~~

#腾讯光子面经##游戏客户端##软件开发投递记录##我的OC时间线#
全部评论
马上hr面,好慌。hr都问了点啥啊
1 回复 分享
发布于 05-07 16:50 上海
校友接好运
1 回复 分享
发布于 05-06 21:54 广东
佬请问三面一般是问啥
点赞 回复 分享
发布于 今天 12:22 四川
校友是什么研究方向呀?我现在是成电研一的,将来很想走游戏客户端的方向,但是完全属于非科班了
点赞 回复 分享
发布于 05-14 10:06 四川
佬,c++八股的资料都是在哪里找的啊
点赞 回复 分享
发布于 05-13 23:10 四川
研一,跨专业零实习零项目,准备了两个多月项目,算法八股。感觉准备不充分一直没有勇气投。现在是不是暑期实习已经没希望了
点赞 回复 分享
发布于 05-08 23:30 广东

相关推荐

05-16 12:12
已编辑
浙江工业大学 C++
没做笔试,直接通知面试,AB面,一面完感觉还可以,二面手撕没撕出来八股也答得一般感觉凉了。A面面试官很nice,上来先做了一个自我介绍,逆水寒项目组。整体比较偏简历。1. 我来一个自我介绍。2. 问知不知道工业界的GI实现方案,我说我知道比较经典的GI算法如LPV,VXGI,简单介绍了下。工业界的方案我知道lumen,然后说了个lumen的sdf判断光线交点和靠时序做间接光照实现无限次反弹。lumen讲的比较简单,面试官问了我一句是刚开始看吗,有没有在虚幻里搞搞,然后问我nvida的GI方案知不知道,我说不知道。3. 降噪算法了解吗,我答了一个时序上的优化手段,其实不算降噪,具体的降噪算法不是很了解,也说不了解了。4. 问简历上的项目,鹅的一个远程课题,和一个个人项目,都简单介绍了一下,鹅的课题多问了几句,个人项目明显不是很感兴趣。做5道题,没有手撕:1. 概率论,早忘了2. 多态,easy,延伸问了一下虚表指针、堆栈内存、lambda函数、智能指针和其他一些c++问题,最后拿了个实际场景问string优化,这个不知道了。3. model矩阵的一些参数,easy4. 延迟渲染,常规问题,后续问我知不知道deferred light和deferred shading的区别,不知道了,还有移动端为什么还是forward rendering多一点,我猜可能硬件不支持multi render target或者G buffer带宽太大了移动端还是承受不住。5. 列举知道的抗锯齿算法 SSAA,MSAA,FXAA,TAAB面没让做自我介绍,上来直接做题,面试官全程就是感觉很不耐烦,面试体验较差...简历上的东西一句没问。1. 4种cast转换,reinterpret_cast可以接受哪几种类型?2. 模板知道吗?知道,没怎么写过。那你写一个看看。写了个a+b的模板。问T是什么,不知道了。问模板怎么实例化,也不知道了。3. 讲一讲虚继承,解决多重继承。4. 引用占不占内存。不占5. 除了函数,哪些场景用引用?类里的拷贝构造和赋值构造。6. 结构体里有一个引用的话,这个引用占struct的内存吗。类里面写引用?懵了,之前没见过这种写法,没答上来。引用指向的内存是不在这个struct的内存中的,但是引用本身是用指针实现的,要占一个指针的空间7. sizeof(string)是定长的吗?没听懂,可以自行百度,是定长的,我以为问我sizeof一个字符串。手撕,给定一个字符串,比如aaaabbbaaaccc,一次操作可以将一串连续且相同的字符变成另一个字符,比如第一次操作可以将bbb变成aaa,或将ccc变成aaa。问:最少多少次操作可以将这个字符串变成由全部相同的字符组成,即全部变成a或全部变成b或全部变成c一开始的思路:先压缩字符串,aaaabbbaaaccc压缩成abac,然后统计压缩好的字符串中出现次数最多的那个字符的出现次数k,示例为a,出现2次。返回压缩字符串的长度 - k。提交给面试官,面试官说不对,但也不给我新的样例。我说我感觉这么做当前样例下没什么问题,面试官才又给我了一个样例abababcabacbab,对着这个样例想了半天也不知道哪里错了该怎么做,折磨,直接摊牌了说不会,面试官说那就面到这里吧。结束面试想搜一下这道题也没搜到,感觉是道hard,没有那么好做。救了大命了,真的写的折磨。5.16更新 一面已挂
查看38道真题和解析
点赞 评论 收藏
分享
05-13 15:58
已编辑
复旦大学 Unity3D客户端
背景:top3本,文科专业,23年毕业生,零游戏开发相关实习经历,无工作经验。毕业后23年下半年考研无果,24年下半年开始学习Unity游戏客户端开发的相关知识,如C++、C#、数据结构、算法、Unity引擎、图形学基础等。写了两个小项目,一个是很简单的光栅化软渲染器,另外一个是Unity开发的一个回合制RPG游戏框架。最近半个月开始找工,海投了一百多份简历,中大厂没有回应(不过也算意料之中),有回应的都是外包或者小厂小工作室。目前只有一个网易外包游戏客户端开发岗位过了,项目我觉得还可以,过两天定offer。现在很纠结和犹豫,不知道要不要接。一方面我清楚外包的各种不好,另一方面我觉得以我现在的情况,继续投简历一两个月下去,也很难找到更好的机会。为了之后更好发展的话,不知道网易外包是否算是目前的一个合理选择,或者说是,混经验的一个跳板。毕竟我零经验非科班的转行往届生,路确实难走,现在社招想要好的机会感觉无异于奢望。因此想听听大家的想法,希望大家可以给点建议,指个路。--------------------------------------------在这里顺便把面经贴出来吧,也不知道是否帮到有需要的朋友:一面(1h10min):1.自我介绍2.C++如何实现多态3.虚函数和纯虚函数,有什么特点4.C++和C#常见容器,C++中vector和list的区别,map和unordered_map底层实现5.C#垃圾回收6.多线程和进程7.IP地址,IPV4和IPV6,8.TCP和UDP,三次握手和四次挥手9.野指针10.智能指针,介绍shared_ptr11.设计模式,说了单例模式、观察者模式、对象池,然后问到MVC12.口撕LRU13.平时常玩的游戏14.游戏设置中有很多设置选项,玩家进行多个勾选、设置等修改操作,如果不想修改了,怎么实现?(我也不知道,就瞎说了个用栈记录修改选项操作,取消保存时候就弹出、恢复)15.ECS框架(不了解)16.详细说下我游戏项目的技能和Buff系统,cd怎么实现的,还有范围指示器的实现17.树的深度优先遍历和广度优先遍历18.走到n阶台阶的方法,简单说一下就行,dp方法,时间复杂度19.写了一道简单的算法题,已知n天股票价格,买卖各一次,最大利润多少。贪心、dp都行20.反问:我哪里需要提升?接触到的工作内容?(商业化功能,前期做些UI、3D模块) 工作环境?二面(1h):1.自我介绍,聊了聊为什么不想进入媒体行业,中间考研(包括半年时间准备从零跨考408,最后专业课复习不完,就又报名跨考了法硕,复试没过未果)、自学的经历2.时间复杂度和空间复杂度,举例说了说3.快排具体流程(只记得双路快排了,所以说了双路快排),时间复杂度,为什么是O(nlogn)4.最近打的游戏,问如何评价游戏性能优化做得好不好(我也不清楚,随便说了说,帧率、加载速度、DrawCall、Batches),举例说相关游戏设置选项,然后说了TAA和SMAA,问原理5.位运算6.线程和协程7.一道和专业关系不大,比较发散的脑力题8.同样和专业关系不大,问一个小团队中午点外卖,线下询问收集大家要点什么一起点,如果做一个内部小工具或者程序来改善流程,有什么思路去实现?9.leetcode41.缺失的第一个正数,问写过没,说写过,可以哈希、排序,忘记原地哈希的解法了。然后让写下排序解法10.反问:项目技术(系统向,用Python多,偏UI和模型),最快多久可以到岗11.最后又问了职业规划(继续深入游戏客户端,想学点shader和渲染)hr面:1.自我介绍,之前经历2.因为做了个Unity回合制RPG游戏的小项目,问为什么做这个?过程中遇到最难的点?怎么解决的?以后有没有要改进迭代的地方?3.找工作考虑什么?4.职业规划?5.是否顾虑外包?6.加班,是否接受工作强度?7.手上其他流程或offer?8.偏好网游还是单机?9.期望薪资10.家庭背景11.最快到岗时间12.反问:项目团队规模等等----5.13更新已拒打算再多找找,后续如果还有面经可能会再更吧
点赞 评论 收藏
分享
评论
25
40
分享

创作者周榜

更多
牛客网
牛客企业服务