腾讯游戏客户端实习(天美)

在艰难等待中写面经攒攒人品,
3.9
投简历。
3.14
被天美捞起来。
3.18:一面(30分钟左右)
1.虚函数?(虚指针,虚函数表)说了一下详细过程。

2.用过的STL。(答了vector、map,也讲了下其他的list、set)

3.STL中sort()函数用的是什么排序?
(答的快速排序,面试前看过一面试就忘)
其实应该根据情况用了快速排序、堆排序、插入排序。然后面试官就问看过源码嘛(那自然是没有....

4.快速排序的时间复杂度(nlogn,还说了最坏的情况)

5.基于比较的排序最快时间复杂度?(nlogn)
追问:理由?
答:感觉基于比较找一个数是O(logn),n个数就是nlogn,像二叉树的感觉。
面试官:猜的嘛?
答:嗯!

6.生产者消费者避免锁操作的损耗?
(多线程没怎么了解,就说生产满了才让消费,消费完了才让生产就不用加锁)太憨批了
面试官接着说了想问的是无锁队列:我只能说不了解。

7.数组找出最大和次大。(我说遍历两次???
面试官问:能更快吗? 
我想了一下(我居然问数组有序嘛?有序找锤子。) 
然后感觉不拖时间了就说:不知道(其实只过了几十秒)
面试官就笑了一下:就放弃啦。(然后继续了)
面完后复盘:平时做题都知道维护两个变量遍历一遍就行了。还是太紧张了,估计想问到topk的被我直接打断了。

8.shared_ptr原理。(追问存在的问题:循环引用(举出例子)(解决:weak_ptr或者不用智能指针,自己释放内存)


9.BVH树的构造。(SAH优化原理,节点包含了什么,遍历过程)

10.SSAO的原理。

11.CSM的原理。

12.点光源阴影。

12.渲染管线。

13.高斯模糊,具体怎么做。(将滤波拆成x,y两个方向分别做一次过滤)
追问:为什么能拆?
答:根据函数性质,算出数据和二维滤波一样的结果。(被说不对,就说不知道了)


14.渲染时提高效率的方法(能说多少说多少)
当时只说了:减少if语句的使用(追问为什么)
unity中的合批。(我说加快了gpu上的速度被指出应该减少的是调用渲染的消耗)
其实还有剔除、lod技术等(面试自然忘了

15.用过什么引擎。(unity,只是用过)

反问:部门 (赛车类
反问:意见 (基础要加强,多实践

本来觉得凉了,结果捞了一手(感谢面试官🙏

3.20 二面(40分钟+)
1.多态(静态和动态)

2.虚函数表的时期和位置(编译期,常量区)

3.菱形继承,最下层子类没有继承虚函数,两个父类继承了他们父类的虚函数,问最下层子类的虚指针数(答的两个,只有继承的两个父类的虚指针,说了一下内存布局)

4.移动语义,move()的作用。

5.问move一个const变量发生什么?
(不会调用移动构造函数,因为const变量不能被更改,会转成拷贝构造函数)

6.写过移动构造函数吗(照着写过,说类似剪切和粘贴,直接转移变量)

7.透视投影和正交投影的区别(透视投影物体大小受远近影响

8.透视投影矩阵的推导(简单说了相似三角形加变换矩阵投影到-1到1,说的有点乱,面试官不是很满意,不过自己确实一下子说不出具体过程)

9.着色时三角形内部如何计算。(三角形重心坐标插值)

10. mipmap的原理,gpu是如何层级选择。(答根据像x,y方向分别采样下一个,估计出对应到纹理贴图的大小再取对数。被说不对,可能想问直接求偏导ddx,ddy?)

11.走样产生的原因(采样率不足

12.知道的反走样算法(msaa,ssaa,smaa,taa)

13.shadowmapping会出现的问题和原因。(查找深度时同一片区域会有同样的深度,实际上深度不同)

14.PCF的原理。

15.光线追踪的原理以及光线何时停下(我的做法是限制了弹射最大次数)
除了到最大弹射次数还有什么情况(反射到了光源

16.光线追踪有没有什么降噪技术(没用,但是知道可以在时间上复用前几帧加权进行降噪)
又问:为什么不用 (因为太菜了😂

17.SSAO如何知道结果是对的。(先说眼睛看出来的👀,后面改口说过程中将环境光遮挡系数着色可视化出来,又问那怎么确定是正确的,我又回答说眼睛看的,角落颜色会更深。后来就算了)

18.用unity做过什么?(说没学多久,做了个地牢的随机生成程序,用animator做了下跳跃、翻滚、攻击)

19.追问地牢生成中的Dlaunay三角网算法怎么写的。(最开始自己是根据性质每两点外接圆不包含别的顶点暴力的,后面果断下了个库)

20.NavMesh看过源码嘛(只了解过,没看过,然后说了下A*)
 
21.遍历二维数组行遍历和列遍历的区别(行遍历顺序存储,列遍历需要地址变换效率更低。追问还有吗?不知道了)

22.硬盘数据到内存太慢了用什么解决的(说了cache,要再具体点,说不了解,这里不知道该答什么,有可能问题听错了)

反问:意见(基础还行 多实践
反问:具体部门(飞车部门

3.24hr面(30分钟+)
都是常规问题:平时如何学习,考不考研,家在哪,有没有女朋友(没有),有没有什么爱好,实习地点有没有要求,玩过哪些游戏(说了csgo、lol、原神、巫师三、黑魂等,居然说玩的类型不太多,我心里想怕都说了太浪费时间了,就说各类游戏都玩)。

反问:多久出结果 答实习还没正式开始,大概两周左右(估计是还要横向难受

三面全部面试题有点久有些记不全了,列了大部分。 

3.29云证+测评

4.1变录用评估

现在大家流程好像大部分都没走,希望能有hc都能早日oc。求给个offer!

4.14
流程结束 寄
#游戏客户端开发实习##Unity Technologies##实习##腾讯##游戏客户端开发工程师#
全部评论
这个猜的嘛?嗯!有点难绷🤣
2 回复 分享
发布于 2022-04-13 16:04
哈哈 恭喜加入我们等待大军😅
2 回复 分享
发布于 2022-04-08 19:28
羡慕大佬
2 回复 分享
发布于 2022-04-07 12:50
大佬,为什么投的游戏客户端,会问这么多图形学算法的问题呀?
1 回复 分享
发布于 2022-04-14 14:42
大佬,请问您有时间能写一个学习路线吗?菜鸡正在准备明年春招,希望看到您的学习经历
点赞 回复 分享
发布于 2022-10-14 18:14 陕西
面试的时候没有让写算法题嘛
点赞 回复 分享
发布于 2022-06-11 20:05
暑期实习投简历已经过了嘛😭
点赞 回复 分享
发布于 2022-05-24 21:22
老哥你这是暑期实习还是春招的?怎么是3.18号😱
点赞 回复 分享
发布于 2022-05-07 12:51
唉我也是三面聊聊天,问了下学习情况啥的,然后就挂了,感觉是被kpi面了
点赞 回复 分享
发布于 2022-04-28 13:06
兄弟我跟你一样,在录用评估等了挺久的,然后流程结束了。前几天又投了被捞,今天二面,希望能过吧
点赞 回复 分享
发布于 2022-04-22 22:47
直接结束流程,太狠了估计是腾讯也是在裁员,uu加油
点赞 回复 分享
发布于 2022-04-17 11:46
啊?兄弟难受啊😬 看你回答的蛮不错啊 图形学也答得很好 可能无hc了
点赞 回复 分享
发布于 2022-04-17 00:22
录用评估 然后不给offer?
点赞 回复 分享
发布于 2022-04-16 14:52
流程直接结束了 难受了😭
点赞 回复 分享
发布于 2022-04-14 17:37
朋友你现在拿到offer了嘛!
点赞 回复 分享
发布于 2022-04-12 18:11

相关推荐

“我靠,刚才面阿里某部门,项目聊得很好,手撕没撕出来,挂了。”前两天听朋友这样吐槽时,我正处在一种类似的焦虑中:发现自己越来越依赖各种 Coding Agent,开始担心代码能力会退化。朋友的情况在面试中很典型,但有点特殊。很多人觉得刷算法题对实际工作帮助不大,但在目前某些厂的考核体系下,这依然是刚需,要面试只能去刷题,没办法。我想聊的是更本质的问题:在解决实际问题的场景中,我们该如何平衡 AI 工具与自己的代码能力?“代码能力”本身其实有点难定义,不仅是熟悉语言特性或数据结构,更重要的是能把一个实际问题转化成解决它的脚本。现在 Agent 用多了,最直观的感受是:坐在 IDE 面前,不知道该干什么。其实这不是coding能力退化了,是根本没定义清楚自己要解决什么问题,以及用什么方式去解决。手搓代码这件事,早些年大家也是靠CV解决问题,并不是每一行都自己敲。但现在的趋势是很多 Agent 会隐藏内部工作细节,只在特定时刻让你检查进度。这种做法能减少信息干扰,但也极大地依赖模型能力。如果模型本身能力不够,它可能会在后台陷入反复调用一个工具的死循环,没有任何结果,token一直在跑,而你甚至不知道。即便模型能力足够,agents也把规划、调试和审查的过程藏了起来,只留下一个“working”的状态,时间一长,导致我们再次面对代码时会产生一点抗拒感。关于对代码的掌握度,Anthropic 曾做过一项研究,调研了不同模式下开发者对代码的掌握程度:全部交给Agent:最快,但对代码的掌握度为0;纯手搓组: 对代码掌握程度最高,但速度最慢;人机协作组(生成后解释): 模型不仅输出代码,也输出理由。这一组的得分往往也较高,对代码的掌握也更平衡。话又说回来,现在有一种观点认为,大模型已经发展到不需要我们去关注代码细节了,人只需要有“产品思维”,从业务和需求角度给 AI 分任务就行。但我个人认为,鉴于大模型是有幻觉的,我们对编程语言的常用库和特性依然要有基本的认知,因为你的追问也许可以发现大模型错误的认知,从而在早期避免错误的设计。否则,在后续的调试阶段,你可能要花费比别人多得多的沟通成本和 Token。所以,即便有工具辅助,依然要对代码有一定了解。比如它设计了哪些数据结构,用了什么框架,为什么要这样实现。当 Agent 调试成功后,我们可以多问它几个问题:刚才是哪里错了?你怎么知道的?这个命令具体是什么意思?......这种让大模型进行自我解释的过程,能有效增加你对代码维护的了解程度。
AI求职实录
点赞 评论 收藏
分享
学院本双非硕有一段ai初创实习经历,找暑期太难了,没有约面的,只有小红书约面了,明天面。金山的offer先接了,然后骑驴找马了。下面是面经,发出来攒人品了。1. 自我介绍,尤其是对你的项目内容,就是你的项目经历,或者是你自己比较擅长的领域,可以展开去聊一聊。2. 对于你这个实习或者是项目里面,你觉得哪一个点或者是你印象比较深的,你可以直接展开聊一下。说了 tab 补全那里的链路重构,面试官说我思路很清晰3.  Google Adsign 接入唯一ID,这个唯一 ID 是自我自己生成的吗?【实习】4. 使用 Redis 加 Lua 分布式限流保障邮件发送治理的这个,工作内容可以展开这个聊一下吗?【实习】5. Redis + lua 有什么优势?6. 我们要实现一个微信抢红包这样的功能,你会去怎么实现这个,这个能力?回答用 redis setnx+延迟队列+mq7. 那你这种业务这个方案的话怎么去实现高并发呢?比如说同时有 100 个人抢这一个红包。我:不太会,就回答了加锁,然后说 Redis 的 decr 和 incr只会扣减一,没法保证红包金额(这里一通乱答)面试官:那有没有一种更优化的方案?因为我们按刚刚的方案来说,比如说一个抢红包的一个请求过来,或者是多个抢红包请求过来,那我们一定是要用锁的形式先抢占,所以我先相当于是我抢占了这个锁,我才能去执行抢红包这个逻辑,对不对?那执行抢红包这个逻辑,这会就涉及到一个问题,如果这个逻辑比较复杂,或者是它里面计算时间比较久,就是计算 IO 比较久的话,所有大家都会去等待,有没有方案让我提前去,或者是有没有方案是来减少我这个计算相关的一个时延?我:不太会,回答了线程池(依旧乱答)面试官说:线程池,它也是因为你线程池,无所谓,你创建新线程,还是你拿新的,还是用线程池里面已有的线程来去做执行,它都会要等待,对吧,比如说同时我有 100 个人请求都来了,那你可能就得有 100 个线程,对吧,大家都得去等待,谁拿到这个锁,谁再去执行抢红包这个操作。我说:不太会,不了解 cpu 计算场景怎么优化,只知道 io 密集场景可以用虚拟线程面试官说:比如说我刚刚提到了一个点,就是能不能把 CPU 计算前置。因为我们现在这个业务场景是什么?就比如说一个红包有 100 个 100 元,我要分 10 份。所以说他其实对于第几个人来他其实不在意,就是说现在有或者是有抢没抢?或者是这个现在当突然有多少人来抢?其实对于红包,发红包这个事情来说,或者抢红包这个概念来说,它其实是可以预先知道每个红包分成多少钱,是不是这个事情?我:用 Redis 先做预热。面试官:对,那你比如说这个方案的话,我们要怎么去做呢?有一些哪些实现的细节,或者哪些数据结构呢?我:提前写死金额存在 Redis 里,但每份红包的金额写死不公平(此处省略一堆)面试官:涉及到公平,那你觉得怎么不公平?写死的不公平的原因是什么?======= 后面都是对这个场景设计的探讨,此处省略跳过========8. 了解微服务吗不了解,面试官就跳过了9. 那我们聊一下本地事务加任务补偿怎么去?当时是怎么去实现的?【项目】10. 发散聊一聊对于 vibe coding 相关的一些理解,或者是对于大语言模型,你最近有哪些参与度?或者是有哪些去研究的点吗?我脑子一热回答了 openclaw11. 你觉得它用 Openclaw 或者是龙虾这个东西和我们直接去使用大语言模型最直接的区别有哪些?答了 Agent 和大模型的区别,补充了 skill、mcp、Function call12. 那你自己又玩龙虾,主要是做了哪些?帮你辅助了哪些功能呢?回答写定时任务每天帮我拉 github 的热榜和股票(抄群友 maple 的)13. 那其实在于你实际工作过程中,这个龙虾其实也没有发挥更多的一个所谓的私人助理这个的作用啊?我说想实现在飞书接入龙虾,然后实现 AI 办公14. 你认为的在使用 AI 来进行办公的主要的一个业务场景有哪些呢?我说开周会,可以用龙虾去发通知啥的15. 公司用 golang 进行开发,除了会 Java 还会啥语言我说学习了 go 的语法 和 gorm,但没学完 grpc16. 那你现在的学习路径是怎么样?通过什么样的方式来去学习的?我说看官方文档还有字节和七牛云的开源文档17. 我看你这边游戏经历里面主要是玩 MOBA 类的,然后你还比较有感兴趣的就是他怎么支持百万人同时在线这个问题,那你自己是怎么去考虑的?我说实习的时候调研过将单机设计成联机,用 supabase 的 real time机制18. 对于传统的像英雄联盟也好,王者荣耀也好,它除了在局内对战,它其实还会有更多的一个游戏养成,还有一个社交的一个游戏场景。那它们两个同时支持百万在线,可能它们的一个实现模式会不太一样,这个里面有去有考虑过它们之间的不同吗?我说没考虑过19. 那考虑到同时在百万同时在线的,除了说你刚刚有一个 real time 来实时通信,那还有一个点就是在于它同样的一个单机肯定是不可能支持这么大的一个的用户量了,它一定涉及到一个集群。你对于分布式部署有过相关的一些经验吗?我说没有,只知道 k8s20. 你可以理解为 K8S 作为一个编排容器,它就是来去做动态缩扩容的,但是我们在考虑的是为什么要分布式部署,或者是它主要能应对哪些应用场景?这个事情有了解过吗?我不会,就答了扛流量,通过负载均衡的轮询或者随机策略去访问实例之类的。然后面试官给我讲解了分布式部署,比如垂直分布和纵向分布....(此处省略一百字)反问阶段:1. 表现面试官说:表达很好,准备很充分,思路很清晰,不用太过担心2. 业务面试官说:组内不做鹅鸭杀,做的是小游戏品类,比如说像最近广告特别多的无尽东日,还有之前比较火的什么冒险大作战、寻道大千这一类的游戏,其实它的游戏载体是在微信或者是抖音这样的一个平台去进行一个游玩。(因为我游戏经历里写了 moba 类游戏,面试官又给我讲了和 moba 类游戏的区别)面试官说:对于我们这边的服务器开发的话,就是说从客户端的所有的链路,比如说 Websocket 的建立, Websocket 的一个连接管理,以及所有的客户端的请求的分发处理,以及对于不同的业务模块,比如说它的排行榜模块,它的商城模块,它的匹配模块,还有一些它的所有的养成模块都需要去我们进行一个开发的和介入。面试官说:我们会以项目组的形式来进行开发,对于我们当前的组内的话,主要是人员是在 10 人左右,程序员是目前是在职有4位程序员, 3 位客户端,一位服务器开发。然后除了刚刚提到的我们要开发游戏项目内的业务功能外,同时还要去考虑到对于我们最终的服务的部署,服务的上线以及最终线上的一个问题的定位和快速的修复,就是我们现对于当前的程序员来说,他不仅仅是不会像早些年一样会区分你是一个开发,你还是一个测试,你还是一个所谓的运维。因为现在的话大部分运维就是给你直接提供云服务。给你提供云服务机器,然后对于服务内如何去搭建,如何部署,都是由我们项目内的开发人员来去完成的,所以说在我们这个游戏的或者是项目组内,如果要参与的话,其实你可以认为是从基础到上线运维到问题修复这块,其实是会有一个全面甚至是一个全方位的一个参与度的。面完两分钟后,hr 说下午谈 offer(史上最快.....)
查看18道真题和解析
点赞 评论 收藏
分享
工作职责 1、参与大型项目海量内容的工业化生产工具开发;2、参与设计和实现工具来支撑游戏内容的不同模块,如战斗、关卡、剧情演出、任务等;3、参与设计与开发工具提高游戏中各个环节的效率;4、掌握如何维护和提升现有工具的稳定性、易用性与人机功效,辨别对应内容制作管线中存在的效率和质量问题,主动寻找和提供改进方案。任职要求1、本科及以上学历,计算机或相关专业,2027届及之后毕业的在校同学;2、至少了解一门C系语言,至少精通一门面向对象的编程语言,并深入了解其思想、原理和底层细节;3、专业课程基础扎实,在程序语言、编译原理、数据结构、算法、计算机组成、计算机网络等课程、数据库等方向上有过系统的学习;4、善于分析和沟通,逻辑清晰,有强烈的求知欲和优秀的学习能力;5、实习时长不低于3个月,每周出勤至少4天(论文等学校特殊情况可灵活沟通)。加分项1、有实际游戏项目的开发经历或实习经历;2、接触学习过游戏开发引擎(比如Unity、虚幻引擎);3、有 AIGC、代码大模型提效、AI 自动化、AI Agent 等相关AI应用经验者优先;4、可尽快到岗、全勤实习三个月以上的同学优先。面向对象2027届及之后毕业的在校生投递链接https://jobs.mihoyo.com/?sharePageId=121176&recommendationCode=052BT&isRecommendation=true#/campus/position/7672
点赞 评论 收藏
分享
03-23 23:38
已编辑
中原工学院 C++
点赞 评论 收藏
分享
评论
30
183
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务