面试者1反馈:
1.implement the request
2.provide test case for the method.
//找到数组中第二大的数,重复的数字算一个,比如33322,第二大的是2
//返回的是第二大数字的index
int findTheSecond(int arr[], int length)
{
//check the input
if(length<2)
return -1;
//initializing. max and second is indexes.
int max = 0;
int second = -1;
for(int i=1; i<length; i++)
{
if(arr[i] >arr[max])
{
second = max;
max = i;
}
else if(arr[i]<arr[max])
{
if(second==-1)
{
second= i;
}
else if(arr[i] >arr[second])
{
second = i;;
}
}
}//end for
return second;
}//end findTheSecond
面试者2面试题目反馈:
coding:
1. 三乘三的棋盘, 写个函数模拟两个棋手下棋, 当某个人的三个棋子成一直线(包括45度对角线)就算赢
函数原型:
int PlayGame(int[,] status, int playerA, int x, int y)
注意: status是棋盘状态, 不一定用二维数组, 可以考虑其他数据结构
2. 合并两个已排序链表
测试:
1. 地铁进站验票机(设计写测试用例)
面试者3面试题目
1. Why do you change your job from one vender company to other one ?
2. Algorithm : find second large number from some integers.
3. How to test a telephone ?
4. Do you have any issues about us ?
面试者4面试题目:
1. (a). power(x,y), 求x的y次幂, 写出算法,任意语言.
(b). 对上题写出测试用例
2. (a). 给出一个数组, 找出数组中的第二大值
(b). 对上题写出测试用例
3. 谈谈在项目组里的工作
面试者5面试反馈:
1. 介绍下目前的工作情况, 然后具体的聊聊。
答:略
2. 如何测试一个web. 比如 www.microsoft.com
答:
大体说一下覆盖了哪些方面:
1. Platform.包括。浏览器,OS,x86 or 64, PC或非PC的联接
2. URL 输入各种地址形式,如http:// www.microsoft.com ,http://microsoft.com等
3. UI方面,连上该网页后,测试格控件,字体,语言(适合各语言的OS),布局,脚本,链接等。
4. 性能。 链接时间,很多用户同时连接等
5. 安全。 权限验证,反黑客等
….大体写了这么多。
3. 三乘三的棋盘, 写个函数模拟两个棋手下棋, 当某个人的三个棋子成一直线(包括45度对角
int PlayGame(int[,] status, int playerA, int x, int y) . 最好考虑各种的情况,如:走错,和棋,添加计时器等。
有可能是全英文的面试。
/棋盘清空
void Init(int status[3][3])
{
for(int i=0; i<3; i++)
for(int j=0; j<3; j++)
status[i][j] = -1;
}
/*************************************************************************
*x,y:棋盘的坐标
*player : 棋手
*返回谁胜利,代表棋手,代表棋手,代表继续,代表平局结束,其他的出错。
/*************************************************************************/
int playflag=1; // 代表棋手
int nstep = 1;//手数
int PlayGame(int status[3][3], int x, int y, int player) //
{
if(playflag != player) return -1; //棋手重复下
if(status[x][y] != -1) return -2; //已经有棋子
//检查横线和竖线,
//写完的时候,面试官问了下如果是N*N的棋盘要怎么改,似乎是希望这里写成循环。
status[x][y] = player; //
if((status[x][(y+1)%3] == player && status[x][(y+2)%3] == player) ||
(status[(x+1)%3][y] == player && status[(x+2)%3][y] == player))
{return player;}
else
{
//检查斜线
if(x == y)
{
if (status[(x+1)%3][(y+1)%3] == player && status[(x+2)%3][(y+2)%3] == player)
return player;
}
if( x+y == 2 )
if (status[(x-1)%3][(y+1)%3] == player && status[(x-2)%3][(y+2)%3] == player)
return player;
}
if( ++nstep == 9) return 3; // 平局
playflag = 1 - player;
return 2; //继续
}
面试者6面试题目反馈:
算法题:
请给两个链表做merge,一开始我问说不是有序的,后来有序的也让做了一遍
测试:
请测试一台atm取款机
面试者7面试题目:
1. 介绍一下你目前组的工作情况,中英文都可以
2. 测试一个C/S程序,Server上有一组程序,放在桌面图标上,Client端有一个程序可以远程执行这些程序。请描述测试用例,测试Client的这个程序。
3. 为什么想离开现在的项目组?
1.测试虚拟机的一个feature:
P2V: physical machine 2 virtual machine(把物理机转化为虚拟机)
Link collect physical machine info P2V operation… Physical machine
Select HyperV machine HyperV
写测试这个feature的测试用例。
2.找一个整数数组中的第二大值,返回第二大的数值:
int FindSecMax(int[] input)
{
if(input == null)
throw new ArgumentNullException();
if(input.Length < 2)
throw new ArgumentException();
int max=input[0];
int sec=input[0];
for(int i=1;i<input.Length;i++)
{
if(input[i]>max)
{
sec=max;
max=input[i];
}
if(input[i]>sec && input[i]<max)
sec=input[i];
if(sec==max && input[i]<sec)
sec=input[i];
}
if(sec==max) throw new Exception("No second large number!");
return sec;
}
面试者8面试题:
1. 在目前的项目组做什么事情
2. 三乘三的棋盘, 写个函数模拟两个棋手下棋, 当某个人的三个棋子成一直线(包括45度对角
int PlayGame(int[,] status, int playerA, int x, int y) ,这个人算赢。
3. 如何测试这个函数
面试者9面试:
1. 谈谈以前项目经验。
2. 如何测试电视遥控器。
3. 算法:实现一个字符串的倒序
4. 算法:已知一个字符串,字符串由数字(十进制)组成,返回该字符串中数字的二进制数字符串。
1. 自我介绍。
2. 以往项目经验。
3. 针对以往项目经验(如:税务管理应用软件),请给出测试案例。
4. 针对给出的测试案例提问。
5. 假设要求2天之内测试需要用3天才能测试完成的案例,该怎么处理。
6. 对于所有的测试案例,你觉得哪些方面的比较重要,哪些可以在没办法完成的情况下省略(或其他处理)。
7. 个人对测试方面的认知,或兴趣方向。
8. 个人提问时间。