如下分享的资料是我参加中软国际笔试的一些题目,大家敬请关注!
第一卷
1.不许用中间变量,把String ABCDE 倒转
2.10000个数求第2大的数,不许用排序算法.
3.排序算法的测试用例
我的答案:
1.
1. include "stdafx.h"
1. include
1. include
using namespace std;
int _tmain(int argc, _TCHAR argv[])
{
char ps = new char[15];
strcpy_s(ps,15,"I am yuchifang");
cout<<"before reverse:"<
cout<
int i = 0;
int j = 13;
while(i
{
ps[i] = ps[i]+ps[j];
ps[j] = ps[i]-ps[j];
ps[i] = ps[i]-ps[j];
i++;
j--;
}
cout<<"after reverse"<
cout<
return 0;
}
第二卷:
1、Java中的属性和字段有什么区别? --这个是当时考我的一道题,我不会啊!
2、C/C++你更熟悉那个?C++中的虚函数用在什么地方?JAVA中的虚函数呢?(我没记得Java中还有这个)
3、你对数据库中存储过程了解多少?说说。
4、假如微软给你500万美元项目经费,你怎么利用它?
5、你对考研是什么态度?
6、你对加班是什么态度? 这个答案项目经理说出来后我感觉太现实了,你猜他怎么说的?和IT人有关的
7、Why do you …… ICS&S? (我忘具体怎么说的了,大意就是问你为何要来中软国际?人家可是用全英语问的,说的挺快的,幸好我听懂一点)
问题太多了,大多是技术问题,不过都和知识要点有关,不考太难的太复杂的,不过我还是大部分不会啊!!!英语会让你就自己喜欢的方向作简介呢。难,要我说就完了。
先想出这多了,下次再写,技术问题好多,有空把笔试题给大家看看,唉!
第三卷
题目为写算法生成随机4位数,要求每位数字不同.
Solution:
有个隐含条件,即第一个数字不能为0. 以下是我初步的javascript解法:
function rand4(){
var arr = new Array();
var index = 0;
var tempNum;
while(index<4){
tempNum = Math.round(Math.random()9);
if(!(index==0 && tempNum==0)){
//hold point
if(arr[tempNum]== null){
arr[tempNum] = tempNum;
++index;
}
}
}
var ret = 0;
for(var i in arr){
if (ret != 0){
ret = 10;
}
ret += parseInt(i);
} alert(ret);
return ret;
}
我相信会编程的人都会写出这个算法. 基本上是很普通的.这个算法有个不愉快的地方就是hold point那块,成功率为100%(第一次),90%(第二次),80%(第三次),70%(第四次),越来越低,不过只要不低于50%,程序效率还不会打折扣.