如下分享的資料是我參加中軟國際筆試的一些題目,大家敬請關注!
第一卷
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%,程序效率還不會打折扣.