微软今天的笔试题目(技术部分)以及技术支持中心电话面试的题目

来源:百度文库 编辑:神马文学网 时间:2024/04/28 15:59:24
www.ChuChuang.Net/job     来源:水木清华 【字体:    】
1,要不是“重在搀乎”的奥林匹克精神鼓励着我,我才不会高烧38度还自己P颠P颠地跑去
被日。
2,卷子才发下来没有10分钟,座位号是115的MM就起身退场,
以示B4,向115号的MM致敬!
我坐112。
3,向此时此刻仍在被日的第二波XDJM默哀!
MSRA Interview Written Exam(December 2003,Time:2.5 Hours)
1写出下列算法的时间复杂度。
(1)冒泡排序;
(2)选择排序;
(3)插入排序;
(4)快速排序;
(5)堆排序;
(6)归并排序;
2写出下列程序在X86上的运行结果。
struct mybitfields
{
unsigned short a : 4;
unsigned short b : 5;
unsigned short c : 7;
}test
void main(void)
{
int i;
test.a=2;
test.b=3;
test.c=0;
i=*((short *)&test);
printf("%d\n",i);
}
3写出下列程序的运行结果。
unsigned int i=3;
cout<4写出下列程序所有可能的运行结果。
int a;
int b;
int c;
void F1()
{
b=a*2;
a=b;
}
void F2()
{
c=a+1;
a=c;
}
main()
{
a=5;
//Start F1,F2 in parallel
F1(); F2();
printf("a=%d\n",a);
}
5考察了一个CharPrev()函数的作用。
6对 16 Bits colors的处理,要求:
(1)Byte转换为RGB时,保留高5、6bits;
(2)RGB转换为Byte时,第2、3位置零。
7一个链表的操作,注意代码的健壮和安全性。要求:
(1)增加一个元素;
(2)获得头元素;
(3)弹出头元素(获得值并删除)。
8一个给定的数值由左边开始升位到右边第N位,如
0010<<1 == 0100
或者
0001 0011<<4 == 0011 0000
请用C或者C++或者其他X86上能运行的程序实现。
附加题(只有在完成以上题目后,才获准回答)
In C++, what does "explicit" mean? what does "protected" mean?
他们要求知识面广。什么都要会一些:电话面我的时候问的几个问题:
如果只想让程序有一个实例运行,不能运行两个。象winnamp一样,只能开一个窗口,怎么作?
如何截取键盘的响应,让所有的‘a’变成‘b’?
apartment在com中有什么用?为什么要引入这个?
存储过程是什么,有什么用,什么优点?
template有什么特点,什么时候用?
好像最好要了解win32sdk底层的知识。比如消息响应的过程等等。
再加一点:
对.net的理解
对web service的理解
对三层结构的理解
两层的负载平衡与三层结构的负载平衡有什么差别,优点 。windows DNA结构的特点,优点