游戏客户端秋招面经总结

前提回顾

秋招结束后忙着毕设以及去玩了一段时间,想着给这段牛客之旅画个句号。

BG:中游985+两段大厂实习,大二暑假+大三暑假两段,其实可以刷多1-2段,但是感觉2段应该是够用了。

技术项目为UE项目+后端项目(Unity太久没用就没写了)

今年的游戏客户端秋招难度不小,莉莉丝和鹰角的提前批都没过筛,呃呃呃

然后投了米哈游、网易、快手、字节、游卡等,总体投的不多,没有海投,而且基本只投游戏,最后选择在鹅转正了。

timeline在上一篇有

面经

字节

一面

C++:

  • 类的存储
  • 虚函数表的存储位置和调用
  • enum class 的好处/和enum相比较
  • 操作系统进程和线程的区别
  • 线程的通信方式
  • 了解容器嘛
  • vector怎么实现的一定都要开辟再拷贝嘛?
  • 能不能在原来基础上开辟呢?(好问题)
  • map和unordered_map区别 简单说一下红黑树为什么不用AVL树用红黑树
  • 介绍下A*算法
  • A*算法的缺点,为什么游戏中不使用
  • 线程之间的通信方式
  • 哈希表中的value存储什么(链地址模式)

UE:

  • 反射机制怎么实现的
  • 组件有哪些类型
  • FName、FTEXT、FString怎么实现的?
  • UE的网络架构(不会)
  • 屏幕点击了,怎么知道是哪个控件呢?

很多UE的八股吧、、还不够熟悉,这是个很大的问题

代码:

  • 平面上N个点求斜率最大的点

二面

  • 解释一下inline函数,inline函数可以是虚函数吗
  • 析构函数可以是虚函数吗?
  • 口述单例模式的实现提到了互斥锁,那C++还有什么锁
  • 内存泄漏有什么解决方式智能指针RAII
  • 了解C++的智能指针吗?详细说一下unique<ptr>可以作为返回值吗详细说一下shared_ptr是怎么实现的引用计数是线程安全的吗?为什么
  • 平常玩啥游戏
  • 解释这个游戏的网络协议
  • 说一下TCP协议和UDP协议的区别
  • 帧同步和状态同步
  • UE了解多少?做过什么项目
  • 开始问项目了
  • 有看过UE源代码或者什么资料嘛
  • 大钊老师的Gameplay架构UObject后面就问了源代码
  • UObject如果不要垃圾回收怎么实现
  • 渲染管线了解吗?Opengl的渲染管线(没看过opengl)
  • 解释了RTR4中的渲染管线顶点着色器和像素着色器联系,
  • 我提到了MSAA,问了MSAA
  • 解释了MSAA还有什么抗锯齿技术
  • SSAA、TAA
  • 深度缓冲,解释一下透明物体需要记录Z值嘛

代码:

  • 队列实现栈

三面

  • 问了实习内容
  • 单例模式new一个新对象怎么办?这个是怎么处理的构造函数的部分
  • A*算法和Dijstra区别
  • 游戏中Navigation部分
  • 设计一个背包系统(写代码)考虑各种情况,空位置-加物品超上限

这一面比较偏应用,要求速写代码+设计系统

祖龙

一面

八股文:

  • C++多态
  • 函数重载
  • 为什么不能返回值不同
  • volatile关键字
  • extern C

代码题:

  • 最小覆盖子串(时间复杂度和空间复杂度O(N))复杂度太高
  • 树的序列化和反序列化(时间复杂度和空间复杂度O(N))忘记了char*的用法了,写不出来
  • 实习中遇到最困难的事情

祖龙偏代码,代码部分都是hard上再加点修改,要求最优解

也可能因为我免笔试了、、考验我

游卡

一面

  • 介绍一下项目
  • 项目中实现了什么功能,战斗系统框架是怎么设计的?
  • 动画有几个?有没有做动画的过渡这些
  • 介绍一下渲染管线
  • 有没有用过Unity的插件
  • 有没有了解算法,A*和Dijstra区别
  • 实习和自己做demo的感觉
  • 未来职业规划

二面

  • C++模板
  • C++动态内存分配有什么方式
  • 职业规划
  • ...还有一些忘记了,问的不多

手撕:

  • 图片求内存
  • 数字逻辑题
  • 扑克牌问题

快手

一面

代码(15min):

  • 最大频率栈

八股文

  • const含义,有什么作用
  • 动态多态含义
  • vfptr指针存储位置
  • 多继承的含虚函数的对象布局
  • map、set底层实现解释一下红黑树
  • 为什么红黑树插入删除效率高
  • 为什么红黑树插入删除后迭代器没有失效
  • STL各种容器分析
  • 动态规划实际应用
  • 进程、线程问题
  • 设计模式问题
  • OS的计算题,手写

二面

  • 实习内容
  • 然后随机选题和扩展

代码:

  • 最长无重复子串
  • 归并排序

这一面比较随机,面试官会扩展,参考性不强

甚至还有多道智力题(可能因为我简历写有数学奖项)

总结

今年投的没有很多,而且是边实习边面的,那段时间需求有点多,这也导致了我复习时间不够,所以还是有点难受的。

如果可以的话还是建议大家忙完答辩之后全力准备这样,然后没有复习思路的多面几家就好了,你就知道大概会问些什么。

总体来看八股还是集中在C++和游戏开发技术上面,算法介于mid-hard之间。

可能后面不咋呆在牛客了,最后感谢牛客上大家的帮助,也希望这篇总结能帮助到大家。

祝愿牛友们都能拿到满意的offer

#游戏求职进展汇总# #大厂##牛客创作赏金赛#

全部评论
感谢分享经验
2 回复 分享
发布于 2024-12-27 13:55 广东
感谢分享经验
点赞 回复 分享
发布于 02-20 19:42 江苏

相关推荐

第一回&nbsp;菜狗偶遇抽象前端甲方,弃前端从游戏欲酬凌云志如题,鼠鼠是一个26届毕业的普本学生。在大一的时候就自学了前端,刚开始做着还是蛮开心的,但是做着做着越来越感觉没意思,当时感觉写前端感受不到快乐,看着千奇百怪的业务和需求一直在变的甲方越来越觉得做不下去。有的时候看着js/ts那种匪夷所思运行结果更是道心破碎。遂决定转行,这个前端真的一点都写不下去,于是自学了unity,在大二下的时候找到了一份小厂的游戏客户端的实习,并且沾沾自喜觉得我的秋招会赢的。第二回&nbsp;鼠鼠实习偶遇抽象项目,竭尽全力无法战胜鼠鼠在找到实习之后兴高采烈地去实习了,结果碰到的是某个大厂包给我们的外包项目。魔改抽象unity无法战胜,基本上上班的时候一直在跟他们抽象的工作流进行搏斗。好消息是技术有了0个进步,坏消息是鼠鼠因为经常加班甚至连算法都丢掉了,更不用提八股什么的。在这个项目结束之后鼠鼠屁滚尿流地滚回学校了打算沉淀暑期。第三回&nbsp;遍投实习无人问,写代码未成只能搞直播鼠鼠原本想沉淀一个比较牛逼的ue项目,兴高采烈地解包把资源解包好之后发现各种奇奇怪怪的问题。各种贴图丢失都是其次,主要是因为LOD层级过于混乱,加上解包出来的动画过于抽象,大概有400+组动作。妄想直接套als结果发现人物走路好笑至极,项目难产。由于项目的难产,鼠鼠去沉淀了一下八股就去投简历了,结果发现有0个一面通过,绝大多数甚至连初筛都过不了。鼠鼠从二月中旬投到现在,手上最好的offer是某公司的游戏直播,去当代打然后加上直播赚钱。算起来竟然底薪比鼠鼠上一份实习要多。第四回&nbsp;强劲学长恐怖如斯,指哪打哪直接约面鼠鼠在经历了一个月0个二面的折磨之后道心破碎,遂半学半玩。有时候背着背着八股/力扣就直接四字游戏启动。正当我颓废不堪的时候有一个强劲的学长直接帮我约上了面,但是这个公司鼠鼠面过,一面答得破碎不堪。鼠鼠没有信心,但是为了至少不让学长太下不来台,这两天正在猛猛背八股。那有人就问了,主播主播你的项目怎么办。凉拌哈。鼠鼠因为快一年没有碰过原生unity,现在看见unity无比陌生,只能寄希望于八股能答得差不多不丢学长面子了。第五回&nbsp;待续.......#游戏客户端##简历中的项目经历要怎么写##不给转正的实习,你还去吗##一句话证明你在找工作#
点赞 评论 收藏
分享
nico223:加油,C++可以多看看知乎steven王和B站十二岁的闰土,c++一定要把类的内存模型啃下来
查看19道真题和解析
点赞 评论 收藏
分享
评论
29
143
分享

创作者周榜

更多
牛客网
牛客企业服务