米哈游客户端开发两面挂面经
12月底找人内推开始面试的
自身条件:
985计算机专业,有ICPC-ACM亚洲区银牌。有unreal游戏开发实习经历。
技术面一轮:
问vector和list的区别,空间分布上的区别
问vector是怎么扩容的
问unordered_map的空间复杂度
给了一段代码
class A { public: int &x; };问x怎么初始化(没见过这样写的,没答出来)
问怎么获取虚函数表的地址(没见过这个问题,也没答出来)
问虚拟内存是什么,有什么好处
问什么时候诱发缺页中断,问是不是每次访存都要经过操作系统,问知不知道MMU(内存管理单元)
问什么是空间局部性,对编程有什么启发
问为什么32位整型数可以直接做加减法
问怎么理解粘包,如何解决(完全不懂)
算法题:求a的n次方,其中n是正整数(快速幂)
debug题:给了一个二百多行的代码,其中没有编译错误,让你找bug(我只找到一个,是内存泄漏)
面试官说“谢谢”,看表情有一种“谢谢你配合我完成面试,再见”的感觉,我感觉似乎是凉凉了
感觉c++相关的都答的很差,面完就感觉自己凉了。结果当天晚上收到二面通知。
元旦假期期间恶补c++,重点看了C++ primer里面和类相关的几个章节
技术面二轮:
问了项目细节,让我描述实习期间遇到的最难的一个问题。根据简历上写的问了问细节。
A类是基类,B继承A,C继承A,D继承B和C,现在A里面有一个成员x,问D里有几个x。如果我只想留一份x怎么办,手写一下。
问运行时怎么根据虚函数表找到具体该调用哪个函数(不会)
给了好几个类,类之间有继承关系,每个类里面定义了几个函数,有虚函数有普通函数,好多重名函数,然后写了几条语句问每条语句是执行了哪个函数,说出判断的理由。
最后问我有什么想问的,我就问了问剩下的面试流程,问了问交通便利性、劳动强度、进去之后怎么选项目组
算法题:用O(n)的时间和O(1)的空间,找到给定数组中没出现过的最小正整数。灵机一动,做出来了。
面试官最后的口气是一直说“如果你能加入米哈游的话xxxx”,我感觉这一面比较成功。
c++相关的全都答出来了,时候检验了一下发现自己应该是都答对了。
星期二就面完了,到星期五收到通知说我挂了。HR说“建议回去巩固一下基础”
我就明白了,我肯定是一面那些基础答的不好,面试官肯定觉得我C++基础薄弱
唉,就感觉很可惜,要是按照我二面的水平,那去一面肯定都嫩答上来。就是感觉准备不足吧。
我问HR我春招能不能再来,HR说可以。
感觉就差一点点,我想回去好好准备准备,然后春招再来一次。
#米哈游##面试题目#