微软的面试题及答案-超变态但是很经典(二)
>首页 -> 社会专题 -> 软件技术 2011-02-11 来源: 作者: 【】 浏览:1879

写信给这位领导,将城砖取回。

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+

您看到此篇文章时的感受是:
Tags: 责任编辑:佚名
免责申明: 除原创及很少部分因网文图片遗失而补存外,本站不存储任何有版权的内容。你看到的文章和信息及网址索引均由机器采集自互联网,由于时间不同,内容可能完全不同,请勿拿本网内容及网址索引用于交易及作为事实依据,仅限参考,不会自行判断者请勿接受本站信息,本网转载,并不意味着赞同其观点或证实其内容的真实性.如涉及版权等问题,请立即联系管理员,我们会予以更改或删除,保证您的权利.对使用本网站信息和服务所引起的后果,本网站不作任何承诺.
首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论:0条】 【关闭】 【返回顶部
微信分享二维码

打开微信扫一扫分享

上一篇怎么对U盘进行量产 下一篇用ghost硬盘克隆图解
密码: (新用户注册)

最新文章

图片主题

热门文章

推荐文章

相关文章

便民服务

手机扫描

空间赞助

快速互动

论坛互动
讨论留言

有事联系

有哪个那个什么的,赶紧点这里给DOVE发消息

统计联系

MAIL:gnlt@Dovechina.com
正在线上:1

版权与建议

任何你想说的