2025暑期实习游戏开发/Unity开发/VR开发面经总结

面试公司: 腾讯、字节跳动、阿里淘天、阿里高德、网易雷火、快手、小腾汽车

投递岗位: 游戏客户端开发(腾讯、字节跳动、网易雷火、快手);VR/Unity开发(阿里淘天、小腾汽车);图形学算法(阿里高德)

说明: 面经按照问题类别分类,不按公司分类。有些问题可能引自我的个人项目,会标明。

C++:

  1. 虚函数/虚继承
    • C++虚函数机制?
    • 虚表指针存放在哪儿?存放在实例化对象内什么位置?为什么要存放在这个位置?
    • C++虚继承机制?虚继承用于解决什么问题?
    • 构造函数可以是虚函数吗?
    • 析构函数可以是虚函数吗?
    • 析构函数非虚会有什么问题?
  2. 智能指针:
    • 介绍C11的新智能指针
    • shared_ptr循环引用怎么解决?
    • 看过shared_ptr源码吗,shared_ptr的底层机制介绍一下?
    • shared_ptr是否是线程安全的?为什么?
    • 如何自己实现一个shared_ptr?
  3. 内存对齐:
    • C++内存对齐规则(一般会给例子计算一个struct或class的大小)
    • 为什么要内存对齐?
    • 强制不内存对齐场景?如何强制不内存对齐?
    • class增加函数是否影响class的大小?为什么?
    • Enum和Union
  4. 内存管理
    • C++内存管理机制?
    • new的对象放在内存什么分区?
    • 如何强制new的对象在栈中?
    • C++内存泄漏?如何检测内存泄漏?
    • 如何避免内存泄漏?
    • C++野指针?如何检测野指针?
    • 栈溢出?什么情况下会栈溢出?
  5. STL
    • vector和list的差距?哪些场景是否vector?哪些场景适合list?
    • push_back和emplace_back的差距?
    • map和unordered_map的差别?
    • vector是否线程安全?
    • 什么情况下STL迭代器会失效?
  6. 杂项
    • static关键字用法
    • const关键字用法
    • C++编译过程?链接主要做了哪些工作?
    • 什么是指针?什么是引用?指针和引用区别?
    • 左值和右值?左值引用和右值引用?
    • move函数?运用场景和作用是什么?
    • 浅拷贝与深拷贝?怎么实现浅拷贝?
    • C++有哪些锁?有什么应用场景?
    • C11有哪些新特性?

三维引擎:

  1. Unity各个文件夹干什么用的?
  2. Monobehavior生命周期
  3. Unity物体的数据存储在哪里?
  4. .NET垃圾回收机制?
  5. Godot和Unity有什么不同?(项目相关)
  6. Godot有什么独特之处?你为什么选择Godot做开发?(项目相关)

计算机基础:

  1. TCP&UDP相关
    • TCP和UDP是什么?两者区别?
    • 详细说说TCP三次握手?三次握手每次握手丢包会怎么样?
    • TCP保证可靠通信的方法?
    • 如何设计使得UDP实现可靠通信?
  2. HTTP协议不同版本之间的差距?
  3. Socket通信底层用TCP还是UDP?Socket通信有什么好处?
  4. 进程、线程、协程的定义、区别及应用场景。
  5. 并发和并行有什么区别?
  6. 什么是虚拟内存,有什么好处?
  7. 32位系统最大虚拟内存?64位系统最大虚拟内存?windows操作系统支持的最大虚拟内存?
  8. 介绍常见设计模式?
  9. 堆排序?
  10. 快速排序什么情况达到最差?最差时间复杂度?
  11. 稳定排序算法的定义?有哪些经典排序算法是稳定?
  12. 常见寻路算法?A* 算法?
  13. 红黑树?
  14. 哈希散列表,散列表需要注意哪些问题?

计算机图形学:

  1. 渲染管线相关:
    • 基本渲染管线?
    • 视锥剔除在渲染管线的哪个阶段?
    • 光栅化具体做什么的?
    • 透明物体渲染?
    • 顶点坐标包括哪些数据?
    • 知道顶点着色器和片元着色器吗?它们的作用都是什么?
  2. 正交投影和透视投影?如何实现近大远小?
  3. 知道四元数吗,它相比旋转矩阵和欧拉角有什么优势?
  4. 如何保证物体的平滑旋转?
  5. 我有一个正方形纹理,我想要把他变成圆形的,怎么办?
  6. 什么是DrawCall,为什么要减少DrawCall?
  7. MVP矩阵及其具体含义作用?
  8. 什么是mipmap?mipmap的作用是什么?如何确定mipmap的层级?
  9. 纹理映射方法有哪些?各向异性采样的应用场景?
  10. 介绍一下骨骼动画?(项目相关)
  11. GI是什么?Godot引擎有什么实现GI的方式(项目相关)
  12. 怎么实现水面波动效果?(项目相关)
  13. 怎么实现AO效果?动态AO效果怎么实现?(项目相关)

场景题:

  1. 设计一个排行榜,排行榜可能包括不同维度(网易雷火)
  2. 有一个天平,你可以自由设计砝码的重量,如何使用尽可能少的砝码数量称出所有重量?如何证明你的设计的正确性?(网易雷火)
  3. 给一个二维数组,1表示陆地,0表示海洋,二维数组保证只有两块连续的陆地,现在想要在两块陆地之间建一座桥如何确定桥的最短值?(网易雷火)
  4. 看代码纠错,具体代码已忘记,类似传输文件流解决对齐问题(腾讯)
  5. 给海量数据,如何获得其中最大的1000个(腾讯)
  6. 有一个计时器列表,如何设计能最快找到最先会被触发的计时器(腾讯)
  7. 如何设计能够使vector的中间删除效率变高(腾讯)
  8. 有一串字符串怎么找到第一个重复的字符(腾讯)
  9. 调用new和delete时自动加计数和减计数(类似shared_ptr),如何实现?(腾讯)

手撕:

  1. 实现LRU(腾讯、字节跳动、小腾汽车 Leetcode-146)
  2. 判断一棵树是否为平衡二叉树(腾讯 Leetcode-110)
  3. 获取链表的中间结点(腾讯 Leetcode-876)
  4. 反转字符串中的单词(字节跳动 Leetcode-151)
  5. 最小路径和(快手 Leetcode-64)
  6. 设计实现一个单例模式(腾讯)
  7. 判断一个点是否在三角形内(高德地图)
  8. 你有两种攻击方式:群攻和单攻,且单攻的攻击力一定比群攻高,已知两只怪物的血量,求最优的攻击方式使得攻击次数最小,要求递归与非递归两种实现方式(网易雷火)
#面经##游戏客户端开发工程师##腾讯##字节##网易雷火#
全部评论
我就说吧,这面试题挺正常的,我面的一个小厂,c++给我问不自信了,问一个点一直深挖,检测内存泄露的原理,main函数有几个参数,还说远古时期有三个参数,我怎么知道远古时期
1 回复 分享
发布于 05-15 15:30 河南
mark一下大佬
点赞 回复 分享
发布于 05-20 15:50 天津
mark一下大佬
点赞 回复 分享
发布于 05-20 10:58 山东
mark一下大佬
点赞 回复 分享
发布于 05-14 10:19 天津
mark一下大佬
点赞 回复 分享
发布于 04-30 10:45 山西
mark一下大佬
点赞 回复 分享
发布于 04-28 18:04 山东
mark一下大佬
点赞 回复 分享
发布于 04-26 11:55 广东
mark一下大佬
点赞 回复 分享
发布于 04-25 16:03 北京
mark一下大佬
点赞 回复 分享
发布于 04-24 12:27 广东
mark一下大佬
点赞 回复 分享
发布于 04-22 15:18 江西
雷火我也被问了这道题
点赞 回复 分享
发布于 04-22 11:56 江苏
mark一下大佬
点赞 回复 分享
发布于 04-22 11:43 湖南
佬,在这之前有实习吗?
点赞 回复 分享
发布于 04-21 19:46 辽宁

相关推荐

整理下面经和之前自己的疑惑第一次写面经bg 211本 两段中小厂Cocos实习timeline(学校有绿通所以没有笔试)3.27线下绿通一面4.8线上二面4.16线上三面4.26测评4.27hr面每面都会提一嘴游戏经历和为什么选择游戏行业————————————————————一面 1.5h内容与简历强相关,凭着记忆应有以下内容1.设计模式 楼主讲了单例模式(事件中心),mvvm以及mvc2.资源加载以及GC相关,基本是照着引擎文档答的3.开源框架 楼主讲的oops-framework4.ECS架构 原理和优势5.性能优化 包括内存优化和渲染优化,自己实习中实际做过哪些以及一些调试工具的使用,这个部分是楼主的实习内容之一所以讲了很久6.渲染管线 两个着色器作用7.帧同步状态同步8.Cocos和Unity区别 但是当时楼主因为毕设刚开始接触Unity,所以讲的是微信小游戏和原生端的开发区别,涉及到SDK,包体大小和分包啥的,Unity部分面试官知道我不会也就没深入问。9.C# zenzen哇嘎乃直接过10.C++常规八股 着重内存对齐和移动语义11. 反问 校招生培养——minigame二面40min主要是对一面的补充,除此之外:1.寻路算法 navmesh2.怎么写一个技能类(也是楼主的实习相关,讲了很久)3.手撕单例模式 C++和TS各写了一遍,到这里才发现自己C++已经写起来很陌生了,想定义个类都忘了有没有分号4.手撕leetcode简单题(楼主leetcode一共写过不超过20道题所以写的磕磕绊绊的都以为寄了)5.反问 面的不好没心思反问了,开玩笑的还是问了一下哪个项目组——雷火的校招过程中不区分项目组,offer阶段才会有某个项目组来捞人三面40min主要是对一面二面的补充,除此之外:1.介绍自己UI仔阶段中一个可热更线上活动的具体实现,主要包括一个抽卡界面,排行榜,商店,IAP购买等业务细节,因为涉及到前后端协作所以穿插了一个protobuf2.实习中写的一个UI组件,以及Unity中实现这个组件的区别,因为楼主用到了射线检测所以顺便问了一些图形学内容,但楼主简历没写图形学所以问的也不深。2.手撕string类3.反问 怎么看待Unity近期的作死行为hr面所有hr面中最技术相关的一集,十分关心楼主的技术成长经历,倒是没什么性格和职业发展规划相关的提问。总结就是八股较少,基本都是围绕着简历在提问(二面和hr面会感觉有点压力)。虽然感觉自己在池子里的顺位应该会比较低但是还是有点想知道会被哪个项目组捞。
查看18道真题和解析
点赞 评论 收藏
分享
🔥【网易互娱测试开发岗】暑期实习面经独家揭秘!26届速存!投递传送门:https://game.campus.163.com/m/home?st=YTE1ZTlhNDUtNmNlMC00ZTI5LWE2ZjUtZGMxNTNhNDhjNzlm内推码:【9QcfNR】🚀 【面试全流程拆解】测试开发岗专属版1️⃣ 笔试环节题型结构:编程题(3道,ACM模式):中等难度********+游戏逻辑测试特化题真题示例:python测试《永劫无间》武器耐久系统:输入攻击次数列表,每次攻击消耗耐久值=当前耐久*0.1,耐久≤0时武器断裂求武器断裂时的攻击次数(需处理浮点精度问题)def break_attack(attacks):current = 100.0count = 0for _ in attacks:current -= current * 0.1count += 1if current <= 1e-6: # 处理浮点误差return countreturn -1测试设计题:针对游戏场景设计测试用例真题示例:> "请为《蛋仔派对》新上线的「空中足球」模式设计测试用例,需覆盖物理引擎、网络同步、外挂防御等维度"2️⃣ 技术面(2轮硬核拷打)高频考点:游戏测试理论:手游兼容性测试的机型覆盖策略(TOP 50机型如何取舍?)弱网测试工具链(如何模拟全球不同地区网络波动?)外挂检测方案(内存修改/加速器/自动脚本的防御思路)自动化测试实战:用Python+Pytest搭建自动化测试框架(要求支持《第五人格》多角色技能组合测试)如何用Charles抓包验证游戏商城的支付链路?Jenkins持续集成中测试报告生成的最佳实践游戏开发底层:Unity Test Runner与自动化测试框架整合方案游戏客户端AB包差异测试方法(Hash值对比/资源依赖树校验)3️⃣ HR面(隐藏雷区预警)致命提问:"如果策划坚持认为不是BUG而是特性,你会怎么办?""如何看待测试在游戏研发中的地位?""连续3天通宵复现偶现崩溃BUG,但依然无法定位原因,你会如何处理?"✅ HR面高情商话术- 当被质疑测试价值时:> "我认为测试是用户体验的最后一道防线,比如《阴阳师》抽卡概率公示就是通过严谨测试建立的玩家信任"- 被问加班态度:> "我有凌晨复现BUG的经历(举个学校项目例子),关键是要用自动化手段提升效率,而不是纯人力消耗"                                                                                                                                              (评论区留言岗位+城市,楼主及时跟进)
点赞 评论 收藏
分享
评论
44
210
分享

创作者周榜

更多
牛客网
牛客企业服务