微软 笔试 面试.doc_第1页
微软 笔试 面试.doc_第2页
微软 笔试 面试.doc_第3页
微软 笔试 面试.doc_第4页
微软 笔试 面试.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微软 笔试 面试 分类:算法杂谈一最基本题型(说明:此类题型比较简单) 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 a b c d e * f _ g g g g g g 问,a b c d e f g各是什么数字(不重复) 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的理解,对web service的理解,对三层结构的理解 8.两层的负载平衡与三层结构的负载平衡有什么差别,优点 9.windows DNA结构的特点,优点。 Part I.选择题:(70分钟) 1.求函数返回值,输入x=9999; int func(x) int countx = 0; while(x) countx +; x = x&(x-1); return countx; 2.为什么返回局部变量的引用不好? a,b,c,d不记得了,大概和内存,返回值等等有关。 3.Stack R,from the top to bottom:2,3,4,5,6,逐个取出放入Queue Q ,再从Q中逐个取出放入R中,问现在 从上到下R中元素的排列? 4.在你自己定义的类中有什么是CLASSVIEW不会为你做的: (a) 析构器。 (b)拷贝构造函数 (c)构造函数 (不记得有没有这一项了) (d)(不记得了) 5.写出程序的结果:_ _ int funa(int *a) a0 +; int funb(int b) b1 += 5; main() int a5 = 2,3,4,5,6; int b5 = 2,3,4,5,6; int *p; p = &a0; (*p)+; funb(p); for(int i = 0; i 5; i+) printf(%d,a); p = &b1; funa(p);/(啊,现在写的时候才发现做错了,传的是b1的地址;只记得传地址给指针了,考的时候以为 /传的是b.主要是被第一次调用funb弄晕了呵呵) funb(p); for(i = 0; i 5; i+) printf(%d,b); 18.一道智力题或者说逻辑题,好多英文单词不认识,都没弄懂意思,所以也没做。有记得的写出来吧,最好翻译过来,我还打算做一下呢。虽然很有可能做不出。 有一道好像是说编译器可以修改type error,的好处或不好。 有一道是什么regular language和 text free language比较?(有没有人给我解释一下这两个是什么东东?) 有一道是在编写代码是查找错误好还是用testing找好? 其他的都不记得了。 Part II 编程(40分钟) 1. 把一段汇编语言的程序写成一个C语言函数,不能有go to 和指针。因为那段汇编我没看懂,所以也记不得了。那个汇编是我们微原学的汇编,是另一个,不过它有解释关于它的语句命令。 2.实现以下程序,以方便binary search. .要有处理错误语句 .队列的分配的大小是固定的MAX_LEN,由第二个参数输入 .不能复制队列 insert (int *arr, /队列 size_l len, / 队列大小 size_l count, /队列元素的数目 int varl /要处理的数据 )返回插入数据的索引 remove(int *arr,size_l len,size_l count,int varl)返回删除元素的索引 search(int *arr,size_l len,size_l count,int varl)返回搜索道元素的索引 Part III Design(20分钟) 1.如果给你分配一个任务,做一个新版本的IE浏览器的一个功能,可能是搜索功能、用户界面,你将如何design,development,test 2.不记得 Part IV Testing(30分钟) 1。给你一个函数,你如何测试它,函数是strcmp(char* str1,char* str2) 2.给你一个DVD Play,你如何测试它?如果测有只有一定的时间,你首先测试哪一步?为什么? Part V. Writing(20分钟) 在过去的这些年,你遇到了哪一个最大的困难,你是如何解决它的?你是单独做的还是和别人一起做的决定?为什么做这个决定?现在the output如何? MSRA Interview Written Exam(December 2003,Time:2.5 Hours) 1写出下列算法的时间复杂度。 (1)冒泡排序; (2)选择排序; (3)插入排序; (4)快速排序; (5)堆排序; (6)归并排序; 2写出下列程序在X86上

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论