`

【转载】微软面试题以及答案

阅读更多

第一组 

   1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?
  2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?
  3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?
  4.一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。请问应该怎么问?
  5.12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。13个呢?(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑)
  6.在9个点上画10条直线,要求每条直线上至少有三个点?
  7.在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的?
  8.怎么样种植4棵树木,使其中任意两棵树的距离相等?

第二组   

 
  1.为什么下水道的盖子是圆的?
  2.中国有多少辆汽车?
  3.将汽车钥匙插入车门,向哪个方向旋转就可以打开车锁?
  4.如果你要去掉中国的34个省(含自治区、直辖市和港澳特区及台湾省)中的任何一个,你会去掉哪一个,为什么?
  5.多少个加油站才能满足中国的所有汽车?
  6.想象你站在镜子前,请问,为什么镜子中的影象可以颠倒左右,却不能颠倒上下?
  7.为什么在任何旅馆里,你打开热水,热水都会瞬间倾泻而出?
  8.你怎样将Excel的用法解释给你的奶奶听?
  9.你怎样重新改进和设计一个ATM银行自动取款机?
  10.如果你不得不重新学习一种新的计算机语言,你打算怎样着手来开始?
  11.如果你的生涯规划中打算在5年内受到奖励,那获取该项奖励的动机是什么?观众是谁?
  12.如果微软告诉你,我们打算投资五百万美元来启动你的投资计划,你将开始什么样商业计划?为什么?
  13.如果你能够将全世界的电脑厂商集合在一个办公室里,然后告诉他们将被强迫做一件事,那件事将是什么?

第三组   


  1.你让工人为你工作7天,回报是一根金条,这个金条平分成相连的7段,你必须在每天结束的时候给他们一段金条。如果只允许你两次把金条弄断,你如何给你的工人付费?
  2.有一辆火车以每小时15公里的速度离开北京直奔广州,同时另一辆火车每小时20公里的速度从广州开往北京。如果有一只鸟,以30公里每小时的速度和两辆火车同时启动,从北京出发,碰到另一辆车后就向相反的方向返回去飞,就这样依次在两辆火车之间来回地飞,直到两辆火车相遇。请问,这只鸟共飞行了多长的距离?
  3.你有四个装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被污染的药丸的重量+1。只称量一次,如何判断哪个罐子的药被污染了?
  4.门外三个开关分别对应室内三盏灯,线路良好,在门外控制开关时候不能看到室内灯的情况,现在只允许进门一次,确定开关和灯的对应关系?
  5.人民币为什么只有1、2、5、10的面值?
  6.你有两个罐子以及50个红色弹球和50个蓝色弹球,随机选出一个罐子, 随机选出一个弹球放入罐子,怎么给出红色弹球最大的选中机会?在你的计划里,得到红球的几率是多少?
  7.给你两颗6面色子,可以在它们各个面上刻上0-9任意一个数字,要求能够用它们拼出任意一年中的日期数值

第四组   


  第一题 . 五个海盗抢到了100颗宝石,每一颗都一样大小和价值连城。他们决定这么分:
  抽签决定自己的号码(1、2、3、4、5)
  首先,由1号提出分配方案,然后大家表决,当且仅当超过半数的人同意时,按照他的方案
  进行分配,否则将被扔进大海喂鲨鱼
  如果1号死后,再由2号提出分配方案,然后剩下的4人进行表决,当且仅当超过半数的人同
  意时,按照他的方案进行分配,否则将被扔入大海喂鲨鱼
  依此类推
  条件:每个海盗都是很聪明的人,都能很理智地做出判断,从而做出选择。
  问题:第一个海盗提出怎样的分配方案才能使自己的收益最大化?

  第二题 . 一道关于飞机加油的问题,已知:
  每个飞机只有一个油箱,
  飞机之间可以相互加油(注意是相互,没有加油机)
  一箱油可供一架飞机绕地球飞半圈,
  问题:
  为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)

  第三题. 汽车加油问题   
  一辆载油500升的汽车从A开往1000公里外的B,已知汽车每公里耗油量为1升,A处有无穷多的油,其他任何地点都没有油,但该车可以在任何地点存放油以备中转,问从A到B最少需要多少油

  第四题. 掷杯问题
  一种杯子,若在第N层被摔破,则在任何比N高的楼层均会破,若在第M层不破,则在任何比M低的楼层均会破,给你两个这样的杯子,让你在100层高的楼层中测试,要求用最少的测试次数找出恰巧会使杯子破碎的楼层。

 

      第五题. 推理游戏
  教授选出两个从2到9的数,把它们的和告诉学生甲,把它们的积告诉学生乙,让他们轮流猜这两个数
  甲说:“我猜不出”
  乙说:“我猜不出”
  甲说:“我猜到了”
  乙说:“我也猜到了”
  问这两个数是多少

  第六题. 病狗问题
  一个住宅区内有100户人家,每户人家养一条狗,每天傍晚大家都在同一个地方遛狗。已知这些狗中有一部分病狗,由于某种原因,狗的主人无法判断自己的狗是否是病狗,却能够分辨其他的狗是否有病,现在,上级传来通知,要求住户处决这些病狗,并且不允许指认他人的狗是病狗(就是只能判断自己的),过了7天之后,所有的病狗都被处决了,问,一共有几只病狗?为什么?

  第七题. U2合唱团在17分钟内得赶到演唱会场,途中必需跨过一座桥,四个人从桥的同一端出发,你得帮助他们到达另一端,天色很暗,而他们只有一只手电筒。一次同时最多可以有两人一起过桥,而过桥的时候必须持有手电筒,所以就得有人把手电筒带来带去,来回桥两端。手电筒是不能用丢的方式来传递的。四个人的步行速度各不同,若两人同行则以较慢者的速度为准。BONO需花1分钟过桥,EDGE需花2分钟过桥,ADAM需花5分钟过桥,LARRY需花10分钟过桥,他们要如何在17分钟内过桥呢?
 

   第八题. 监狱里有100个房间,每个房间内有一囚犯。一天,监狱长说,你们狱房外有一电灯,你们在放风时可以控制这个电灯(熄或亮)。每天只能有一个人出来放风,并且防风是随机的。如果在有限时间内,你们中的某人能对我说:“我敢保证,现在每个人都已经至少放过一次风了。”我就放了你们!问囚犯们要采取什么策略才能被监狱长放掉?如果采用了这种策略,大致多久他们可以被释放?

第五组   


  1.某手机厂家由于设计失误,有可能造成电池寿命比原来设计的寿命短一半(不是冲放电时间),解决方案就是免费更换电池或给50元购买该厂家新手机的折换券。请给所有已购买的用户写信告诉解决方案。
  2.一高层领导在参观某博物馆时,向博物馆馆员小王要了一块明代的城砖作为纪念,按国家规定,任何人不得将博物馆收藏品变为私有。博物馆馆长需要如何写信给这位领导,将城砖取回。
  3.营业员小姐由于工作失误,将2万元的笔记本电脑以1.2万元错卖给李先生,王小姐的经理怎么写信给李先生试图将钱要回来?
  4.给你一款新研制的手机,如果你是测试组的组长,你会如何测试?
  5.如何为函数int atoi(const char * pstr)编写测试向量?

第六组   


  1.链表和数组的区别在哪里?
  2.编写实现链表排序的一种算法。说明为什么你会选择用这样的方法?
  3.编写实现数组排序的一种算法。说明为什么你会选择用这样的方法?
  4.请编写能直接实现char * strcpy(char * pstrDest,const char * pstrSource)函数功能的代码。
  5.编写反转字符串的程序,要求优化速度、优化空间。
  6.在链表里如何发现循环链接?
  7.给出洗牌的一个算法,并将洗好的牌存储在一个整形数组里。
  8.写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:怎样只用4行代码
  9.给出一个函数来输出一个字符串的所有排列。
  10.请编写实现void * malloc(int)内存分配函数功能一样的代码。
  11.给出一个函数来复制两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠。
  12.怎样编写一个程序,把一个有序整数数组放到二叉树中?
  13.怎样从顶部开始逐层打印二叉树结点数据?请编程。
  14.怎样把一个链表掉个顺序(也就是反序,注意链表的边界条件并考虑空链表)? --
  15.请编写能直接实现int atoi(const char * pstr)函数功能的代码

 

=======================答案===================================

第一组:

   
  1)三根绳,第一根点燃两端,第二根点燃一端,第三根不点
  第一根绳烧完(30分钟)后,点燃第二根绳的另一端,第二根绳烧完(45分钟)后,点燃第三根绳子两端,第三根绳烧完(1小时15分)后,计时完成
  2)根据抽屉原理,4个
  3)3升装满;3升-〉5升(全注入);3升装满;3升-〉5升(剩1升);5升倒掉;3升-〉5升(注入1升);3升装满;3升-〉5升;完成(另:可用回溯法编程求解)
  4)问其中一人:另外一个人会说哪一条路是通往诚实国的?回答者所指的那条路必然是通往说谎国的。
  5)12个球:
  第一次:4,4 如果平了:
  那么剩下的球中取3放左边,取3个好球放右边,称:
  如果左边重,那么取两个球称一下,哪个重哪个是次品,平的话第三个重,是次品,轻的话同理
  如果平了,那么剩下一个次品,还可根据需要称出次品比正品轻或者重
  如果不平:
  那么不妨设左边重右边轻,为了便于说明,将左边4颗称为重球,右边4颗称为轻球,剩下4颗称为好球
  取重球2颗,轻球2颗放在左侧,右侧放3颗好球和一颗轻球
  如果左边重
  称那两颗重球,重的一个次品,平的话右边轻球次品
  如果右边重
  称左边两颗轻球,轻的一个次品
  如果平
  称剩下两颗重球,重的一个次品,平的话剩下那颗轻球次品
  13个球:
  第一次:4,4,如果平了
  剩5颗球用上面的方法仍旧能找出次品,只是不能知道次品是重是轻
  如果不平,同上
  6)   
  o o o
  o o o
  o o o
  7)
23次,因为分针要转24圈,时针才能转1圈,而分针和时针重合两次之间的间隔显然>1小时,它们有23次重合机会,每次重合中秒针有一次重合机会,所以是23次
  重合时间可以对照手表求出,也可列方程求出
  8)
  在地球表面种树,做一个地球内接的正四面体,内接点即为所求

第二组 无标准答案

第三组   

 
  1. 分成1,2,4三段,第一天给1,第二天给2取回1,第3天给1,第4天给4取回1、2,第5天给1,第6天给2取回1,第七天给1
  2. 求出火车相遇时间,鸟速乘以时间就是鸟飞行的距离
  3. 四个罐子中分别取1,2,3,4颗药丸,称出比正常重多少,即可判断出那个罐子的药被污染
  4. 三个开关分别:关,开,开10分钟,然后进屋,暗且凉的为开关1控制的灯,亮的为开关2控制的灯,暗且热的为开关3控制的灯
  5. 因为可以用1,2,5,10组合成任何需要的货币值,日常习惯为10进制
  6. 题意不理解...*_*
  7. 012345 0126(9)78


第四组 都是很难的题目   


  第一题:97 0 1 2 0 或者 97 0 1 0 2 (提示:可用逆推法求出)
  第二题:3架飞机5架次,飞法:
  ABC 3架同时起飞,1/8处,C给AB加满油,C返航,1/4处,B给A加满油,B返航,A到达1/2处,C从机场往另一方向起飞,3/4处,C同已经空油箱的A平分剩余油量,同时B从机场起飞,AC到7/8处同B平分剩余油量,刚好3架飞机同时返航。所以是3架飞机5架次。
  第三题:需要建立数学模型   
  (提示,严格证明该模型最优比较麻烦,但确实可证,大胆猜想是解题关键)
  题目可归结为求数列 an=500/(2n+1) n=0,1,2,3......的和Sn什么时候大于等于1000,解得n>6
  当n=6时,S6=977.57
  所以第一个中转点离起始位置距离为1000-977.57=22.43公里
  所以第一次中转之前共耗油 22.43*(2*7+1)=336.50升
  此后每次中转耗油500升
  所以总耗油量为7*500+336.50=3836.50升
  第四题:需要建立数学模型
  题目可归结为求自然数列的和S什么时候大于等于100,解得n>13
  第一个杯子可能的投掷楼层分别为:14,27,39,50,60,69,77,84,90,95,99,100
  第五题:3和4(可严格证明)
  设两个数为n1,n2,n1>=n2,甲听到的数为n=n1+n2,乙听到的数为m=n1*n2
  证明n1=3,n2=4是唯一解
  证明:要证以上命题为真,不妨先证n=7
  1)必要性:
  i) n>5 是显然的,因为n<4不可能,n=4或者n=5甲都不可能回答不知道
  ii) n>6 因为如果n=6的话,那么甲虽然不知道(不确定2+4还是3+3)但是无论是2,4还是3,3乙都不可能说不知道(m=8或者m=9的话乙说不知道是没有道理的)
  iii) n<8 因为如果n>=8的话,就可以将n分解成 n=4+x 和 n=6+(x-2),那么m可以是4x也可以是6(x-2)而4x=6(x-2)的必要条件是x=6即n=10,那样n又可以分解成8+2,所以总之当n>=8时,n至少可以分解成两种不同的合数之和,这样乙说不知道的时候,甲就没有理由马上说知道。
  以上证明了必要性
  2)充分性
  当n=7时,n可以分解成2+5或3+4
  显然2+5不符合题意,舍去,容易判断出3+4符合题意,m=12,证毕
  于是得到n=7 m=12 n1=3 n2=4是唯一解。
      第六题:7只(数学归纳法证明)   
  1)若只有1只病狗,因为病狗主人看不到有其他病狗,必然会知道自己的狗是病狗(前提是一定存在病狗),所以他会在第一天把病狗处决。
  2)设有k只病狗的话,会在第k天被处决,那么,如果有k+1只,病狗的主人只会看到k只病狗,而第k天没有人处决病狗,病狗主人就会在第k+1天知道自己的狗是病狗,于是病狗在第k+1天被处决
  3)由1)2)得,若有n只病狗,必然在第n天被处决
  第七题:(提示:可用图论方法解决)
  BONO&EDGE过(2分),BONO将手电带回(1分),ADAM&LARRY过(10分),EDGE将手电带回(2分),BONO&EDGE过(2分) 2+1+10+2+2=17分钟
  第八题
  约定好一个人作为报告人(可以是第一个放风的人)
  规则如下:
  1、报告人放风的时候开灯并数开灯次数
  2、其他人第一次遇到开着灯放风时,将灯关闭
  3、当报告人第100次开灯的时候,去向监狱长报告,要求监狱长放人......
  按照概率大约30年后(10000天)他们可以被释放

第五组无标准答案   
第六组部分题参考答案:

4,

char * strcpy(char * pstrDest,const char * pstrSource) 
{ 
 assert((pstrDest!=NULL)&&(pstrSource!=NULL));  
 char * pstr=pstrDest; 
 while((*(pstrDest++)=*(pstrSource++))!='\0'); 
 return pstr; 
}

  

5,
 

char * strrev(char * pstr) 
{ 
 assert(pstr!=NULL); 
  
 char * p=pstr; 
 char * pret=pstr; 
 while(*(p++)!='\0'); 
 p--; 
 char tmp; 
 while(p>pstr) 
 { 
 	tmp=*p; 
 	*(p--)=*(pstr); 
 	*(pstr++)=tmp;  
 }
 return pret

 

分享到:
评论

相关推荐

    微软试题合集 微软面试题

    微软作为全球知名的科技巨头,其面试题历来备受关注,这些题目不仅体现了微软对技术人才的期望,也成为了求职者提升自身技能的重要参考资料。本压缩包中的“微软试题合集”涵盖了多个领域的技术问题,旨在测试候选人...

    mysql面试题 以及答案 祝你成功

    mysql面试题 以及答案 祝你成功mysql面试题 以及答案 祝你成功mysql面试题 以及答案 祝你成功mysql面试题 以及答案 祝你成功mysql面试题 以及答案 祝你成功mysql面试题 以及答案 祝你成功mysql面试题 以及答案 祝你...

    微软面试题答案,面试题

    面试题,微软面试题答案,微软面试题答案,微软面试题答案

    Android 高级开发面试题以及答案 整理

    Android 高级开发面试题以及答案整理 Android 高级开发面试题以及答案整理是 Android 开发者面试的重要参考资料。该资料涵盖了 Java 基础知识、Android 平台知识、数据存储、网络编程、多媒体处理、Android 架构...

    Python面试题及答案共70道.docx

    Python面试题及答案共70道Python面试题及答案共70道Python面试题及答案共70道Python面试题及答案共70道Python面试题及答案共70道Python面试题及答案共70道Python面试题及答案共70道Python面试题及答案共70道Python...

    10万字总结java面试题和答案(八股文之一)Java面试题指南

    JavaOOP面试题 Java集合/泛型面试题 Java异常面试题 Java中的IO与NIO面试题 Java反射面试题 Java序列化面试题 Java注解面试题 多线程&并发面试题 JVM面试题 Mysql面试题 Redis面试题 Memcached面试题 MongoDB面试题 ...

    微软 面试试题及答案 .

    本压缩包中的“微软面试试题及答案.txt”文件,很可能是收集了一些在微软面试过程中可能会遇到的问题及其解答,旨在帮助应聘者更好地准备面试。 面试题目的类型通常包括技术问题、行为问题和情境问题。对于技术问题...

    微软面试题(很动脑哦!附答案、解析及英文原版)

    本压缩包包含了四份文档,分别是“英文原版(101道面试题).doc”、“部分题的具体分析.doc”、“面试题答案.doc”以及“微软的面试题.doc”,旨在帮助求职者了解微软的面试风格并提升准备。 1. **英文原版面试题**...

    微软面试题(本人苦心收集,附有答案)

    【微软面试题详解】 微软面试题以其独特性和挑战性闻名,旨在考察候选人的逻辑思维、问题解决、反应速度和创新能力。以下是对部分题目的详细解析: 1. **烧绳计时**:这个问题需要利用绳子燃烧的时间差异。将一根...

    (完整版)运维面试题(含答案).pdf

    (完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题...

    微软的面试题完整版(附答案)

    microsoft微软的面试题完整版及答案

    微软的面试题及答案-超变态但是很经典

    微软,作为全球知名的科技巨头,其面试题总是能引发公众的广泛兴趣。这些题目通常被冠以“超变态”但“很经典”的标签,因为它们具有极强的挑战性,能够很好地考察候选人的综合素质。今天,我们将深入探究这些微软...

    微软面试题解答google微软等大公司面试题

    微软公司面试人员的面试题解答,google微软等大公司面试题,软件架构师的设计。

    Java面试题以及答案整理.pdf

    为了在Java面试中脱颖而出,了解和掌握常见的面试题及答案至关重要。以下是一些关键知识点的详细解析: 1. **super()与 this()的区别** `super()`用于调用父类的构造器,确保子类实例化时父类的初始化;`this()`则...

    微软的面试题及答案 非常好,很难找

    【微软面试题解析】 面试是求职过程中的关键环节,尤其对于技术岗位,面试题往往具有挑战性和创新性。微软作为全球知名的科技公司,其面试题不仅考察候选人的专业技能,还涉及逻辑思维、问题解决和创新能力。以下是...

    百度微软等算法面试题及答案

    【算法面试题】在计算机科学领域,特别是在面试过程中,算法能力是评估程序员技能的重要标准。题目涉及到了将二元查找树(BST)转换为排序的双向链表,这是一个典型的树结构转换问题,常出现在诸如百度、微软等科技...

    linux驱动开发面试题及答案

    linux驱动开发面试题及答案 是一些比较常见的linux面试题 及 其对应答案

Global site tag (gtag.js) - Google Analytics