2021年度微软校园招聘笔试_第1页
2021年度微软校园招聘笔试_第2页
2021年度微软校园招聘笔试_第3页
2021年度微软校园招聘笔试_第4页
2021年度微软校园招聘笔试_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

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

文档简介

目录

Parti笔试题目.................................................错误!未定义书签。

笔试题一...................................................错误!未定义书签。

微软实习生招聘.............................................错误!未定义书签。

5.1史上最全笔面题(含答案)..............................错误!未定义书签。

-5-28微软笔试.............................................错误!未定义书签。

Microsoft实习生面试时笔试(英文).........................错误!未定义书签。

TestforBasicComputerScienceKnowledge..................错误!未定义书签。

微软应试题完整版(附答案).................................错误!未定义书签。

笔试题(网络大汇总).......................................错误!未定义书签。

Part2笔试经验.................................................错误!未定义书签。

微软笔试一点回忆...........................................错误!未定义书签。

微软年5月笔试小谈......................................错误!未定义书签。

微软年4月笔试内容......................................错误!未定义书签。

给参加微软笔试同窗们某些建议...............................错误!未定义书签。

微软软件开发笔试归来.......................................错误!未定义书签。

微软笔试应对经验...........................................错误!未定义书签。

Parti笔试题目

笔试题一

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«i*-1;

4写出下列程序所有也许运营成果。

inta;

intb;

intc;

voidFl()

(

b=a*2;

a=b;

}

voidF2()

(

c=a+l;

a=c;

)

main()

(

a=5;

//StartFl,F2inparallel

Fl();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?

网上有不少Microsoft测试题,引来不少眼光。在这里把所有测试题加以整顿,再附上答案。

(个别题目答案有各种,文本仅代表作者思路)每道题背面会给出一种时间。这个时间是作

者做出该题所用时间。(注意,这不是什么原则时间,相信所有浏览本试卷朋友都会在某一

道或多道题上找到灵感,迅速解题)!

微软实习生招聘

您好!如下是本次微软实习生招聘笔试题目,请仔细阅读并认真答题:

注意:本次测试题目仅限本人阅读,请勿传阅她人。谢谢!

提交材料

1.不超过2页阐明书,涉及算法,设计,使用阐明,及程序编译运营环境规定

2.C#,C++或C程序源代码,程序必要是可运营

3.Optional:VisualStudioProject文献,以及其她编译必要文献

4.请在截止时间11月30日(周日)前交卷(含周日当天),若未完毕,也可交卷同步写明哪些某

些没有完毕

超过截止日期仍未交卷者,将视为放弃,特此提示!

评价原则

1.系统设计:条理清晰,设计可扩展性

2.代码质量

3.阐明书简洁清晰(bonuspointsifwritteninclearandconciseEnglish)

4.算法性能

问题

某栋写字楼6层,有1部电梯,请编写一种电梯仿真程序

A.考虑如下条件

1.每层楼均有上行和下行两个按键

2.电梯一开始停在1层

3.电梯可以容纳8个人

4.乘坐电梯客人祈求频率,时间间隔和到达楼层是随机

5.电梯上下一层需要1秒

6.电梯空间有限,同步只能容纳一定数量客人,如果已经达到人数额度,电梯将不理睬任何祈求

7.不考虑客人祈求当前楼层和不祈求楼层状况

8.电梯响应延迟为0(例如,电梯往3楼上行,3楼客人在电梯到达3楼之前按上行键,程序有权调

度电梯在3楼开门)

9.电梯开关门时间和客人上下电梯时间为0,匀速运营

10.电梯调度算法不能预读尚未发生祈求(例如在10秒时候电梯无法预知11秒时某层客人祈求)

11.客人祈求发生在整数秒

B.目的

1.在运送所有客人到达目的楼层前提下电梯总行程尽量小

2.设计一种接口,实现调度算法可替代性(例如,通过重新实现该接口可以使系统使用其他算

法)

C.输入和输出

输入:

input.txt

客人祈求序列,格式为到达时间,所在楼层,祈求楼层,假设该输入是按照时间递增

例如:

input.txt

123

231

在1秒时候有客人祈求从2层到3层,2秒时候有客人祈求从3层到1层

输出:设计一种简朴实用输出可以清晰地反映电梯运转状况

5.1史上最全笔面题(含答案)

一、最基本题型(阐明:此类题型比较简朴)

1.烧一根不均匀绳,从头烧到尾总共需要1个小时。当前有若干条材质相似绳子,问如何用

烧绳办法来计时一种小时十五分钟呢?

2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色两个。抓取多少个

就可以拟定你必定有两个同一颜色果冻?(5秒T分钟)

3.如果你有无穷多水,一种3公升提捅,一种5公升提捅,两只提捅形状上下都不均匀,

问你如何才干精确称出4公升水?(40秒-3分钟)

4.一种岔路口分别通向诚实国和说谎国。来了两个人,已知一种是诚实国,另一种是说谎国。

诚实国永远说实话,说谎国永远说谎话。当前你要去说谎国,但不懂得应当走哪条路,需要

问这两个人。请问应当怎么问?(20秒-2分钟)

5.12个球一种天平,现懂得只有一种和其他重量不同,问如何称才干用三次就找到那个球。

13个呢?(注意此题并未阐明那个球重量是轻是重,因此需要仔细考虑)(5分钟-1小时)

6.在9个点上画10条直线,规定每条直线上至少有三个点?(3分钟-20分钟)

7.在一天24小时之中,时钟时针、分针和秒针完全重叠在一起时候有几次?都分别是什么

时间?你如何算出来?

二。没有答案型(阐明:这些题显然不是考你智力。而考是你反映能力。这种题大多数没有

答案,但是要看你反映喽!)

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个蓝色弹球,随机选出一种罐子,随机选出一种

弹球放入罐子,怎么给出红色弹球最大选中机会?在你筹划里,得到红球几率是多少?

四。超难题(阐明:如果你是第一次看到这种题,并且此前从来没有见过类似题型,并且可

以在半个小时之内做出答案。只能阐明你智力超常……)

1.五个海盗抢到?00颗宝石,每一颗都同样大小和价值连城。她们决定这样分:抽签决定自

己号码(1、2、3、4、5)一方面,由1号提出分派方案,然后人们表决,当且仅当超过半

数人批准时,按照她方案进行分派,否则将被扔进大海喂鲨鱼如果1号死后,再由2号提

出分派方案,然后剩余4人进行表决,当且仅当超过半数人批准时,按照她方案进行分派,

否则将被扔入大海喂鲨鱼依此类推条件:每个海盗都是很聪颖人,都能很理智地做出判断,

从而做出选取。

问题:第一种海盗提出如何分派方案才干使自己收益最大?

2.一道关于飞机加油问题,已知:每个飞机只有一种油箱,飞机之间可以互相加油(注意是

互相,没有加油机)一箱油可供一架飞机绕地球飞半圈,问题:

为使至少一架飞机绕地球一圈回到起飞时飞机场,至少需要出动几架飞机?(所有飞机从同

一机场起飞,并且必要安全返回机场,不容许半途降落,中间没有飞机场)

五。主观题(阐明:在后来工作过程中,咱们可定会犯这样那样错误。既然错误已经酿成,

损失在所难免,咱们只能想办法把损失减少到最小。如果能巧妙地回答出这些问题,再发生

错误状况下。能让客户有至少抱怨,公司有至少损失。)

1.某手机厂家由于设计失误,有也许导致电池寿命比本来设计寿命短一半(不是冲放电时间),

解决方案就是免费更换电池或给50元购买该厂家新手机折换券。请给所有已购买顾客写信

告诉解决方案。

2.一高层领导在参观某博物馆时,向博物馆馆员小王要了一块明代城砖作为纪念,按国家规

定,任何人不得将博物馆收藏品变为私有。博物馆馆长需要如何写信给这位领导,将城砖取

回。

3.营业员小姐由于工作失误,将2万元笔记本电脑以1.2万元错卖给李先生,王小姐经理

怎么写信给李先生试图将钱要回来?

六。算法题(阐明:这些题就不是什么花样了,考是你基本知识怎么样。再聪颖而没有实学

人都将会被这些题所裁减。)

1.链表和数组区别在哪里?

2.编写实现链表排序一种算法。阐明为什么你会选取用这样办法?

3.编写实现数组排序一种算法。阐明为什么你会选取用这样办法?

4.请编写能直接实现strstr()函数功能代码。

5.编写反转字符串程序,规定优化速度、优化空间。

6.在链表里如何发现循环链接?

7.给出洗牌一种算法,并将洗好牌存储在一种整形数组里。

8.写一种函数,检查字符与否是整数,如果是,返回其整数值。(或者:如何只用4行代码

编写出一种从字符串到长整形函数?)

9.给出一种函数来输出一种字符串所有排列。

10.请编写实现malloc()内存分派函数功能同样代码。

11.给出一种函数来复制两个字符串a和bo字符串a后几种字节和字符串b前几种字节

重叠。

12.如何编写一种程序,把一种有序整数数组放到二叉树中?

13.如何从顶部开始逐级打印二叉树结点数据?请编程。

14.如何把一种链表掉个顺序(也就是反序,注意链表边界条件并考虑空链表)?

-5-28微软笔试

笔试分为两大某些,所有是英语题,仅供参照

第一某些10道选取题每道题答对4分,不答0分,写一种错误选项则会扣除一分。(共

40分)

第二某些是一道编程题(C、C++、C#、Java均可),写完之后要编写测试用例。(35+15)

选取题某些

1.如下哪些不是栈基本操作

A.push

B.pop

C.判断栈与否为空

D.栈排序

2.两个有序数组大小都是n,当前要对它们进行合并排序。问最坏状况下,需要比较多少

次?

A.2n+l

B.2n

C.2n-l

D…记不清了

3.(an表达第n个常数,x*5表达x5次方)

f(x)=aO*x*O+al*x」+a2*x~2+...an*x*n

对于固定n,f(x)时间复杂度以及空间复杂度分别是多少?

A.o(n-2),o(n)

B.o(n),o(1)

C

D都记不住了

4.是个概率题,大概意思是这样

当前有800个人,但是只有400份奖品,有一对夫妇都参加抽奖,但是她们最多抽到一份

奖,当前问

她们俩能抽到一份奖概率是多少?

A.0.5

B.0.75

C.(0.5,0.75)

D.(0.75,1)

5.既有一链表当前批示节点为currentNode,生成了一种新节点newNode,问要把newNode

插入到currentNode之后,该怎么做?

A-

B-

C.newNode->next=currentNode->next,currentNode->next=newNode.D…6.问如下哪

些特性不是interpretedlanguage(解释型语言)所独有:

(咱们懂得普通分为两种:解释型语言VB,Shell,批解决等;编译型语言,C,java等。各

有长处)

A.平台无关性。(明显不对,由于java才是平台无关)

B.执行速度较快(这个问题,此前做作业时就没争论清晰,自己感觉解释型语言不需要编译,

速度能快某些,但是重复执行时,编译型语言只需要编译一次,效率高……)

C.可以定义动态变量(应当两种都可以)

D.以上都不对

7.给了一种二叉树,让求后序遍历成果。

这个题如果懂得后序遍历,必定就可以做出来了。

尽管不难还是要弄清晰三者区别(哈哈)

先序左根右

中序根左右

后序左右根

8.问如下几种排序办法,在最坏状况下时间复杂度不大于。(厂2)是哪一种(这个题目记得

不是很清晰了)

A.快排

B.插入排序

C.合并排序

D.栈排序

9.既有n+1这样大存储空间(可以理解有这样一种大小为n+1数组),中间存了

范畴内n个数,阐明丢失了一种数,当前要找出这个丢失数,问最佳状况下时间复杂度是多

A.o(1)

B.o(n)

C.o(n"2)

D.o(nlogn)

10.是一道程序题,由于太长,无从记忆……

编程题某些用C,C++,C#,或Java中一种来编写如下程序。

当前给你一种字符串,其中特殊字符只有两种space(空格)(""),newline(换行)(/n)。

当前让你来去除其中多余空格。详细规定

1.持续空格只能当保存其中一种

2.该字符串开头不能有空格

3.该字符串结尾不能有空格

4.任何/n前面或才背面都不能存在多余空格

为了得到很高分数,还需要满足如下条件

1.不能申请新字符串空间

2.对给出字符串只能遍历一遍

不能使用任何库函数。

咱们给了两个供你调用函数

intintlsSpace(charstr)()

当字符不为空格时,将返回0

当字符为空格时,将返回其他任意非0值

intintlsNewLine(charstr)()当字符不为换行时,将返回0

当字符为换行时,将返回其他任意非0值

程序编写完毕后,请编写测试用例,并阐明它完毕作用。

Microsoft实习生面试时笔试(英文)

Microsoft实习生面试时笔试(45分钟)(总第2次笔试)

(微软实习生一电子科技大学成都学院面试)

总共2大题

第一题(数据构造题)

读程序补充程序中缺少某些难度不大

本次笔试程序内容是数据构造中线性表链式存储

程序中浮现需要补充几种重要函数:线性链表创立,插入,删除,判断链表与否为循环链表。

程序用c语言描述,指针一定要掌握好。

如下程序自己所写

仅供参照:

(如下程序在vc6.0中编译通过)

//Copyrightshuchen

//

〃描述:程序描述了单链表创立,插入,删除

〃注意:判断与否循环链表由读者自己实现

//

〃作者:胡琛<>

〃日期:-7-22,16:38:25

#include<stdio.h>

#defineERROR_OK0

#defineERROR_OUT_OF_MEMORY1

#defineERROR_OVERFLOW2

structLNode

{

inidata;

LNode*next;

);

〃创立一种链表length为要创立链表大小,head为头指针

intCreateList(LNode*&head,intlength)

(

head=newLNode();

if(!head)

returnERROR_OUT_OF_MEMORY;

head->next=NULL;

LNode*p;

printf(Hpleaseentertheelement:\n");

for(inti=0;i<length;++i)

(

p=newLNode();

if(!p)

(

returnERROR_OUT_OF_MEMORY;

)

scanf(M%dM,&(p->data));

p->next=head->next;

head->next=p;

)

returnERROR_OK;

)

//插入一种节点

intInsert(LNode*head,intlocation)

(

intindex=1;

while(index<location&&head->next)

(

head=head->next;

++index;

if(!(head->next))

printf(,'overflow!\n,');

returnERROR.OVERFLOW;

)

LNode*p=newLNode();

if(!p)

(

returnERROR_OUT_OF_MEMORY;

)

printf("inputannumberyouwantinsert:\n");

scanf(u%dH,&(p->data));

p->next=head->next;

head->next=p;

returnERROR_OK;

)

〃删除一种节点

intDelete(LNode*head,intlocation)

(

intindex=1;

while(index<location&&head->next)//index保证指针指向要插入位置前一种节点,

{〃第2个条件保证指针越界后指向最后一种节点

head=head->next;

++index;

if(!(head->next))

printf("overflow!\n");

returnERROR_OVERFLOW;

)

LNode*p=head->next;

head->next=p->next;

deletep;

returnERROR_OK;

)

voidShowLinkList(LNode*head)

(

printf(nLinkList:");

LNode*p=head->next;

while(p)

(

printf("%d",p->data);

p=p->next;

)

printf(n\nn);

)

voidmain()

(

LNode*head=NULL;

intinitialLength,location;

printf(HpleaseinputannumbertoinitilizetheLinkList:\nM);〃初始化链表元素个数

scanf(u%du,&initialLength);

if(!CreateList(head,initialLength))

(

printf(nCreateLinkListSuccess!\nn);

)

ShowLinkList(head);

printf("pleaseinputanlocationyouwanttoinsertto:\n");

scanf("%d“,&location);

if(!Insert(head,location))

{

printfC'Insertsuccess!\n");

)

ShowLinkList(head);

printf(npleaseinputanlocationyouwanttodelete:\nu);

scanf(n%du,&location);

if(!Delete(head,location))

(

printf("Deletesuccess!®");

ShowLinkList(head);

第一题总结:把数据构造中基本打牢(不也许始终考链表)

第二题

英译中

英语文章:长度和难度都跟四级中阅读理解文章差不多

TestforBasicComputerScienceKnowledge

MicrosoftTechnoIogyCenter

TestforBasicComputerScienceKnowledge

Dearcandidates,

WelcometoMicrosoftChinaTechnologyCenterandthankyoufor

yourinterestsinbecomingasoftwaredevelopmentengineer.Inord

ertohelpensureyouhaveadequateskillsforthisposition,please

spendnext30minutestocompletethefollowingtest.Thisisdesig

nedtotestsomeofthebasiccomputerscienceknowledgeyouarereq

uiredtohave.Itisbynomeansacomprehensivetestofallthesk

illsyouneedforthisposition.Itdoeshelpustomakeaprelimin

aryjudgmentonwhetherornotyouareagoodfitforthisposition.

PleaseuseEnglishtoanswerquestions.

ItisOKiftimerunsoutbeforeyoucancompleteallthequestions.

YourName:Date:

Questions#1

1)Howwouldyoucalculatethehashvalueofastring?

2)Listtwomajorrequirementsofahashingfunction

Questions#2:Logicalexpressions

AssumingA,B,Careconditions.Youcanwritelogicalexpressionthatyieldsspecificresults.

Forexample,

ABResultABResult

000000

011011

101100

111110

Expression“AorB”wi11giveaboveresultExpression”(notA)andB“willgiveabove

result

Pleasewritethesimplestlogicalexpressionthatwillgivethefollowingresults(usingonlyan

d,or,notoperators)

ABcResulABcResul

tt

00000000

00110010

01010101

01100111

10011000

10101011

11001100

11111111

Expression:Expression:

PleaserewritethefollowingIfstatements(inC)intojustoneIfstatement

Forexample,

if(a>10)

if(b<5)

RunO;

}

canberewrittenasif(a>10&&b<5){Run();}

Pleaserewritethefollowingifstatement:

if(a>10&&b<5)

(

if(a>15)

(

Run();

)

}

elseif(b>6)

RunO;

)

Questions#3

PleasewriteafunctioninCtocopyonestringtoanother,whilereturnthelargestletterint

hestring.PleasedonotuseanyCruntimefunction.

charStringCopy(char*pszSrc,char*pszDst,intmaxSize)

pszSrc:pointstothesourcestring

pszDst:pointstothetargetstring,wheresourcestringwillbecopiedto

maxSize:max.numberofcharactersallowedtobecopied

Thefollowingcodewilldisplay"Z”

charsz[100];

charch;

ch=StringCopy("TestZoo”,sz);

printf(ch);

Questions#4

Binarytreecanbeusedforstoringandsearchingdata.Pleasedrawabinarytree,constructed

byenteringthefollowingnumbersinsequence:

8,3,10,50,9,20,1,-5,2,70,35,45,-10,49,0

Pleasedrawabalancedbinarytreeusingthesamesetofnumbersasabove.

Questions#5

Pleasedefinethedatastructurerequiredtostorealinkedlistofintegerandwritearoutine

todeleteanintegerfromagivenlinkedlistofintegers.

Questions#6

Pleaseexplainthedifferencebetweenarrayandlink-list.

Ifyouareaskedtoimplementastack,wi11youusearray,orlink-list,orboth?Whatarethe1i

mitationsofusingeachone?

Questions#7(WindowsProgramming)

WhatisamessagepumpinWindows?

PleaselistnamesofWindowsmessagethatissentwhen:

•Awindowiscreated:

•Awindowneedstobepainted:

•Awindowisdestroyed:

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

网上有不少Microsoft测试题,引来不少眼光。在这里把所有测试题加以整顿,再附上答案。

(个别题目答案有各种,文本仅代表作者思路)每道题背面会给出一种时间。这个时间是作

者做出该题所用时间。(注意,这不是什么原则时间,相信所有浏览本试卷朋友都会在某一

道或多道题上找到灵感,迅速解题)!

最基本题型(阐明:此类题型比较简朴)

1.烧一根不均匀绳,从头烧到尾总共需要1个小时。当前有若干条材质相似绳子,问如何用

烧绳办法来计时一种小时十五分钟呢?(这道题我当时想了一种小时)

2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色两个。抓取多少个

就可以拟定你必定有两个同一颜色果冻?(5秒T分钟)

3.如果你有无穷多水,一种3公升提捅,一种5公升提捅,两只提捅形状上下都不均匀,问

你如何才干精确称出4公升水?(40秒-3分钟)

4.一种岔路口分别通向诚实国和说谎国。来了两个人,已知一种是诚实国,另一种是说谎国。

诚实国永远说实话,说谎国永远说谎话。当前你要去说谎国,但不懂得应当走哪条路,需要

问这两个人。请问应当怎么问?(20秒-2分钟)

5.12个球一种天平,现懂得只有一种和其他重量不同,问如何称才干用三次就找到那个球。

13个呢?(注意此题并未阐明那个球重量是轻是重,因此需要仔细考虑)(5分钟T小时)

6.在9个点上画10条直线,规定每条直线上至少有三个点?(3分钟-20分钟)

.在一天24小时之中,时钟时针、分针和秒针完全重叠在一起时候有几次?都分别是什么时

间?你如何算出来?(5分钟-15分钟)

二.没有答案型(阐明:这些题显然不是考你智力。而考是你反映能力。这种题大多数没有

答案,但是要看你反映喽!)

1.为什么下水道盖子是圆?

2.中华人民共和国有多少辆汽车?

3.将汽车钥匙插入车门,向哪个方向旋转就可以打开车锁?

4.如果你要去掉中华人民共和国34个省(含自治区、直辖市和港澳特区及台湾省)中任何一

种,你会去掉哪一种,为什么?

5.多少个加油站才干满足中华人民共和国所有汽车?

6.想象你站在镜子前,请问,为什么镜子中影象可以颠倒左右,却不能颠倒上下?

7.为什么在任何旅馆里,你打开热水,热水都会瞬间倾泻而出?

8.你如何将Excel用法解释给你奶奶听?

9.你如何重新改进和设计一种ATM银行自动取款机?

10.如果你不得不重新学习一种新计算机语言,你打算如何着手来开始?

如果你生涯规划中打算在5年内受到奖励,那获取该项奖励动机是什么?观众是谁?

如果微软告诉你,咱们打算投资五百万美元来启动你投资筹划,你将开始什么样商业筹划?

为什么?

13.如果你可以将全世界电脑厂商集合在一种办公室里,然后告诉她们将被逼迫做一件事,那

件事将是什么?

三.难题(阐明:此类题有一定难度,如果得不到答案,也不能阐明什么。如果你想到理解

题思路,那么答案立即就能出来。如果想不到思路,那么……就别想解出来了。)

你让工人为你工作7天,回报是一根金条,这个金条平提成相连7段,你必要在每天结束时

候给她们一段金条。如果只容许你两次把金条弄断,你如何给你工人付费?

2.有一辆火车以每小时15公里速度离开北京直奔广州,同步另一辆火车每小时20公里速度

从广州开往北京。如果有一只鸟,以30公里每小时速度和两辆火车同步启动,从北京出发,

遇到另一辆车后就向相反方向返回去飞,就这样依次在两辆火车之间来回地飞,直到两辆火

车相遇。请问,这只鸟共飞行了多长距离?.

3.你有四个装药丸罐子,每个药丸均有一定重量,被污染药丸是没被污染药丸重量+1。只称

量一次,如何判断哪个罐子药被污染了?

4.门外三个开关分别相应室内三盏灯,线路良好,在门外控制开关时候不能看到室内灯状况,

当前只容许进门一次,拟定开关和灯相应关系?

5.人民币为什么只有1、2、5、10面值?

6.你有两个罐子以及50个红色弹球和50个蓝色弹球,随机选出一种罐子,随机选出一种弹

球放入罐子,怎么给出红色弹球最大选中机会?在你筹划里,得到红球几率是多少?

u四.超难题(阐明:如果你是第一次看到这种题,并且此前从来没有见过类似题型,并且

可以在半个小时之内做出答案。只能阐明你智力超常……)

第一题.五个海盗抢到了100颗宝石,每一颗都同样大小和价值连城。她们决定这样分:

抽签决定自己号码(1、2、3、4、5)

一方面,由1号提出分派方案,然后人们表决,当且仅当超过半数人批准时,按照她方案进

行分派,否则将被扔进大海喂鲨鱼

如果1号死后,再由2号提出分派方案,然后剩余4人进行表决,当且仅当超过半数人批准

时,按照她方案进行分派,否则将被扔入大海喂鲨鱼

-依此类推

条件:每个海盗都是很聪颖人,都能很理智地做出判断,从而做出选取。

问题:第一种海盗提出如何分派方案才干使自己收益最大化?

第二题.一道关于飞机加油问题,已知:

每个飞机只有一种油箱,’

飞机之间可以互相加油(注意是互相,没有加油机)

一箱油可供一架飞机绕地球飞半圈,

问题:

为使至少一架飞机绕地球一圈回到起飞时飞机场,至少需要出动几架飞机?(所有飞机从同

一机场起飞,并且必要安全返回机场,不容许半途降落,中间没有飞机场)

五.主观题(阐明:在后来工作过程中,咱们可定会犯这样那样错误。既然错误已经酿成,

损失在所难免,咱们只能想办法把损失减少到最小。如果能巧妙地回答出这些问题,再发生

错误状况下。能让客户有至少抱怨,公司有至少损失。)

1.某手机厂家由于设计失误,有也许导致电池寿命比本来设计寿命短一半(不是冲放电时间),

解决方案就是免费更换电池或给50元购买该厂家新手机折换券。请给所有已购买顾客写信告

诉解决方案。

”2.一高层领导在参观某博物馆时,向博物馆馆员小王要了一块明代城砖作为纪念,按国家规

定,任何人不得将博物馆收藏品变为私有。博物馆馆长需要如何写信给这位领导,将城砖取

回。

3.营业员小姐由于工作失误,将2万元笔记本电脑以1.2万元错卖给李先生,王小姐经理怎

么写信给李先生试图将钱要回来?

六.算法题(阐明:这些题就不是什么花样了,考是你基本知识怎么样。再聪颖而没有实学人

都将会被这些题所裁减。)

1.链表和数组区别在哪里?

2.编写实现链表排序一种算法。阐明为什么你会选取用这样办法?

3.编写实现数组排序一种算法。阐明为什么你会选取用这样办法?

4.请编写能直接实现strstr()函数功能代码。

5.编写反转字符串程序,规定优化速度、优化空间。

6.在链表里如何发现循环链接?.

7.给出洗牌一种算法,并将洗好牌存储在一种整形数组里。

8.写一种函数,检查字符与否是整数,如果是,返回其整数值。(或者:如何只用4行代码

编写出一种从字符串到长整形函数?)

9.给出一种函数来输出一种字符串所有排列。

.请编写实现malloc。内存分派函数功能同样代码。

给出一种函数来复制两个字符串A和Bo字符串A后几种字节和字符串B前几种字节重叠。

12.如何编写一种程序,把一种有序整数数组放到二叉树中?

13.如何从顶部开始逐级打印二叉树结点数据?请编程。

14.如何把一种链表掉个顺序(也就是反序,注意链表边界条件并考虑空链表)?

答案

[解答与提示]一.最基本题型

1.一要一头烧,一根从两头烧,再有一根做参照,两头烧完记下位置(即烧到这里要半小时),

把参照那根从标记位置处剪开,取其中一段A。

一头烧那根烧完后(就是一种小时后),把A从两头开始烧,烧完后即为十五分钟,加起来

共一小时十五分钟。

2.4个。

3.大桶装满水,倒入小桶,大桶剩余2公升水。小桶水倒掉,大桶剩2公升水倒入小桶中,

大桶再装满后,倒入小桶至小桶满,大桶即剩4公升

4.如果参加过类似于奥林匹克数学班,都应做过这些题。问她你国家怎么走,她必定指向是

诚实国。

5.12个时可以找出那个是重还是轻,13个时只能找出是哪个球,轻重不知。

把球编为①②③④⑤⑥⑦⑧⑨⑩(ID⑫。(13个时编号为⑬)

第一次称:先把①②③④与⑤⑥⑦⑧放天平两边,

㈠如相等,阐明特别球在剩余4个球中。

把①⑨与⑩⑪作第二次称量,

1.如相等,阐明⑫特别,把①与⑫作第三次称量即可判断是⑫是重还是轻

2.如①⑨〈⑩(11)阐明要么是⑩(11)中有一种重,要么⑨是轻。

把⑩与(11)作第三次称量,如相等阐明⑨轻,不等可找出谁是重球。

3.如①⑨>⑩(1D阐明要么是⑩(11)中有一种轻,要么⑨是重。

把⑩与(11)作第三次称量,如相等阐明⑨重,不等可找出谁是轻球。

㈡如左边《右边,阐明左边有轻或右边有重

把①②⑤与③④⑥做第二次称量’

1.如相等,阐明⑦⑧中有一种重,把①与⑦作第三次称量即可判断是⑦与⑧中谁是

重球

2.如①②⑤〈③④⑥阐明要么是①②中有一种轻,要么⑥是重。

把①与②作第三次称量,如相等阐明⑥重,不等可找出谁是轻球。

3.如①②⑤〉③④⑥阐明要么是⑤是轻,要么③④中有一种是重。.

把③与④作第三次称量,如相等阐明⑤轻,不等可找出谁是重球。

㈢如左边〉右边,参照㈡相反进行。

当13个球时,第㈠步后来如下进行。

把①⑨与⑩QD作第二次称量,

1.如相等,阐明⑫⑬特别,把①与⑫作第三次称量即可判断是⑫还是⑬特别,但判断不了

轻重了。

2.不等状况参见第㈠步2.3.

6.见下面点10条线状况是123456789148159247258269357368

①②③

④⑤⑥

⑦⑧⑨

注意是24小时不是12小时。

一方面考察时针与分针状况,很容易看出分针转一圈与时针只重叠一次,就是一小时一次。

但11时与。时分钟区内共享一种重叠点,所只

二.没有答案型

1.圆井盖掉不下去

2.一千万

3.顺时针方向。

4.

5.十万个

6.答案是"Thisfeatureisbydesign.z,如果考官规定给出更加合理解释,就对她说:”如

果您对此问题有更多疑问,请与它供应商(或者与它创造人)联系"。答案是眼睛是左右长

着。

7.如果不倾泻而出,这家旅馆将没有人去住。

8.告诉她这是最先进东西,她不需要动手,我来帮她做就可以。

9.我想斯皮尔伯格来回答这道题是在适当但是得了。

10.我觉得回放飞网呆上半个月比较适当。'

11.这题我没有任何想法,由于没有工作经验,因此完全没听明白她问是什么!

12.做微软OEM,这样可以更好服务微软。

13.把主机箱集成在一种液晶显示屏中!只准开发咱们认证驱动!

三.难题

1.切两刀,分为1/7、2/7、4/7三段。第一天给1/7;第二天给2/7,要回1/7;第三天给1

/7;第四天给4/7要回1/7+2/7;第五天给1/7;第六天给2/7,要会1/7;第七天给1/7

2.北京到广州距离30/35o

3.依次从四个罐子中取出1、2、3、4个药丸,设第一丸子应重为X,称得重量是10X+t,t是

几就是第几种罐子污染了。

4.先开一种,开很长时间。然后关掉,再开另一种。出去看,亮着那个不用说。剩余两个不

亮,按照灯泡温度来进行判断。

5.可以用三张以内构成任何面额。

6.不清晰。也许是50%。

四.超难题

设5个人分别是①②③④⑤

假设前面都扔海里了,由④来分,无论她怎么分(涉及全给⑤),都面临被否决扔海里危险。

因此,当③来分时,④⑤一种不给,全由③独吞,④为了避免被扔海里危险,也要批准,③

方案成立

那么,在②分时,③是必定要反对,要赢得④⑤批准,必要多给一种,否则有也许否决(对

④⑤来说,反正③来分时还是0,你不多给一种就否决),因此②分派方案一定是:②98③

0④1⑤1#A.

回到①来分派,由于②必定反对,为了赢得③④⑤批准,必要在②分派方案基本上给她们加

一种,由于只需再争取两票,③④⑤中可以

排除争取一种,从收益来说,排除④⑤中一种即可,那么①分派方案为:①97③1④(或

⑤)1其他都不给!

二)如果机场自身不可以加油话那么至少需要4架

3架同步起飞,到1/6圈时,两架飞机把各自油箱中1/3加给此外一架,这两架剩油正好可

以原路飞回,被加油机可以飞到5/6圈处。

第4架飞机在环球飞机飞到4/6圈时起飞去接应,两飞机在5/6圈处相遇,环球机刚好用完

油,加油机把1/3油给环球机,两飞机刚好都能飞回

五.主观题

1.告诉顾客我公司为答谢广大顾客长时间以来厚爱,顾客可以持原电池免费更换使用寿命为

原电池一倍新型电池。或者可以持购买发票,获得50元购买该厂家新手机折换券。

2.信件如下:

XXX领导:您好!

我馆近期将展出一批贵重文物,让更多人可以真正体会到中华民族文明悠久、灿烂。咱们但

愿能将您所拥有明代城砖展出。并且咱们将在博物馆内设立专栏,宣传您对中华民族悠久文

化保存所作出巨大贡献,让更多华夏子孙看到,并且亲身体验到华夏文明悠久历史,从而加

强中华民族凝聚力!”

!解释:

领导看过这封信后来,如果不拿出城砖。那么也就阐明她不想让更多人看到中华民族灿烂文

明,不想让中华民族有更强凝聚力。自然也就会拿出城砖。如果领导问到何时展出完毕,可

以告诉她博物馆但愿永久展出这些物品,领导自然也就无话可说了。

3.信件如下:

3尊敬顾客,您好!

由于工作人员失误,误将一台样品机卖给您。为了您可以更好使用我公司产品,我公司决定

为您免费更换同等价位笔记本一台。并且咱们有性价比更加优越xxxH型笔记本电脑,售价

0元人民币。如果您此时购买,咱们将会以19000元优惠价格售出。”

六.算法题

请参照数据构造和计算机算法类书籍,作者就不再抄书了。

附(1):烧绳子类问题总结:

普通给出绳子都是不均匀。如果一根为一小时,那么半个小时计算办法是从两头烧。十五分

钟计算办法是从两头烧,同步从中间任何一种地方开始烧,这样这根绳子就有四个燃烧点,

时间自然是一种燃烧点四分之一。如果计算十分钟时间,那么就让绳子有六个燃烧点,办法

就不用说了吧!

附(2):天平称球问题解答以及总结:

将球分为abed;efgh;ijk1三组。

第一次称量,比较abedefgh

情形一:

两者重量相等,此时阐明答案在ijkl中。

称量ij,

如果相等,阐明答案在kl中。拿k与a比较,如果相等,答案为1;如果不等,答案为匕

如果不等,阐明答案在ij中。拿i与a比较,如果相等,答案为j;如果不等,答案为i。

情形二:

abed轻。

在efgh中取出fgh,替代掉abed中bed。在ijkl中取出jkl,补充到本来fgh位置。

_如果afgh轻,阐明答案为a或e。称量ab,如果相等,答案为e;如果不等,答案为a。

如果afgh重,阐明答案在fgh中。称量fg,如果相等,答案为h;如果不等,重者为答案。

如果同样重,答案在bed中。称量be,如果相等,答案为d;如果不等,轻者为答案。

情形三:

abed重。

在efgh中取出fgh,替代掉abed中bed。在ijkl中取出jkl,补充到本来fgh位置。

如果afgh重,答案为a或e。称量ab,如果相等,答案为e;如果不等,答案为a。

如果afgh轻,答案在fgh中。称量fg,如果相等,答案为h;如果不等,轻者为所求。

如果同样重,答案在bed中。称量be,如果相等,答案为d;如果不等,重者为答案。

至于13个球称法,至今本人仍没想出来。望高手赐教。

总结:(转载)

天平称重,有两个托盘比较轻重,加上托盘外面,也就是每次称重有3个成果,就是ln3/ln

2比特信息。n个球要懂得其中一种不同球,如果懂得那个不同重量球是轻还是重,找出来话

那就是n个成果中一种,就是有In(n)〃n2比特信息,如果不懂得轻重,找出来就是2n(n

个球中一种,轻或者重,因此是2n)个成果中一种,那就是In(2n)/ln2比特信息。

假设咱们要称k次,依照信息理论,那显然两种状况就分别有:

1.k*ln3/ln2>=ln(n)/ln2(k>=l)解得k>=ln(n)/ln3

2.k*ln3/ln2>=ln(2n)/ln2(k>l)解得k>=ln(2n)/ln3

这是得到下限,可以很容易证明满足条件最小正整数k就是所求。例如称3次懂得轻重可以

从『3=27个球中找出不同球出来,如果不懂得轻重就只能从(3~3-1)/2=13个球中找出不

同球出来。

笔试题(网络大汇总)

微软研究院是一种听起来就牛B地方啊,反正我是进不去,但是不妨碍我看看她笔试题究

竟是怎么样

。下面四道题就是微软研究院笔试题目,题后附有我解答。

微软研究院(亚洲)网址是:

1.改错

#include<stdio.h>

#include<String.h>

classCBufiFer

(

char*m_pBuffer;

intm_size;

public:

CBuffer()

(

m_pBuffer=NULL;

)

~CBuffer()

(

Free();

voidAllocte(intsize)(3){

m_size二size;

m_pBuffer=newcharfsize];

)

private:

voidFree()

(

if(m_pBuffer!=NULL)

(

deletem_pBuffer;

m_pBuffer=NULL;

)

)

public:

voidSaveString(constchar*pText)const

(

strcpy(m_pBuffer,pText);

)

char*GetBuffer()const

(

returnm_pBuffer;

});

voidmain(intargc,char*argv[])

(

CBufferbufferl;

bufferl.SaveStringC^Microsoft");

printf(bufferl.GetBufferQ);

答:改正后

重要改正SaveString函数

voidSaveString(constchar*pText)const

(

strcpy(m_pBuffer,pText);

)

改为

voidSaveString(constchar*pText)(1)

(

Allocte(strlen(pText)+1);(2)

strcpy(m_pBuffer,pText);

)

因素:

(1)const成员函数表达不会修改数据成员,而SaveString做不到,去掉const声明

(2)m_pBuffer指向NULL,必要用Allocte分派空间才干赋值。

(3)此外需要将Allocte成员函数声明为私有成员函数更符合实际

2.下来程序想打印“WelcomeMSRAsia",改正错误

#include<stdio.h>

#include<string.h>

char*GetName(void)

(

//Toreturn"MSRAsia"String

charname[]="MSRAsia";

returnname;

voidmain(intargc,char*argv[])

charname[32];

//Fillinzerosintoname

for(inti=0;i<=32;i++)

(

name[i]-\0,;}

//copy"Welcome“toname

name="Welcome”;

//Appendablankchar

name[8]=n

//Appendstringtoname

strcat(name,GetName());

//printout

printf(name);

)

答:改正后为

#include<stdio.h>

#include<string.h>

char*GetName(void)

(

//Toreturn“MSRAsia”String

//charname[l="MSRAsia";(1)

char*name=(char*)malloc(strlen("MSRAsian)+1);

strcpy(name,HMSRAsia");

returnname;

voidmain(intargc,char*argv[])

(

charname[32];

//Fillinzerosintoname

for(inti=0;i<=32;i++)

(

name[i]=>\0,;

)

//copy“Welcome“toname

//name="Welcome";(2)

strcat(name,"Welcome'*);

//Appendablankchar

//name[8]-(3)

//Appendstringtoname

char*p=GetName();(4)

strcat(name,p);

free(p);

//printout

printf(name);

)

因素:(l)在

温馨提示

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

评论

0/150

提交评论