天美j3 游戏客户端开发实习 面经 (已接受offer)

本人美国计算机工程本科(UIUC),目前在读硕一(南加大)。自己对之前的专业方向不大满意,是从年初开始准备游戏方面的知识和项目的。这次申请了是腾讯2021夏的游戏客户端实习,有内推。本来意向填的是上海NeXT,但之后来跟进面试的是深圳天美J3

目前面试已经结束,接受了offer

第一面:

虚函数表和指针

项目中的人物Statemachine(用多态实现的FSM

项目中的设计模式

快速排序

操作系统中的转换上下文,调度器,CUDA异构编程(简历上有)

面试官没有急着进入正题,先问了我喜欢什么游戏,我说类银河恶魔城,类魂和roguelike我都很喜欢。结果面试官似乎很有兴趣的样子,围绕着聊了很多非专业的话题。大概十多分钟后才转进,让我介绍简历上的一个进行中的游戏项目(2d横版roguelike),细问了人物的StateMachine,还有Roguelike部分的升级系统。中间穿插了一些特别基础的c++和算法知识。大概是因为我简历上有操作系统和异构编程的经历,面试官也让我介绍了,但没深入追问。

总的来说一面简单的有些不可思议,应该是比较幸运的缘故。

第二面:

C++11的智能指针,自己实现shared_ptr,线程安全

Std::threadring buffer

在内存受限的前提下排序数据(归并),优化I/O与缓存

虚函数表与指针

C#的协程,底层实现方式,有没有在Unity背景外用过(我回答没有)

二面难度正常了一些。最后面试官还问,有没有想过从事游戏开发中的哪个方向。我回答说可能不是渲染,也不是底层引擎,而是和玩法相关的逻辑部分。自我感觉说的太笼统了。结束前聊到了UnityUnreal的区别,被追问了UnrealLua的经验(我说没有)。

第三面(复试):

C++内存池,具体实现

TCPUDP,用UDP实现TCP的重发与拥塞控制

Fps游戏中优化射线检定(这个问到我的盲区了,只能在unity背景下说了layer mask和用简单collider替换mesh collider,不过感觉面试官还算满意)

Std::threadring buffer,更多的多线程数据结构(我没答上来)

Ordered_map和底层实现红黑树

第三面很紧凑,面试官基本上是一个接着一个的抛问题,很多领域我都知之甚少,说的磕磕绊绊的。不过,面试官最后详细的问了毕业时间和安排,结束后网上的状态也立刻变成HR面了。

总结下来就是实习相关的面试,基础真的非常重要。网上的面经问题一定要实打实的准备好,最好能和自己的项目细节结合起来。被问了知识盲区中的问题也不要慌,按自己懂得说,说细致一些,面试官会明白你的侧重点,然后转变考察的内容的。

最后祝各位都能从容应对面试,拿下offer~

#实习##面经##C++工程师##腾讯#
全部评论
恭喜恭喜
点赞
送花
回复
分享
发布于 2020-12-21 10:48
请问第三面是主管面吗
点赞
送花
回复
分享
发布于 2021-03-27 18:08
秋招专场
校招火热招聘中
官网直投

相关推荐

timeline如下:主要投递游戏客户端和引擎开发岗位,3月17号投递简历,本来想着先拿小厂练手,没想到腾讯是最先约面的。17号周日晚上投的腾讯,20号约面21号下午3点天美一面,面经如下:1. 自我介绍2. 怎样学习新技术3. 目前在干嘛4. 20min项目,UE项目,主要是网络同步方面5. C++八股:   1. 虚函数原理   2. C++生成可执行程序的过程   3. 内存 堆和栈 的区别   4. 内存对齐   5. CPU 有哪些优化内存的手段   6. map 的底层原理   7. unordered_map 的原理   8. map 和 unordered_map 的对比   9. 哈希表   10. 碰撞处理   11. 怎样减少碰撞   12. 数据库是怎样实现的?为什么使用 B+ 树而不用哈希表?6. 开放性问题:   1. 你会怎样制作一个内存分配器   2. 堆中的内存碎片怎样处理7. 操作系统:   1. 进程和线程   2. 虚拟内存   3. 锁怎样实现   4. (答了两种TestAndSet)问它们的使用场景?为什么?8. 做道题吧:   1. 设计一个库,使用 C语言 实现 C++ 的虚函数机制(我直接裂开),不会,说了思路,他说大概是对的   2. 爬楼梯,递归和非递归9. 最后一个问题:只考虑渲染方向吗?gameplay 可以吗?无反问,最后说了一句:我会尽快把反馈给到你。总计 1h。我觉得答得很好,95%都打上了,但是最后流程卡了8天自动结束了(未完待续......)
点赞 评论 收藏
转发
10 53 评论
分享
牛客网
牛客企业服务