微软 笔试 面试.docx
- 文档编号:25064733
- 上传时间:2023-06-04
- 格式:DOCX
- 页数:12
- 大小:23.89KB
微软 笔试 面试.docx
《微软 笔试 面试.docx》由会员分享,可在线阅读,更多相关《微软 笔试 面试.docx(12页珍藏版)》请在冰豆网上搜索。
微软笔试面试
微软笔试面试
一.最基本题型(说明:
此类题型比较简单)
1.1到100有多少个9
2.连续整数之和为1000的共有几组
3.U2合唱团在17分钟内得赶到演唱会场,途中必需跨过一座桥,四个人从桥的同一端出发,你得帮助他们到达另一端,天色很暗,而他们只有一只手电筒。
一次同时最多可以有两人一起过桥,而过桥的时候必须持有手电筒,所以就得有人把手电筒带来带去,来回桥两端。
手电筒是不能用丢的方式来传递的。
四个人的步行速度各不同,若两人同行则以较慢者的速度为准。
Bono需花1分钟过桥Edge需花2分钟过桥Adam需花5分钟过桥Larry需花10分钟过桥他们要如何在17分钟内过桥呢?
(这是Micrsoft征聘人员时问的问题,你必须
在五分钟内答出来才可能获得聘用)。
4.说有一份遗产3500元一个女人的老公留下来的,如果这个女人生的是儿子那么她将分到她儿子的一半,如果是女儿,他将分得她女儿的2倍,如果这个女人生了一对,一男一女,问各得多少遗产?
5.老师d的物理测验答案在教室里丢失了,今天那个教室上了5堂课,老师d上了3堂,有可能是a、b、c三个同学盗窃
已知:
1、a上了两堂课
2、b上了三堂课
3、c上了四堂课
4、a、b、c每个人都上了老师d的两堂课
5、五堂课中,三个人到堂的组合各不相同
6、老师d的课中有一堂,三个人中到了两个,事后证明不是那两个人偷得
问?
是谁偷得
6.abcde
*f
__________________
=gggggg
问,abcdefg各是什么数字(不重复)
7.a进行一次C和D之间往返旅行,希望在整个旅行中能够达到60km/h的平均速度,但是当他从C到达D的时候发现平均速度只有30km/h,问a应当怎么做才能够使这次往返旅行的平局速度到达60km/h
8.烧一根不均匀的绳,从头烧到尾总共需要1个小时。
现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?
答案:
三根绳,同时第一根点燃两端,第二根点燃一端,第三根不点.
第一根绳烧完(30分钟)后,点燃第二根绳的另一端,第二根绳烧完(45分钟)后,点燃第三根绳子两端,第三根绳烧完(1小时15分)后,计时完成
9.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。
抓取多少个就可以确定你肯定有两个同一颜色的果冻?
答案:
10.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?
答案:
(1)3升桶装满;3升水-〉5升桶(全注入);3升捅装满;3升水-〉5升捅(3升桶剩1升);5升桶装满5升水倒掉;3升桶剩1升水-〉5升桶(注入1升);3升桶装满;3升水-〉5升桶;完成(另:
可用回溯法编程求解)
(2)5升桶装满;5升水-〉3升空桶;3升水倒掉;5升桶剩下的2升-〉3升桶;5升桶装满-〉将装有2升水的的3升桶
11.一个岔路口分别通向诚实国和说谎国。
来了两个人,已知一个是诚实国的,另一个是说谎国的。
诚实国永远说实话,说谎国永远说谎话。
现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。
请问应该怎么问?
12.12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。
13个呢?
13.在9个点上画10条直线,要求每条直线上至少有三个点?
14.在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?
都分别是什么时间?
你怎样算出来的?
二.没有答案型(说明:
这些题显然不是考你智力。
而考的是你的反应能力。
这种题大多数没有答案,但是要看你的反应喽!
)
1.为什么下水道的盖子是圆的?
答案:
因为口是圆的。
2.中国有多少辆汽车?
3.将汽车钥匙插入车门,向哪个方向旋转就可以打开车锁?
4.如果你要去掉中国的34个省(含自治区、直辖市和港澳特区及台湾省)中的任何一个,你会去掉哪一个,为什么?
答案:
我会反问让他先去掉美国50州中的一个,他会去掉哪个。
5.多少个加油站才能满足中国的所有汽车?
6.想象你站在镜子前,请问,为什么镜子中的影象可以颠倒左右,却不能颠倒上下?
答案:
眼睛不是上下长的。
7.为什么在任何旅馆里,你打开热水,热水都会瞬间倾泻而出?
8.你怎样将Excel的用法解释给你的奶奶听?
9.你怎样重新改进和设计一个ATM银行自动取款机?
10.如果你不得不重新学习一种新的计算机语言,你打算怎样着手来开始?
11.如果你的生涯规划中打算在5年内受到奖励,那获取该项奖励的动机是什么?
观众是谁?
12.如果微软告诉你,我们打算投资五百万美元来启动你的投资计划,你将开始什么样商业计划?
为什么?
13.如果你能够将全世界的电脑厂商集合在一个办公室里,然后告诉他们将被强迫做一件事,那件事将是什么?
三.难题(说明:
这类题有一定难度,如果得不到答案,也不能说明什么。
如果你想到了解题思路,那么答案马上就能出来。
如果想不到思路,那么......就别想解出来了。
)
1.你让工人为你工作7天,回报是一根金条,这个金条平分成相连的7段,你必须在每天结束的时候给他们一段金条。
如果只允许你两次把金条弄断,你如何给你的工人付费?
答案:
1.分成1,2,4三段,第一天给1,第二天给2取回1,第3天给1,第4天给4取回1、2,第5天给1,第6天给2取回1,第七天给1,剩下4升;
2.有一辆火车以每小时15公里的速度离开北京直奔广州,同时另一辆火车每小时20公里的速度从广州开往北京。
如果有一只鸟,以30公里每小时的速度和两辆火车同时启动,从北京出发,碰到另一辆车后就向相反的方向返回去飞,就这样依次在两辆火车之间来回地飞,直到两辆火车相遇。
请问,这只鸟共飞行了多长的距离?
3.你有四个装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被污染的药丸的重量+1。
只称量一次,如何判断哪个罐子的药被污染了?
答案:
四个罐子中分别取1,2,3,4颗药丸,称出比正常重多少,称出为总重加几,即可判断出那个罐子的药被污染。
4.门外三个开关分别对应室内三盏灯,线路良好,在门外控制开关时候不能看到室内灯的情况,现在只允许进门一次,确定开关和灯的对应关系?
5.人民币为什么只有1、2、5、10的面值?
6.你有两个罐子以及50个红色弹球和50个蓝色弹球,随机选出一个罐子,随机选出一个弹球放入罐子,怎么给出红色弹球最大的选中机会?
在你的计划里,得到红球的几率是多少?
四.超难题(说明:
如果你是第一次看到这种题,并且以前从来没有见过类似的题型,并且能够在半个小时之内做出答案。
只能说明你的智力超常......)
第一题五个海盗抢到了100颗宝石,每一颗都一样大小和价值连城。
他们决定这么分:
抽签决定自己的号码(1、2、3、4、5)
首先,由1号提出分配方案,然后大家表决,当且仅当超过半数的人同意时,
按照他的方案进行分配,否则将被扔进大海喂鲨鱼如果1号死后,再由2号提
出分配方案,然后剩下的4人进行表决,当且仅当超过半数的人同意时,按照
他的方案进行分配,否则将被扔入大海喂鲨鱼
依此类推
条件:
每个海盗都是很聪明的人,都能很理智地做出判断,从而做出选择。
问题:
第一个海盗提出怎样的分配方案才能使自己的收益最大化?
第二题.一道关于飞机加油的问题,已知:
每个飞机只有一个油箱,飞机之间可以相互加油(注意是相互,没有加油机)一箱油可供一架飞机绕地球飞半圈,
问题:
为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?
(所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)
第三题:
一个小猴子边上有100根香蕉,它要走过50米才能到家,每次它最多搬50根香蕉,(多了就被压死了),它每走1米就要吃掉一根,请问它最多能把多少根香蕉搬到家里。
提示:
他可以把香蕉放下往返的走,但是必须保证它每走一米都能有香蕉吃。
也可以走到n米时,放下一些香蕉,拿着n根香蕉走回去重新搬50根。
答案:
我想大概就说这样的走法:
1分两段路走,先走x路程.第一次搬50个香蕉,就在x地50-2x个香蕉;带着x个香蕉走回来;
然后拿剩下的50个香蕉;第二次走到家的前提是100-3x<=50.
最后的香蕉:
100-3x-(50-x)=50-2x
满足不等式后的50-2x的最大值是x=17的时候,所以最多搬回去16个香蕉
2分两次以上走完,先走x,然后走y,接着走z....最后50-x-y-z-...
最后一次走之前都有条件100-3x-3y-3z-...<=50
而最后的香蕉数量:
100-3x-3y-3z-...-(50-x-y-z-...)=50-2(x+y+z+....)
所以答案还是和上面一样
所以我的结论是16个香蕉
五.主观题(说明:
在以后的工作过程中,我们可定会犯这样那样的错误。
既然错误已经酿成,损失在所难免,我们只能想办法把损失减少到最小。
如果能巧妙地回答出这些问题,再发生错误的情况下。
能让客户有最少的抱
怨,公司有最少的损失。
)
1.某手机厂家由于设计失误,有可能造成电池寿命比原来设计的寿命短一半(不是冲放电时间),解决方案就是免费更换电池或给50元购买该厂家新手机的折换券。
请给所有已购买的用户写信告诉解决方案。
2.一高层领导在参观某博物馆时,向博物馆馆员小王要了一块明代的城砖作为纪念,按国家规定,任何人不得将博物馆收藏品变为私有。
博物馆馆长需要如何写信给这位领导,将城砖取回。
3.营业员小姐由于工作失误,将2万元的笔记本电脑以1.2万元错卖给李先生,
王小姐的经理怎么写信给李先生试图将钱要回来?
六.算法题(说明:
这些题就不是什么花样了,考的是你的基础知识怎么样。
再聪明而没有实学的人都将会被这些题所淘汰。
)
1.链表和数组的区别在哪里?
2.编写实现链表排序的一种算法。
说明为什么你会选择用这样的方法?
3.编写实现数组排序的一种算法。
说明为什么你会选择用这样的方法?
4.编写能直接实现strstr()函数功能的代码。
5.编写反转字符串的程序,要求优化速度、优化空间。
6.在链表里如何发现循环链接?
7.给出洗牌的一个算法,并将洗好的牌存储在一个整形数组里。
8.写一个函数,检查字符是否是整数,如果是,返回其整数值。
(或者:
怎样只用4行代码编写出一个从字符串到长整形的函数?
)
9.给出一个函数来输出一个字符串的所有排列。
10.请编写实现malloc()内存分配函数功能一样的代码。
11.给出一个函数来复制两个字符串A和B。
字符串A的后几个字节和字符串
B的前几个字节重叠。
12.怎样编写一个程序,把一个有序整数数组放到二叉树中?
13.怎样从顶部开始逐层打印二叉树结点数据?
请编程。
14.怎样把一个链表掉个顺序(也就是反序,注意链表的边界条件并考虑空链表)?
七.几个微软技术支持中心电话面试的题目
1.如果只想让程序有一个实例运行,不能运行两个。
象winnamp一样,只能开一个窗口,怎么作?
2.如何截取键盘的响应,让所有的'a'变成'b'?
3.apartment在com中有什么用?
为什么要引入这个?
4.存储过程是什么,有什么用,什么优点?
5.template有什么特点,什么时候用?
6.好像最好要了解win32sdk底层的知识。
比如消息响应的过程等等。
7.对.net的理解,对webservice的理解,对三层结构的理解
8.两层的负载平衡与三层结构的负载平衡有什么差别,优点
9.windowsDNA结构的特点,优点。
————————————————————————————————————————————
PartI.选择题:
(70分钟)
1.求函数返回值,输入x=9999;
intfunc(x)
{
intcountx=0;
while(x)
{
countx++;
x=x&(x-1);
}
returncountx;
}
2.为什么返回局部变量的引用不好?
a,b,c,d不记得了,大概和内存,返回值等等有关。
3.StackR,fromthetoptobottom:
{2,3,4,5,6},逐个取出放入QueueQ,再从Q中逐个取出放入R中,问现在
从上到下R中元素的排列?
4.在你自己定义的类中有什么是CLASSVIEW不会为你做的:
(a)析构器。
(b)拷贝构造函数(c)构造函数(不记得有没有这一项了)(d)(不记得了)
5.写出程序的结果:
_____________________________
intfuna(int*a)
{
a[0]++;
}
intfunb(intb[])
{
b[1]+=5;
}
main()
{
inta[5]={2,3,4,5,6};
intb[5]={2,3,4,5,6};
int*p;
p=&a[0];
(*p)++;
funb(p);
for(inti=0;i<5;i++)
printf("%d,",a);
p=&b[1];
funa(p);//(啊,现在写的时候才发现做错了,传的是b[1]的地址;只记得传地址给指针了,考的时候以为
//传的是b.主要是被第一次调用funb弄晕了~~呵呵)
funb(p);
for(i=0;i<5;i++)
printf("%d,",b);
}
18.一道智力题或者说逻辑题,好多英文单词不认识,都没弄懂意思,所以也没做。
有记得的写出来吧,最好翻译过来,我还打算做一下呢。
虽然很有可能做不出。
有一道好像是说编译器可以修改typeerror,的好处或不好。
有一道是什么regularlanguage和textfreelanguage比较?
(有没有人给我解释一下这两个是什么东东?
)
有一道是在编写代码是查找错误好还是用testing找好?
其他的都不记得了。
PartII编程(40分钟)
1.把一段汇编语言的程序写成一个C语言函数,不能有goto和指针。
因为那段汇编我没看懂,所以也记不得了。
那个汇编是我们微原学的汇编,是另一个,不过它有解释关于它的语句命令。
2.实现以下程序,以方便binarysearch.
.要有处理错误语句
.队列的分配的大小是固定的MAX_LEN,由第二个参数输入
.不能复制队列
insert(int*arr,//队列
size_llen,//队列大小
size_lcount,//队列元素的数目
intvarl//要处理的数据
)返回插入数据的索引
remove(int*arr,size_llen,size_lcount,intvarl)返回删除元素的索引
search(int*arr,size_llen,size_lcount,intvarl)返回搜索道元素的索引
PartIIIDesign(20分钟)
1.如果给你分配一个任务,做一个新版本的IE浏览器的一个功能,可能是搜索功能、用户界面,你将如何design,development,test
2.不记得
PartIVTesting(30分钟)
1。
给你一个函数,你如何测试它,函数是strcmp(char*str1,char*str2)
2.给你一个DVDPlay,你如何测试它?
如果测有只有一定的时间,你首先测试哪一步?
为什么?
PartV.Writing(20分钟)
在过去的这些年,你遇到了哪一个最大的困难,你是如何解决它的?
你是单独做的还是和别人一起做的决定?
为什么做这个决定?
现在theoutput如何?
—————————————————————————————————————————————
MSRAInterviewWrittenExam(December2003,Time:
2.5Hours)
1写出下列算法的时间复杂度。
(1)冒泡排序;
(2)选择排序;
(3)插入排序;
(4)快速排序;
(5)堆排序;
(6)归并排序;
2写出下列程序在X86上的运行结果。
structmybitfields
{
unsignedshorta:
4;
unsignedshortb:
5;
unsignedshortc:
7;
}test
voidmain(void)
{
inti;
test.a=2;
test.b=3;
test.c=0;
i=*((short*)&test);
printf("%d\n",i);
}
3写出下列程序的运行结果。
unsignedinti=3;
cout<
4写出下列程序所有可能的运行结果。
inta;
intb;
intc;
voidF1()
{
b=a*2;
a=b;
}
voidF2()
{
c=a+1;
a=c;
}
main()
{
a=5;
//StartF1,F2inparallel
F1();F2();
printf("a=%d\n",a);
}
5考察了一个CharPrev()函数的作用。
6对16Bitscolors的处理,要求:
(1)Byte转换为RGB时,保留高5、6bits;
(2)RGB转换为Byte时,第2、3位置零。
7一个链表的操作,注意代码的健壮和安全性。
要求:
(1)增加一个元素;
(2)获得头元素;
(3)弹出头元素(获得值并删除)。
8一个给定的数值由左边开始升位到右边第N位,如
0010<<1==0100
或者
00010011<<4==00110000
请用C或者C++或者其他X86上能运行的程序实现。
附加题(只有在完成以上题目后,才获准回答)
InC++,whatdoes"explicit"mean?
whatdoes"protected"mean?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微软 笔试 面试