网易雷火游戏测试实习一二三四面面经

面后复盘, 呦吼~

四面

  1. 自我介绍
  2. 为什么选择游戏测试(情绪/兴趣+使命/责任感+性格 ;自认为不必提自己的知识掌握程度好,因为面试的过程就是在考核你的知识。如果自夸掌握程度好,后面发挥不大理想的话,面试官会怀疑是不是你讲过的其他话也有水分,也是自负呢。但如果可以提及一些项目经历也不错~
  3. 喜欢的游戏, 吸引你的点
  4. 喜欢的游戏的缺点, 如何避免这样的bug
  5. 为什么女生喜欢怪物猎人这样打斗向游戏, 而非剧情向(后来发现我喜欢的是 怪物猎人日记, 不是怪物猎人qwq)
  6. 针对怪物猎人中装备: 弓箭的测试用例 可思考1min(弓箭与其他装备关系{弓箭自身附属:抽取弓箭后是否箭筒响应箭的数目减少. 弓箭与其他装备一同使用的攻击值} 弓箭与人物关系{不同角色佩戴同一装备不同配色;握持位置;攻击值} 弓箭自身功能{招数(是否允许多发; 火/冰箭); 射程(边界值分析 与屏幕关系(超出屏幕, 刚好屏幕边缘, 屏幕范围内); 攻击力(取决怪物级别+人物级别+装备级别); 射击方向: 左右上下. 是否可向天空发射, 如信号弹功能. } 与怪物关系{怪物攻击效果(箭穿透, 若怪物有甲壳是否箭弹开, 不同属性的箭对不同属性怪兽产生不同效果, 如冰箭可冻住怪兽, 火属性箭有火花四射, 火花有无攻击力)} )
  7. 数组的特点(首先分类:普通数组/动态数组。普通数组:长度固定且必须为常数值,不可为变量。动态数组:可动态分配,如vector,可O(1)时间复杂度快速索引寻找。但频繁插入删除操作会移动其后元素,耗时长,浪费性能。故在频繁查找时使用数组,频繁插入删除时不建议使用数组,使用链表更妥当。)
  8. 项目背景,概述及你负责的工作
  9. 你知道的复杂度为nlogn的排序算法(快排,归并排序,堆排序,二叉查找树排序)
  10. 写一下堆排序. 写好后解释一下逻辑
#include <bits/stdc++.h>
using namespace std;

/**
 * 交换数组中两个元素的位置
 */
 void node_swap(vector<int> &a, int x, int y)
 {
     int tmp = a[x];
     a[x] = a[y];
     a[y] = tmp;
 }
 
 /**
 * 已知二叉树中a[i]的两个子树都是大根堆,本函数通过交换a[i]和其某个儿子的
 * 位置,将以a[i]为根节点的二叉树变为大根堆
 */
 void heap_adjust (vector<int> &a, int i, int len)
 {
     int tmp = a[i];                         // 用tmp保存根节点的值
     for (int j = i * 2 + 1; j < len; j = i * 2 + 1){ // a[j]是a[i]的左儿子,循环条件:a[i]的左儿子存在
         if (j + 1 < len && a[j] < a[j+1]) // 如果a[i]有右儿子右儿子更大,j指向右儿子
             j++;
         if (a[j] > tmp){ // 如果某个儿子比根大
             node_swap(a, i, j); // 儿子和根交换
             i = j; // 还要继续调整根结点被改变了的子树
         }
         else
             break;
     }
     a[i] = tmp;
 }
 
 /**
  * 堆排序
  */
 void heap_sort(vector<int> &a)
 {
     int len = a.size();
 
     /* 构建大根堆 */
     for (int i = len / 2 - 1; i >= 0; i--)  // 从最后一个非叶节点开始
         heap_adjust(a, i, len);             // 把每个子树调整成小根堆
 
     /* 交换堆顶和最后一个元素的位置,然后调整除了最后一个元素之外的堆 */
     for (int unsorted = len - 1; unsorted >= 1; unsorted--){
         node_swap(a, 0, unsorted);
         heap_adjust(a, 0, unsorted);
     }
 }
 // 需打印堆时释放
 /*void print(vector<int> a)
 {
     for (int i = 0; i < a.size();i++)
         printf("%d ", a[i]);
     printf("\n");
 }*/
 
 int main()
 {
 	int arr[] = {1,9,2,8,4,7,5,123,255,-4,-999,1232};
 	vector<int> a(arr, arr + sizeof(arr)/4);
 	//print(a);
 
 	heap_sort(a);
 	//print(a);
 }
  1. 你有什么问题吗?(实习生的职责:与正式员工相当。实习生功能测试与测试开发的划分:面试官根据对实习生的观察分析,进行划分。实际二者职责有机结合,相互交融,没有特别明确的界限。非常感激这位面试官, 跟我讲了很久职责划分, 非常详细, 以至于我现在非常后悔为什么没有好好记下他说的每一句话->日后最好在提问环节严阵以待, 拿起笔狂记要点! 毕竟是面试官的实战总结哇! 「大切にしろ!」

游戏测试才是我的本命吧qwq, 可能因为是唯一与目前课程有交叠的岗位( 计算机软件基础课上有讲测试方法、测试流程。感激蒋老师条理清晰的讲课和PPT )

很喜欢面试官的引导: 「还有要补充的吗?」 在面试这样的高度紧张环境下很容易通过不断追问, 激发出人的潜能. 推荐大家多参加英语角呀! 别人突击提问的时候可能会冒出好点子呢! 比如之前教英语的德国外教问"沟通有什么好处", 我猛然被call, 提起自己参加读书会的经历, 大家在一起聊天交换想法, 了解他人的生活, 分享自己的生活, 这就是沟通的价值, 扩展边界, 生活的与知识的

三面

  1. 自我介绍
  2. 项目:
    1. LSSVM故障诊断分析:
      1. 应用场景, 针对什么提出? (因先进机械设备的结构更加复杂且工作环境恶劣, 主要针对工业生产情境下的电力系统(主要是电力风机)故障检测与预测问题。)
      2. 取得成果 (应用此算法相对单一LSSVM准确率提高了1.63%。准确率达到了95.18%,相对LSSVM主分类器准确率提升7.53%
    2. 企业通讯软件
      1. 采用tcp还是udp,如何选择?(登录为tcp,保证稳定连接。发送消息使用udp,保证快速收发,减小延迟)
      2. udp与tcp区别
      3. 过程中遇到难点(功能实现+错误定位:内存泄漏,死锁)
  3. 喜欢的游戏,遇到的bug
  4. 新车测试用例(注意:推出新车的方式!)
  5. 向我介绍一辆车?(注意不能仅仅是操作,还要车的各方面你认为值得关注的性能)
  6. 一辆车你最关注的点?(第一外观。第二流畅度,不存在漂移不畅,操作不便,bug。第三性能,如时速)
  7. 玩qq飞车有没有什么技巧?
  8. 简单编程(string -> int)(注意询问面试官对-0的处理!)
#include <iostream>
using namespace std;
int stringToInt(string s)
{
    if(s=="")
    {
        cout<<"The string is empty!"<<endl;
        return 0;
    }
    if(s=="-0")// 询问面试官此时输出!给与提示,还是认为是正确输入,输出0?
    {
        cout<<"Invalid input!"<<endl;
        return -1;
    }
    int i=0;
    bool negative;
    if(s[i]=='+'||s[i]=='-')
    {
        negative=(s[i]=='-');
        i++;
    }
    int num=0;
    for(; i<s.size(); i++)
    {
        if(s[i]>='0'&&s[i]<='9')
        {
            //溢出           
            if(num>INT_MAX/10||num*10>INT_MAX-(s[i]-'0'))
            {
                if( !negative || num*10+s[i]-'0'!=INT_MIN) 
                {
                    cout<<"The string overflow int"<<endl;
                    return INT_MAX;
                }
            }
            num=num*10+s[i]-'0';
        }
        else
        {
            cout<<"The string contain non number"<<endl;
            return -2;
        }
    }
    return negative?-num:num;
}
  1. 你有什么问题吗?(4个项目组与测试开发,功能测试的关系:每个项目组都有相应的测试开发、功能测试人员。功能决定:主要策划决定。市场研发测试人员给出意见。)

三面面试官言行非常谨慎, 且问题打击精准, 正切要害.

二面

  1. 自我介绍
  2. 询问想去测试开发还是功能测试?(都可以,但更倾向测试开发)
  3. 那么开始考代码,最长公共子串
  4. 知道的测试方法(白盒黑盒回归压力)
  5. 讲一下白盒黑盒
  6. 讲一下白盒中的路径覆盖和语句覆盖的区别
  7. 讲一下白盒黑盒回归测试什么时候应用

二面面试官主要考察知识点,硬实力。

一面

  1. 自我介绍
  2. 可实习时间(7,8月份)大四主要学习任务是什么?大四可以来实习吗?
  3. 求职规划(通信或互联网公司的测试部门)
  4. 改名卡的测试用例
  5. 对测试的理解?讲了一点软件测试后被打断,问游戏测试与软件测试的区别
  6. 为什么选择游戏测试?
  7. 有什么想问我的?(实习生职责:与正式员工相当。但刚进入时会分配一个师傅带你,但当然是希望我们产出。)

一面面试官主要是对规划,宏观的测试理解的询问。自认为与HR面部分重合。

  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值