面...面筋!软滑Q弹!2024秋招个人面经汇总

一.网龙——游戏客户端开发(已挂)

  1. 一面:技术面试(过)
  2. 自我介绍
  3. Unity和虚幻引擎的区别
  4. 问项目——如何设计接口、如何制作关卡设计器等
  5. C++部分
  6. std::vector和std::queue的区别:std::queue是分段连续的
  7. C++会默认为类生成什么函数:注意移动构造和new、delete
  8. 反问环节
  9. 总结:面试官比较和善但未开摄像头,问题难度总体不大,几个小时之后通过了
  10. 二面:技术面试+HR面试
  11. 自我介绍
  12. Unity和虚幻引擎在开发体验上的区别
  13. 问项目
  14. 解决的最大的问题是什么:回答能够实现不断迭代需求且不会产生耦合,这个回答影响了面试官后续的提问
  15. 当需求不稳定且不可控时如何在程序上保持可控:不会,但面试官说这是加分项
  16. 怎么用虚幻引擎的AI系统IGenericTeamAgentInterface实现伪装系统,即自己被友军和敌军识别为友军,但自己的友军仍会被敌军识别为敌人:不会,面试官说这个问题只是为了启发我需求的变化是不可控的
  17. C++部分
  18. 列举一些STL容器:vector,list,stack,queue,unordered_set,unordered_map,set,map
  19. vector和list的区别:底层实现分别是数组和链表,vector有随机访问迭代器而list没有
  20. 数组和链表的优缺点:回答链表无法排序,这个回答影响了面试官后续的提问
  21. 如何给链表排序:面试官说这个问题是想要启发我数据结构的选择是考虑到效率高不高,而非考虑能不能做
  22. 算法部分
  23. 给定非负整数,如何判断是否是2的整数次幂:题目很简单但我想复杂了,被面试官提示(T_T)
  24. 面试官建议多刷一点算法(暴击)
  25. HR部分
  26. 游戏开发是否是自己课外学习的内容:是
  27. 为什么想走游戏道路:从儿时经历方面回答
  28. 在这么多制作游戏的经历中,认为自己更擅长程序还是策划:程序,从个人优势回答
  29. 为什么想去沿海城市发展(网龙公司在福州):希望能有更好的见识,并且愿意在沿海地区长期发展
  30. 反问环节
  31. 总结:面试官非常好且很有耐心,具有启发性,但由于未开摄像头且面试官网络信号差而降低了面试体验,个人感觉没有发挥好,运气好可以通过,运气不好大概率挂(T_T)——更新:已挂(9.27)

二.多益网络——游戏客户端开发(已挂)

  1. 一面:HR面试(挂)
  2. 自我介绍
  3. 询问实习经历,包括业务内容和感悟
  4. 是否了解过公司,了解过什么
  5. 关于产品:了解过公司的游戏产品,反问为什么没有玩过,回答全心全意准备秋招,没有时间
  6. 关于其他方面:猜测可能是关于网络上对于此公司的负面评价,回答不是很喜欢关注网友们的七嘴八舌,因为真假难辨(个人不给出明显的倾向)
  7. 为什么不留在实习公司,是否未通过实习考核:尽量回答得高情商
  8. 对于找工作最看重的是什么:尽量不回答薪资,因为此公司开的工资较低
  9. 是否接受加班(委婉地):非常重要!回答不接受一定挂,回答接受可能挂
  10. 核实身高体重(???????离谱)
  11. 观点题回答部分
  12. 为什么认为世界上大多数事物都是不公平的:个人从相对公平和绝对公平的区别回答
  13. 为什么认为宠物狗不该在小区里被禁止:个人从动物是生命的角度回答
  14. 反问环节
  15. 总结:面试官的面相透露出的情绪不是很友善,耐心值不高,反问环节拒绝回答一些常规问题,周末结束后挂

三.网易互娱——游戏客户端开发(已挂)

  1. 一面:技术面试(大概率挂)
  2. 无自我介绍
  3. 询问实习经历,其中最具有挑战性的、值得一说的工作是什么
  4. C++部分
  5. C++程序从代码到.exe中间发生的过程
  6. std::map和std::set
  7. 这两个容易的底层数据结构是什么:红黑树
  8. 红黑树的最坏查找效率是O(logn)吗:是
  9. 指针和引用的区别
  10. 虚函数的实现原理、内联函数不能是虚函数的原因:前一个问题的答案是虚函数表,后一个问题的答案忘记了
  11. std::shared_ptr和std::weak_ptr的区别
  12. C++内存分布
  13. 全局变量和静态变量是否存储在一个区:都在全局区
  14. 局部变量和静态局部变量是否存储在一个区:一个在栈区,一个在全局区
  15. 静态局部变量会被初始化几次:一次
  16. 为什么相较于switch更推荐用if-else:不会
  17. 数据结构部分
  18. 在一个游戏场景中有非常多个敌人对象,如果敌人距离自己太近就要显示敌人身上的UI控件,每一帧遍历所有敌人的距离计算量太大且没有必要,如何优化计算量:多级队列可以适量优化计算量但面试官认为不是最佳答案,最优解是世界分区,将场景分成多个网格
  19. 单链表如何判断是否有环:哈希表或快慢指针https://www.nowcoder.com/share/jump/4995603211693970224972
  20. 哈希表如何解决哈希冲突:链地址、开放地址、再散列
  21. 堆排序和快速排序的时间复杂度区别:考虑最坏情况(一个是O(n^2),一个是O(nlogn))
  22. 操作系统部分——从这一部分开始接触到了一些没听过的名词,因此记忆丢失较为严重qwq
  23. 静态链接库和动态链接库
  24. 各自的优缺点
  25. 速度快慢
  26. 线程池
  27. 如何在写代码前确定大致线程的个数:不会
  28. 线程的数量应该和什么有关系:不会,只因!
  29. (记忆丢失,也可能没有丢失,看我这部分基础一般就没咋问了TAT)
  30. 计算机网络部分
  31. TCP和UDP
  32. 为什么TCP的挥手比握手多一次:只有在服务器在接收到FIN时没有需要发送的数据时才会合并发送ACK和FIN转而变成三次挥手
  33. TCP和UDP的区别
  34. 是否接触过KCP:没有
  35. Socket的头部由哪些变量确定:忘记了,只因!
  36. (记忆丢失,也可能没有丢失,看我这部分基础一般就没咋问了TAT)
  37. 算法部分
  38. 给定圆心的坐标和圆的半径,设计一个随机生成点的算法,使其能够在圆内生成均匀分布的点:不会,只能生成不均匀分布的点,只因!(更新:某扣478题)
  39. 反问环节
  40. 总结:面试官态度较为敷衍,加上自身八股文基础薄弱和HC少,大概率要挂——更新:已挂(9.11)

四.上海域起网络——游戏客户端开发

  1. 一面:技术面试+HR面试
  2. 自我介绍
  3. 是否学习过lua:没有
  4. C#数据结构部分
  5. 栈和队列的区别是什么
  6. 哈希表如何解决哈希冲突:老问题了,参考本文——三.1.d.iii
  7. C#的HashTable存储的是什么类型
  8. C#的List和ArrayList有什么区别
  9. C#的List是如何扩容的
  10. 什么是闭包函数
  11. 设计模式部分
  12. 观察者模式的应用场景
  13. 状态模式的应用场景
  14. 单例模式的应用场景
  15. 迭代器模式的应用场景
  16. Unity引擎部分
  17. Unity如何在编辑器里查找Asset
  18. 对象池的应用场景
  19. 项目中提到的动画系统如何实现:我并没有实现一套自己的动画系统,而仅仅是对Unity的动画系统进行了一层封装
  20. 什么是协程
  21. 协程和线程的区别
  22. 有无使用过多线程:在C#中没有,在C++写过
  23. 如何存档(json和二进制文件)
  24. 如何实现数据表读取
  25. 计算机网络部分
  26. 用对话模拟TCP的三次握手和四次分手(什么鬼,为啥要叫分手,面试当场绷不住了)
  27. 项目中和游戏服务器开发成员合作经历以及使用API:以WebRequest的Post为主
  28. HR部分
  29. 户籍和现居地
  30. 为什么要学习Unity和虚幻两个引擎:Unity用来参赛
  31. 游戏开发是否是自己课外学习的内容:是
  32. 是否介意入职后使用的引擎和公司的base:Open
  33. 是否愿意提前实习:是
  34. 意象薪资
  35. 为什么不留在实习公司:老问题了
  36. 找工作最看重什么:不要说不加班
  37. 反问环节
  38. 总结:本人是游戏引擎双修选手,但由于几个月没接触Unity,部分细节生疏了,好在影响不大,大概率可以通过

五.腾讯云智——客户端开发

  1. 一面:技术面试
  2. 自我介绍
  3. 设计模式部分
  4. 在实习期间用了什么设计模式:工厂模式、适配器模式、观察者模式、代理模式、状态模式、迭代器模式
  5. 工厂模式的应用场景
  6. 手写抽象工厂模式
  7. 计算机网络部分
  8. 简述TCP的三次握手和四次挥手
  9. 为什么是四次挥手:有点生疏了,只因......
  10. 有无了解过网络框架:没有,个人项目经验均未涉及服务器
  11. C++部分
  12. virtual的作用是什么:好像没有回答出最好的答案
  13. 虚函数是如何实现的
  14. static的作用:局部变量、全局变量或函数、类成员变量或函数
  15. 可不可以在static成员函数中访问非static成员变量:不能直接访问
  16. std::map和std::unordered_map的区别:一个是红黑树,一个是哈希表
  17. 数据结构部分
  18. 什么时候用红黑树,什么时候用哈希表:当需要保证序列有序时用红黑树,当需要很高的查找效率时用哈希表
  19. 两种map的key是否可以重复:不可以
  20. 数组和链表的区别
  21. 链表插入元素的最坏时间复杂度:没完全理解面试官的意思,插入节点之前可能需要查找插入位置,所以最坏是O(n)
  22. 算法部分
  23. 某扣第2题变式,给定两个非空的链表,表示两个非负的整数。它们每位数字都是按照顺序的方式存储的,并且每个节点只能存储一位数字,请将两个数相加,并返回一个表示和的新链表,并自己处理输入输出:想用stack但被面试官打断了,最后使用逆转数组的方式解决,输入输出格式和本人编写代码在下方
  24. 反问环节
  25. 总结:是一位女面试官,人很好,十分温柔,奈何本人基础薄弱,算法题折腾了很久(大约35分钟)才做出来,好害怕挂了TAT——更新:已挂(9月15日)
输入:[1, 3, 6, 8], [9, 4, 3]
输出:[2, 3, 1, 1]
解释:1368+943=2311

输入:[1, 2, 3, 4], [9, 0, 0, 0]
输出:[1, 0, 2, 3, 4]
解释:1234+9000=10234
/*struct LinkedNode
{
	int val;
	LinkedNode* next;
};*/

class Solution
{
	LinkedNode* reverse(LinkedNode* head)
	{
		if (!head)
		{
			return nullptr;
		}

		if (!head->next)
		{
			return head;
		}

		LinkedNode* curr = head;
		LinkedNode* next = head->next;
		LinkedNode* prev = nullptr;
		while (curr)
		{
			curr->next = prev;
			prev = curr;
			curr = next;
			if (curr)
			{
				next = curr->next;
			}
		}
		
		return prev;
	}
public:
	LinkedNode* calc(LinkedNode* headA, LinkedNode* headB)
	{
		headA = headA->next;
		headB = headB->next;
		headA = reverse(headA);
		headB = reverse(headB);
		LinkedNode* nodeA = headA;
		LinkedNode* nodeB = headB;
		LinkedNode* res = new LinkedNode{-1, nullptr};
		LinkedNode* node = res;
		int bit = 0;
		for (; nodeA && nodeB; nodeA = nodeA->next, nodeB = nodeB->next)
		{
			int sum = bit + nodeA->val + nodeB->val;
			bit = sum / 10;
			sum %= 10;
			node->next = new LinkedNode{sum, nullptr};
			node = node->next;
		}
		for (; nodeA; nodeA = nodeA->next)
		{
			int sum = bit + nodeA->val;
			bit = sum / 10;
			sum %= 10;
			node->next = new LinkedNode{sum, nullptr};
			node = node->next;
		}
		for (; nodeB; nodeB = nodeB->next)
		{
			int sum = bit + nodeB->val;
			bit = sum / 10;
			sum %= 10;
			node->next = new LinkedNode{sum, nullptr};
			node = node->next;
		}
		if (bit)
		{
			node->next = new LinkedNode{1, nullptr};
			node = node->next;
		}

		res = reverse(res->next);
		return res;
	}
};

//main.cpp
int main()
{
	std::string linkA, linkB;
	std::getline(std::cin, linkA);
	std::getline(std::cin, linkB);
	LinkedNode* headA = new LinkedNode{-1, nullptr};
	LinkedNode* headB = new LinkedNode{-1, nullptr};
	LinkedNode* nodeA = headA;
	LinkedNode* nodeB = headB;
	for (const auto& chA : linkA)
	{
		nodeA->next = new LinkedNode{chA - '0', nullptr};
		nodeA = nodeA->next;
	}
	for (const auto& chB : linkB)
	{
		nodeB->next = new LinkedNode{chB - '0', nullptr};
		nodeB = nodeB->next;
	}
	Solution* sol = new Solution();
	LinkedNode* res = sol->calc(headA, headB);
	for (LinkedNode* node = res; node; node = node->next)
	{
		std::cout << node->val << " ";
	}
}

最后附一下鄙人的简历可供参考(双非本,其实没啥好康的,评论区有个朋友想要了解一下就给放粗来了,轻喷QAQ)

此文章会持续更新,面试题回答得错误、不准确以及不会的地方希望且欢迎大牛们批评指正!

2023年9月27日

#面经##24届软开秋招面试经验大赏##悬赏#
全部评论
2 回复 分享
发布于 2023-09-06 13:54 新加坡
加油😂
1 回复 分享
发布于 2023-10-04 19:23 湖南
大佬操作系统的书籍应该看那些呀,感觉没有深入讲线程池和进程通信知识的操作系统书籍
点赞 回复 分享
发布于 2023-12-07 16:37 湖北
2的整数次可以用bitset,或者循环遍历,手写一个bitset的构造函数
点赞 回复 分享
发布于 2023-09-29 00:17 日本
我这看看么
点赞 回复 分享
发布于 2023-09-19 07:20 北京
借楼发个招聘广告,#阿里巴巴##校招##内推#
点赞 回复 分享
发布于 2023-09-14 10:50 浙江
想问一下简历模板
点赞 回复 分享
发布于 2023-09-06 17:39 广东
大佬康康简历
点赞 回复 分享
发布于 2023-09-06 00:00 广东
牛啊
点赞 回复 分享
发布于 2023-09-05 19:50 广东

相关推荐

找实习期间看了不少大佬们分享的面经,收获不少,牛客上好像没什么银之心的面经,所以简单分享下自己的经验。bg:985本,211硕,简历包含一段小厂的unity实习,一个UE的基于GAS的ARPG玩具demo,4月底开始投简历。----------------------------------------------------------------------------------------------Time&nbsp;Line:5.23&nbsp;--&nbsp;笔试5.29&nbsp;--&nbsp;1面5.30&nbsp;--&nbsp;2面6.3&nbsp;--&nbsp;3面6.6&nbsp;--&nbsp;hr面6.16&nbsp;--&nbsp;oc---------------------------------------------------------------------------------------------笔试:4道算法题1.给定一个排列,求出所有子区间的中位数之和2.给定两个字符串a,b,将b插入a使得字符串为回文串,求有多少种插入方法3.给定两个长为n的整数数列A,B,每次可以从A的左或者右端取一个数字,B按顺序取,假设第i次取走的数为ai,则第i次取走的价值为bi*ai,求最大价值和4.给定两个长度相同的字符串s,t,每次可以将任何位置的任何字符移动到字符串末端,求至少需要多少次操作可以市s变成t?---------------------------------------------------------------------------------------------面试体验很好,几个面试官相当专业,反问环节回答得很认真,不敷衍,收获良多;hr小姐姐推进流程和回复问题也很及时。------------------------------------------------------------------------------------------------一面(55min)1、自我介绍2、常规的C++八股拷打,这里推荐知乎&nbsp;不羁的游侠&nbsp;的&nbsp;《计算机基础篇》&nbsp;,我自己面试过程中遇到的大部分c++八股都可以在里面找到。-----没答上来或者答得不好的几个问题:(1)一个子类继承了两个父类,两个父类中有同名的虚函数,子类中重写此虚函数,重写的是哪个父类的虚函数?(2)类模板的声明和实现可以分别放到头文件和cpp中吗,为什么?(3)执行exe,main函数是最先执行的吗?如果不是,举几个在main函数前执行的例子。3、问:你的项目里有用行为树实现的敌人AI,有看过源码吗?答:没有,不过知道AI寻路的一些过程和原理,(然后balabala开始讲NavMesh生成网格体的过程和A*算法)4、问:了解过动画系统中动画动起来的原理吗?答:动画的载体是骨骼,动画序列由时间轴上的一系列关键帧组成,每个关键帧存储了每根骨骼的变换信息,非关键帧的骨骼变换信息通过插值等方式可以计算出。问:介绍一下UE的动画状态机、混合动画、叠加动画?&nbsp;&nbsp;&nbsp;&nbsp;答:知乎&nbsp;TurBo强&nbsp;&nbsp;的《UE&nbsp;动画系统框架介绍及使用》;问:知道蒙皮动画吗?&nbsp;&nbsp;&nbsp;答:没了解过问:看过动画系统源码吗?&nbsp;&nbsp;&nbsp;答:&nbsp;没有5、手撕算法题:(1)字符串加法,常规题(2)追加要求:两个数可以是负数询问面试官:能否拆分为两个正数的减法和加法的函数,计算前先单独处理运算的两个数的符号位,并调用相应的函数。面试官回答可以,写了5min没写完,面试官表示时间差不多了,直接进入反问环节。----------------------------------------------------------------------------------------------------二面(45min)1、自我介绍2、问:玩过什么游戏?答:最近在玩&nbsp;最后纪元&nbsp;,一个暗黑风格的ARPG游戏3、问:这种ARPG游戏里,怎么对敌人造成伤害?答:比如玩家发射一个火球,需要为火球添加碰撞体,敌人身上也必须具备碰撞体,同时实现接受伤害的接口,当火球与敌人碰撞时,触发hit或者Overlap事件,传递碰撞信息,其中包括敌人对象,拿到敌人对象后,调用接受伤害的接口。4、问:怎么进行碰撞检测?答:粗略检测的话,可以用包围盒等包围需要检测碰撞的对象,然后检测两个包围盒是否有相交即可。过程中可以通过四叉树、八叉树或网格加速结构,快速排除远距对象。不同划分区域保证不会碰撞的情况下,就能快速过滤与本物体不同区域的其他潜在物体碰撞。问:包围盒和包围球间的范围检测哪种比较简单答:包围盒和包围盒吧,只需要把各个顶点投影到坐标轴上。(好像不对,应该是球和球?)问:球和球的范围检测怎么计算?球和盒的范围检测怎么计算?答:(几何知识,大概画个图就知道了)5、问:如果是近战攻击,怎么对敌人造成伤害?答:和远程差不多,不过是需要在近战武器上添加碰撞盒,创建两个场景组件放置在武器的两端,作为box&nbsp;trace的起点、终点,挥舞武器的时候,在两点之间执行box&nbsp;trace。问:怎么让box&nbsp;trace跟着武器动的?答:近战攻击用一个动画蒙太奇实现,武器绑在角色手上的slot里,碰撞盒和起点、终点是武器的子组件,动画动,武器跟着动,子组件也跟着动。6、问:项目里有实现自动寻路吗?有了解过吗?答:(一面的时候也问道了)NavMesh生成网格体的过程+A*算法。问:如果场景中有移动的障碍,怎么处理?答:不太清楚&nbsp;,不过我猜可以先划分区域,只更新移动物体影响的区域,更新寻路网格体时,把移动障碍和其移动覆盖的区域整体标记为障碍物。问:需要重新烘焙吗?答:需要。7、问:还做过其他什么东西吗?答:还做了一个简单的多人游戏项目,不过做得不是很好问:网络游戏用什么协议答:UDP,不过通常会将在其往TCP的方向改,即可靠的UDP,(序列号与确认,丢包重传、超时重传、滑动窗口、拥塞控制)8、无手撕环节---------------------------------------------------------------------------------------------------三面(30min)三面大部分时间聊聊天了,问了一些简历上提到的东西,比如MVC的难点,ui的MVC和工程上的MVC的关系等,有三分之一的时间是面试官在给我讲解反问环节问的问题,醍醐灌顶,可惜忘记录音了...-------------------------------------------------------------------------------------------------
duadua666:同银之心oc,但是怎么感觉我这问的这么简单😧
查看25道真题和解析
点赞 评论 收藏
分享
评论
31
123
分享

创作者周榜

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