米哈游

收藏
游戏
1000-9999人
不需要融资
上海
福利丰厚榜高校必争榜HC充足榜牛客指数榜
查看官网
上传简历
职位类型
全部
后端开发
前端开发
客户端开发
测试
数据
更多
最新
热门
10-31 17:01
已编辑
电子科技大学 C++
🕐面试时间:2025.10.30💻面试岗位:游戏客户端笔试共三题,a了2.2,前两题比较简单,最后一题是图的带权最短路径还有选择限制,摸不着头脑一面八月初投的,九月做的笔,都以为泡无了,居然还有个面,全程40min,无自我介绍无手撕基础知识部分:1.虚函数的实现机制2.虚表创建时机,位置3.构造函数和析构函数是否能为虚函数4.在构造函数和析构函数中调用了子类实现的虚函数,会怎么样5.lambda表达式的底层实现6.lambda表达式的函数传参如何实现的7.std::function可以接受lambda表达式,这个转换是怎么实现的8.智能指针讲一下9.一个shared_ptr和一个weak_ptr指向的资源,shared_ptr退出作用域后,weak_ptr还可以访问吗10.shared_ptr内部是如何管理资源块的释放和引用计数块的释放的11.多线程编程了解吗12.多线程中需要注意的问题(答共享数据的访问)13.那有哪些方法可以解决这个问题呢14.你刚刚提到了原子操作,那内存序有了解吗游戏场景题:1.FPS游戏中,给定射击方向和最大偏移角度,如何做散布和最终方向确定?2.游戏中需要管理大量数据,要求插入、删除、查询都是O(1)复杂度,并且可以遍历数据,但是对顺序无要求。用什么数据结构实现?(先答的哈希+链表)3.链表实现的话可能效率太慢了,你知道为什么吗4.那么用什么数据结构效率更高一点呢(答数组,但是数组只能尾部插入删除为O(1))5.如果对中间数据也有增删的要求呢(开悟了,哈希+数组,中间数据和末尾数据换位操作即可)6.FPS游戏中实体子弹速度太快可能有什么问题?如何解决?7.现在做一个多人网络游戏,我的想法比较新颖,想使用“事件同步”,就是一个事件发生时,将该事件发送给其他客户端,其他客户端接受事件指令并执行,不考虑网络延时和作弊问题,这样做可不可以?(说实话有点没太懂...)8.考虑网络延时的话会有什么问题?9.如何解决网络延时问题呢?10.你的方法可能出现表现结果不一致的情况,有没有更好更快的方法解决呢不得不说米的面试难度还是在线的,八股题可以挖很深,场景题也基本在网上没听过,但是面试体验还是不错,面试官很温柔很耐心10.31更新,已挂
查看24道真题和解析
点赞 评论 收藏
分享
10-26 12:41
已编辑
江苏大学 C++
#include <iostream>#include <vector>using namespace std;const int N = 2e5 + 5;using ll = long long;struct node {int n;ll deep;ll ans;};vector<node> ans;vector<vector<int>> g;void dfs(int root, int fa = -1) {for (auto &to : g[root]) {if (to == fa) continue;dfs(to, root);ans[root].n += ans[to].n;ans[root].deep += ans[to].deep + ans[to].n;}ans[root].n += 1;for(auto &to : g[root]) {if (to == fa) continue;ans[root].ans += (ans[to].n + ans[to].deep) * (ans[root].n - ans[to].n) + ans[to].ans;}}int main() {int n, m;cin >> n >> m;g.resize(n + 1);ans.resize(n + 1);for (int i = 1; i < n; i++) {int u, v;cin >> u >> v;g[u].push_back(v);g[v].push_back(u);}dfs(1);while(m--) {int x;cin >> x;cout << ans[x].ans << endl;}return 0;}笔试的时候 ans[root].ans += (ans[to].n + ans[to].deep) * (ans[root].n - ans[to].n) + ans[to].ans;忘记加ans[to].ans了,人麻了。
投递米哈游等公司10个岗位
点赞 评论 收藏
分享
10-26 12:12
安徽大学 C++
hhjhhjhhj:第二题,由于是递增,而增加的长度是(r-i+1 )* k,与l无关,那么显然,从后往前遍历看增加后是否比a[1]大即可。 对于如果a[1]也要增加,要特殊处理。之前从后往前遍历时,记录+(r-i+1 )* k后的最小值minV,然后a[1] + (r-i+1 )* k - minV,判断是否比d大即可。线性复杂度。
投递米哈游等公司10个岗位
点赞 评论 收藏
分享
分享我的面试经验
模拟面试
真实面试体验,快速补齐短板
应聘感受
暂无应聘感受
牛客网
牛客网在线编程
牛客网题解
牛客企业服务