网易互娱 游戏研发 面经

一面10.16 1.5h C++

 

1、拷贝构造函数什么时候调用?知不知道移动构造函数?

 

2、C++多态实现原理;多继承中虚指针、虚函数表问题(不会)。

 

3、一个空类的内存大小?类里面有函数时?类里面有虚函数时?

 

4、STL中各种容器的实现原理介绍?红黑树有什么性质,它的插入、删除实现过程(他希望介绍涂色、旋转的过程)?介绍自己知道的树,DST、AVL树、B树、红黑树等?哈希表解决冲突的方法?什么时候用map什么时候用unordered_map?怎么用两个栈实现一个队列?

 

5、网络编程了不了解?说说epoll和select的区别?介绍Socket网络编程?

 

6、说说虚拟内存实现原理?C++的内存模型介绍?函数递归过程栈的变化?进程和线程的区别,同一进程中的多线程共享哪些东西?

 

7、介绍自己知道的各种排序算法?说说他们的时间复杂度和空间复杂度(快排空间复杂度是O(logN))?

 

8、多线程同步编程题,开三个线程,线程A打印3n,线程B打印3n+1,线程C打印3n+2,控制三个线程的同步,顺序打印数字(1 2 3 4 5...)

 

9、编程题,有三小问。已经定义一个双向链表。

第一问:是顺序打印链表值,并中间接“->”输出;

第二问:反转双向链表;

第三问:给一个值x,将链表中小于x的节点排前面,大于x的节点排后面,小于、大于这两部分中各节点的相对位置保持不变。

 

面试官人非常好,答不出来的问题也没有直接说就算了继续问下面的,而是不断提示引导,比如上面说的快排的空间复杂度一开始我也没答上来,面试官就从快速排序执行过程慢慢提示,说这个过程有没有什么地方需要开辟新空间等等。

 

感觉面的不是很好,本来就不抱希望了,但是下午接到网易电话,说一面通过,但是上海人比较满了,然后问我能不能接受广州,我说可以,他说接下来会安排二面。

 

10.24二面50min

1、实验室里项目一般用到哪些技术?介绍你项目里面用到的ROS框架,你们是怎么用的?

2、介绍你简历上提到的发表的论文,你的论文创新点是什么?

3、1000w玩家找出积分top1000的?实时更新1000w玩家游戏排名?

4、12枚硬币,其中有一枚跟别的质量不同,用一个无法码的天平,怎样用最少次数称量找出那枚硬币?

5、类似梦幻西游游戏中,一个人物需要找最近的NPC,有8个NPC分布在地图的各处,考虑为二维平面,知道这8个NPC和自己的坐标,怎样设计游戏能够找到最近的NPC,不要求出距离再将八个值进行比较?开放思路

6、使用TCP协议的游戏,如果网线断了,服务器能知道连接断了吗?那怎么让服务器知道?

7、平时玩哪些游戏?说说你对网易游戏和腾讯游戏的看法?

8、平时看哪些书?技术书籍和其他书籍比如小说都可以。说一个你看书的时候得到的启发。 (我觉得这个问题非常好)

9、拿了哪些Offer?

10、从你自己研究生导师的角度给自己一个评价?

11、你觉得自己是一个幸运的人吗?说说你自己觉得的幸运和不幸运?

12、你有什么要问我的吗?


10.29更新
收到意向书,薪资还可以,感谢过程中一些牛客大佬(比如那位叫李云龙的,哈哈哈)提供的一些帮助。

#网易互娱##面经##游戏研发工程师##校招#
全部评论
为啥你的问题我都会,我被问的问题我好多都不会,真的看运气😭
点赞 回复 分享
发布于 2020-08-27 18:36
老哥,二面第五题怎么答的还记得吗,我今天被问到类似的题目了
点赞 回复 分享
发布于 2020-08-27 18:24
点赞 回复 分享
发布于 2019-10-24 11:14
看来epoll必问😁
点赞 回复 分享
发布于 2019-10-17 21:57
老哥,我今天也面了一面,技术面总共几面呢?老哥知道吗?
点赞 回复 分享
发布于 2019-10-17 20:21

相关推荐

在改简历的大卫很认真:1. 训练时间估算 时间 ∝ 总FLOPs / (算力FP8/FP16 × 利用率) 总FLOPs ≈ 6 × 参数 × Token数 再除以单卡算力、并行数、利用率,就是时长。 ​ 2. Prefill / Decode 优化 ​ - Prefill:长序列并行、FlashAttention、分块、算子融合、向量化 ​ - Decode:KV cache、连续Batch、PagedAttention、Speculative Decoding ​ 3. Two-batch overlap ​ - 同时跑两个微批次,计算/通信重叠 ​ - 负优化:计算太快、通信太小、显存不够、调度 overhead 盖过收益 ​ 4. Megatron-LM 通信优化 TP+PP+DP三维并行; 重叠通信计算; 分桶AllReduce; 激活重计算; 减少跨节点通信量。 ​ 5. PD分离(PP+DP)为什么要KV transfer 为了流水线+数据并行一起用,提高吞吐; 虽然有KV拷贝成本,但整体能堆更大Batch、更高利用率。 ​ 6. MuON / AdamW 不能混用 优化器状态、动量、更新逻辑完全不兼容; 预训练用一个,微调换另一个,状态不匹配,直接训崩/不收敛。 ​ 7. 跨SM PD / AF 分离 核心:拆任务、提高 occupancy、隐藏延迟; PD:并行度拆分更干净; AF:聚焦注意力/前馈访存与计算重叠; 看模型结构、Kernel瓶颈选。 ​ 8. CUDA Global / Shared 注意 ​ - Global:对齐、连续访问、合并访存、少随机读、用L2缓存 ​ - Shared:防bank conflict、分块复用、同步_sync、容量控制 ​ 9. DeepSeek-V3 优化点 高效架构+长序列支持; 优化Attention/FFN计算; 更好的并行策略; 推理侧低延迟高吞吐。 ​ 10. DeepSeek-DSA/NSA/MoBA ​ - DSA:领域稀疏注意力 ​ - NSA:神经稀疏注意力 ​ - MoBA:混合专家注意力 核心都是稀疏化、省计算、扩容量。 ​ 11. NCCL 原语 & AllReduce 次数 原语:Send/Recv、Broadcast、Reduce、AllGather、ReduceScatter、AllReduce Ring AllReduce:2次(ReduceScatter + AllGather)。 ​ 12. 小数据量 NVSHMEM vs Ring AllReduce 少了Ring多跳延迟; 直接GPU-GPU读+本地Reduce; 小数据下延迟更低、更简单。 ​ 13. 超长序列训练并行 TP+PP+CP(上下文并行)+ ZeRO; 分块Attention、分块FFN; 激活重算+KV复用; 控制通信量。 ​ 14. Ampere → Hopper 算子升级 - 用TF32、FP8、新指令 ​ - 适配TMA、异步拷贝 ​ - 优化Warp调度、 occupancy ​ - 重写Attention/MatMul,用Hopper专属优化
查看14道真题和解析
点赞 评论 收藏
分享
1.请详细描述你在简历中提到的AI相关项目中,负责的主要模块和核心技术贡献。2.在设计一个高吞吐、低延迟的模型推理服务时,你会重点考虑哪些架构层面和工程层面的问题?3.请解释C++程序内存中栈(stack)、堆(heap)和静态/全局存储区的特点与主要区别。4.在C++中,new/delete`与'malloc/free`的主要区别是什么?为什么在C++中通常推荐使用前者?5.请解释深拷贝和浅拷贝的概念,并说明在什么情况下必须使用深拷贝。6.请阐述C++中'std:unique_ptr、'std..shared_ptr和'std:weak_ptr的设计意图、使用场景及相互区别。7.虚函数表(vtable)是如何实现运行时多态的?虚函数与纯虚函数(抽象类)在语义和用法上有何不同?8.什么是内存对齐?编译器对结构体进行内存对齐的主要规则是什么?请计算一个给定结构体(包含不同类型成员)在特定平台下的sizeof大小。9.请解释C++11中右值引用(&&)和移动语义(move semantics)的概念,并说明它们如何用于实现高效的数据转移(如std.:.vector的push_back)。110.简述CUDA的SlIMT(单指令多线程)编程模型,描述thread、block、grid的层次关系。11.在CUDA内核中,一个线程的局部变量通常存储在何处?这与寄存器的分配有何关系?12.在CUDA优化中,如何使用共享内存(Shared Memory)来减少对全局内存的重复访问?请举一个简单的例子(如矩阵乘法中的分块)。13.什么是warp shuffle指令?它在warp内部的数据交换和规约操作中有什么优势?14.解释在CUDA中使用float4或int4等向量化加载/存储指令进行合并访存的原理和性能收益。15.什么是共享内存的bankconflict?它是如何产生的?请举例说明。16.如何通过数据填充(padding)或其他内存布局调整技术来避免或减轻共享内存访问中的bankconflict?17.解释CPU缓存的工作原理,包括时间局部性、空间局部性的概念,以及常见的缓存替换策略18.编程题:实现一个算法,在一个包含大量整数的数据流中,实时找出出现频率最高的前K个元素。请描述你的思路(哈希表+最小堆)并分析时间复杂度。
查看18道真题和解析
点赞 评论 收藏
分享
评论
5
58
分享

创作者周榜

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