游戏客户端秋招面经总结

前提回顾

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

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

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

全部评论
感谢分享经验
1 回复 分享
发布于 2024-12-27 13:55 广东

相关推荐

2024-12-13 14:33
华中科技大学 C++
本人25届,bg双九硕。秋招拿了鹅猪米的客户端/引擎的offer,投的几个中厂反而是一面/二面挂。之前在牛客看了不少面经之类的,这里也分享一下自己的学习路线。有相关问题也可以私信我,看到了就会回复,不过本人也是刚入行不久的小菜鸡,本文仅供参考。读研之前对游戏开发基本没了解,机缘巧合之下进入的游戏行业。研一学习了ue4的基本使用,用蓝图制作游戏demo之类的。很基础面试基本不会问,但是对ue有了初步了解。同时学习了games101,图形学有关内容做了作业,相关算法都较容易理解,网上找了软光栅项目跟着实现了一遍。研二进入某大厂实习,熟悉了大厂开发流程,这部分算是实习最大的收获,用c++在ue做了个游戏demo。同时自己私下开始对ue源码进行学习,发现实在太复杂,开始时浪费了很多时间。我现在是先确定自己想学习哪一模块,找一些相关资料看一下,学习一下相关理论算法,然后再找一个入口一点点啃,可以按自己想法删改一些源码,看会有哪些效果变化。同时,也把games202,104等,学习了一遍,还阅读了一些相关书籍,补充理论知识。研二下开始找暑期实习,简历写了自己的demo项目,以及自己看过的源码模块,写了自己的理解,部分面试官挺感兴趣的,问了不少,也是顺利通过。暑期实习时,下班时间也会准备秋招,看一些八股之类的,一般转正考核是八月,但是有些公司七月底就开始提前批了。需要提前取舍好,决定自己精力更多放在哪里。不过就算转正通过了,我也建议在秋招正式批多投几个公司,多找几个机会。至少毁意向毁转正这些都是存在的,而且最终薪资档位可能也达不到你的要求,也需要其他offer来a。秋招时简历写了自己的项目和实习经历,都问到不少。需要自己从实习中总结自己学到了什么,了解项目框架之类的,需要自己平时多留意,而非单纯做需求。校招比较考核基础,我面试遇到的基本就是c++,算法,项目以及实习经验,还有一些计网操作系统之类的计算机基础问的较少,因为本人对图形学了解仅限于理论,相关实践很少,所以简历没写,问的也不多。另外对ue源码的了解也问了一些,基本就是自己介绍从中学到了哪些,这也是我相较于其他同学的唯一优势。最后,我想说的是,无论是找工作或者学习,运气始终占据了很大一部分因素。可能与你捞你的部门,项目组,面试官,甚至投递的时间先后有关。做为学生,能做的就是提升自己的水平,不断学习,同时在面试中向面试官主动展示自己的长处,展现自己的潜力。#牛客创作赏金赛#
点赞 评论 收藏
分享
评论
7
18
分享
牛客网
牛客企业服务