|
微软程序员测试题 1 X @& K2 K/ f4 Y
! I0 k) ~+ U; E3 U; i1 Y一.最基本题型(说明:此类题型比较简单)
$ g) X% T* n8 s
" T3 X- r! c( d N0 p3 [1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧
/ H- G; r* S1 W2 s n
7 e7 i# _; [: o( B9 [绳的方法来计时一个小时十五分钟呢?
# N* R4 ~+ g& [+ z& }2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可 & i: `+ j! @' _+ [( F+ v
, \: \7 ?8 g6 `0 f: n
以确定你肯定有两个同一颜色的果冻?(5秒-1分钟)
! k+ j$ q5 T7 @4 j3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你
0 p7 n4 J: o, O0 e. ?2 v/ O3 e5 N( D" |4 z; N
如何才能准确称出4公升的水?(40秒-3分钟)
( N# Y' ^( Q* X% S6 ?9 z4.一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。 / [6 T% w: n% Q7 O; M$ J! O
. R6 N3 ]( ~9 t5 i
诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个 8 D6 C# c# c6 Q
+ W' P. k8 G; O8 j7 \人。请问应该怎么问?(20秒-2分钟) 7 Q$ m( ~6 ]$ K6 T3 h* d
5.12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。13个 1 d2 r% M, K" a$ ^
5 x; i1 h4 S; J* g- \呢?(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑)(5分钟-1小时)
& t! w( d! L/ n5 V+ g6.在9个点上画10条直线,要求每条直线上至少有三个点?(3分钟-20分钟) 1 I( ?, |' `& H( J6 k) k5 t7 q
7.在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时 ( I" D- t1 m4 t- w! b6 k0 o1 @
6 H2 H& j5 N, o7 k5 _% W
间?你怎样算出来的?(5分钟-15分钟)
- O3 z9 A3 l' ^ p! n, i+ d1 s6 y r2 N
4 J5 q* T8 y& x0 d$ n @4 A, {
二.没有答案型(说明:这些题显然不是考你智力。而考的是你的反应能力。这种题大多数没有答 ( Y) L, e# n; z2 ^! c- z( o: X1 L4 `
6 `+ K6 E o4 Y. K5 k) A. U
案,但是要看你的反应喽!) 0 q5 X# ~% J ^* |0 e
# i. H! L7 n8 d7 ~* G
1.为什么下水道的盖子是圆的?
, b2 u' j$ A" y: _3 Z2.中国有多少辆汽车? ; ?5 K, ]3 D8 k0 u9 ^$ O ~0 h
3.将汽车钥匙插入车门,向哪个方向旋转就可以打开车锁?
6 {% v* M, _8 Q4 J0 G ?2 q4.如果你要去掉中国的34个省(含自治区、直辖市和港澳特区及台湾省)中的任何一个,你会去掉 5 T; J9 m8 w* }7 b. L# J
7 U' ]+ J, J0 e$ K3 ?1 H2 }) w
哪一个,为什么? 3 a; Q* T! c% y, U- M& a
5.多少个加油站才能满足中国的所有汽车?
2 z7 r& k( H( @6 X. b) R- b6.想象你站在镜子前,请问,为什么镜子中的影象可以颠倒左右,却不能颠倒上下?
1 |" D, @4 f4 d# F7.为什么在任何旅馆里,你打开热水,热水都会瞬间倾泻而出? * S# o6 j6 p8 J7 M g4 M
8.你怎样将Excel的用法解释给你的奶奶听? 3 x2 l' E2 F ]8 ?2 y" U1 L5 D
9.你怎样重新改进和设计一个ATM银行自动取款机?
% K% v" \& O' i0 ]10.如果你不得不重新学习一种新的计算机语言,你打算怎样着手来开始? ) z& s6 l* b. a4 f5 T8 N
11.如果你的生涯规划中打算在5年内受到奖励,那获取该项奖励的动机是什么?观众是谁?
+ @ i. A9 c2 `/ F$ E8 R3 D12.如果微软告诉你,我们打算投资五百万美元来启动你的投资计划,你将开始什么样商业计划?
, f5 a9 [# }4 H S3 K% x% i% y0 O4 J$ D( d3 W
为什么?
) E) B. T) E. ?9 P0 m! h7 q13.如果你能够将全世界的电脑厂商集合在一个办公室里,然后告诉他们将被强迫做一件事,那件 : J2 D2 ^+ \/ m7 k! `1 B3 {$ N
- w4 _' o, v' K事将是什么? ' B2 c+ W* p9 I) u: c
7 V7 w& [; Q* y# z
2 D+ E. {/ S8 y! w& S三.难题(说明:这类题有一定难度,如果得不到答案,也不能说明什么。如果你想到了解题思路
) Z( j. x# j9 N, v6 s9 L R9 ?- L
,那么答案马上就能出来。如果想不到思路,那么……就别想解出来了。) - _" m8 B7 {+ ~9 D2 j4 `) J
, m/ m: ?& p: `7 d6 G6 C: }
1.你让工人为你工作7天,回报是一根金条,这个金条平分成相连的7段,你必须在每天结束的时候 ' [3 _1 Y* s* v8 {* E$ C3 |; h
4 M4 T, W- h0 X& v i
给他们一段金条。如果只允许你两次把金条弄断,你如何给你的工人付费? % d! L \8 V! P% x& n5 X
2.有一辆火车以每小时15公里的速度离开北京直奔广州,同时另一辆火车每小时20公里的速度从广
' N" q f; P. T( D) x
# A3 L& Q( n. U- x6 c# l州开往北京。如果有一只鸟,以30公里每小时的速度和两辆火车同时启动,从北京出发,碰到另一辆 ' x+ D0 x8 c5 k
% x% I* c- e* r. o; r车后就向相反的方向返回去飞,就这样依次在两辆火车之间来回地飞,直到两辆火车相遇。请问,这 & p% O. n- @; M7 _' d( o
* w" s4 a9 B" `; {
只鸟共飞行了多长的距离?
( i; ?1 j, A) J3.你有四个装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被污染的药丸的重量+1。
7 i) B5 i2 t, g
6 d+ p) n1 x6 U" U+ N1 Q0 Q: [只称量一次,如何判断哪个罐子的药被污染了?
7 x/ T4 N" i4 v N: {, K4.门外三个开关分别对应室内三盏灯,线路良好,在门外控制开关时候不能看到室内灯的情况,现 " D* q6 x D# U0 j8 \; c
7 T# ]& t9 P& b: M在只允许进门一次,确定开关和灯的对应关系?
! o& C9 f, X/ l) E! i9 P5.人民币为什么只有1、2、5、10的面值? 9 y/ W% N% M( `6 {6 v: u
6.你有两个罐子以及50个红色弹球和50个蓝色弹球,随机选出一个罐子, 随机选出一个弹球放入 : J' d6 k6 A& V/ g
2 V' t) O9 D8 ]1 b4 F% l: E" L( @罐子,怎么给出红色弹球最大的选中机会?在你的计划里,得到红球的几率是多少? ! }, P; ^6 _% u( }& ~* H2 r6 g
6 F% C6 J# d' @1 ^1 P
" |5 x) x1 Y+ x' i8 v0 W! G四.超难题(说明:如果你是第一次看到这种题,并且以前从来没有见过类似的题型,并且能够在 $ j/ d) Q& s. b2 ^! T! o
5 O3 p( r. C) j5 s5 I半个小时之内做出答案。只能说明你的智力超常……) ( ~+ v( }7 g$ j3 z/ q4 e
! X$ O. P0 r) Y3 I* ]2 t' m第一题 . 五个海盗抢到了100颗宝石,每一颗都一样大小和价值连城。他们决定这么分: 2 j5 O8 H& x' {8 E5 y
抽签决定自己的号码(1、2、3、4、5)
% ~1 P' O5 o: T) o" _- Z首先,由1号提出分配方案,然后大家表决,当且仅当超过半数的人同意时,按照他的方案进行分 9 h- w. J+ T5 u* t" X
# o" L! F1 C7 X/ z9 }
配,否则将被扔进大海喂鲨鱼
0 y/ r# q4 y3 o! y如果1号死后,再由2号提出分配方案,然后剩下的4人进行表决,当且仅当超过半数的人同意时,
" F% ~; ~' U) Q2 W+ t2 C
5 ^& o4 \+ H0 z1 q7 W' Z按照他的方案进行分配,否则将被扔入大海喂鲨鱼
/ c& \9 S% y5 X0 _+ [1 k依此类推 ( N$ s# r f! X9 Y
条件: 每个海盗都是很聪明的人,都能很理智地做出判断,从而做出选择。 / Y" L' h+ Y }8 Y
问题: 第一个海盗提出怎样的分配方案才能使自己的收益最大化?
5 e1 G; G4 v* q3 G$ n' w( {( B+ i! _3 W# T5 z
第二题 . 一道关于飞机加油的问题,已知:
. M+ a6 T( \2 |, [, Z: G& t每个飞机只有一个油箱,
* p Y- M5 I4 j. E8 r# x飞机之间可以相互加油(注意是相互,没有加油机)
$ W: |: g8 n2 _4 F一箱油可供一架飞机绕地球飞半圈, 6 H' o% F" d' _5 E# }) }
问题: 为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机 5 U. v& i& F$ g- S
4 q7 Q( ]) ~3 e7 b- s; R' H从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)
& S+ V) k% |: V9 R. w
% X$ S: S" @9 g% b9 G' }
( p0 K9 h/ N ~1 A/ k五.主观题(说明:在以后的工作过程中,我们可定会犯这样那样的错误。既然错误已经酿成,损 6 B# o h& i: @8 A, p
* R( a4 m. ?8 u* i3 k
失在所难免,我们只能想办法把损失减少到最小。如果能巧妙地回答出这些问题,再发生错误的情况
: q: |8 k) L0 C. r7 n+ @) z @/ T
下。能让客户有最少的抱怨,公司有最少的损失。)
8 Y% P% E! [( F _. K8 t/ M5 \; q6 p! |
1.某手机厂家由于设计失误,有可能造成电池寿命比原来设计的寿命短一半(不是冲放电时间),
+ ^9 S8 u8 ]1 E1 k5 s* z3 C% h) q/ W$ m, h. W
解决方案就是免费更换电池或给50元购买该厂家新手机的折换券。请给所有已购买的用户写信告诉解
4 k% _' {$ W" |% C/ X. j2 T7 C( F1 C* i3 p/ h" T' B6 z
决方案。 0 h0 x' t+ F( V. D5 M7 r4 j
2.一高层领导在参观某博物馆时,向博物馆馆员小王要了一块明代的城砖作为纪念,按国家规定,
2 }9 `4 G9 q0 ~6 \0 h+ W; x/ o* @& f; {
任何人不得将博物馆收藏品变为私有。博物馆馆长需要如何写信给这位领导,将城砖取回。 : n/ V# G4 S+ a/ r
3.营业员小姐由于工作失误,将2万元的笔记本电脑以1.2万元错卖给李先生,王小姐的经理怎么写
5 N1 q& g. d) M/ r/ o! z N1 J' K6 p+ N
信给李先生试图将钱要回来?
$ L( o: ^7 x* Z- ?9 q! h6 P
5 }* O# J' j9 y6 `. I6 @* O" M2 D
六.算法题(说明:这些题就不是什么花样了,考的是你的基础知识怎么样。再聪明而没有实学的 / @& k6 W! y- h3 y- `% K- T
' F; t6 x' p/ s Y4 ?: U" |人都将会被这些题所淘汰。) & F: ~" t' L8 }) F% E. }
- c* {( Q2 {. P) \0 i# M3 y
1.链表和数组的区别在哪里? 6 U+ C ^3 b2 ~/ p
2.编写实现链表排序的一种算法。说明为什么你会选择用这样的方法?
9 m/ ]! G) o( X0 i) Y# O. g% }4 u3.编写实现数组排序的一种算法。说明为什么你会选择用这样的方法? 4 u: b' B6 z- R \% s, K
4.请编写能直接实现strstr()函数功能的代码。 6 {6 C/ V0 v" N$ H& r; D$ p
5.编写反转字符串的程序,要求优化速度、优化空间。 6 V" i. q% n8 U6 y, ^
6.在链表里如何发现循环链接? 0 k* a3 v2 X8 V Y8 H: z4 G
7.给出洗牌的一个算法,并将洗好的牌存储在一个整形数组里。 1 I6 k. v# a9 N v9 o+ @8 ?+ k, ]+ b
8.写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:怎样只用4行代码编写出 . t, b1 m6 x" B. W
) c a9 c+ q$ O+ E4 [4 G H
一个从字符串到长整形的函数?) . w5 r X4 Z6 I4 m$ ]( A
9.给出一个函数来输出一个字符串的所有排列。 ) K$ n5 s. z+ X" j, M6 c6 v7 U4 B c
10.请编写实现malloc()内存分配函数功能一样的代码。 ! c3 |2 `8 o9 G0 Q
11.给出一个函数来复制两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠。
0 k8 T) c# |/ ]. C12.怎样编写一个程序,把一个有序整数数组放到二叉树中? ( [4 s, Z! p% W6 j+ y1 B; M8 o
13.怎样从顶部开始逐层打印二叉树结点数据?请编程。
/ }7 y% G! e& \6 h14.怎样把一个链表掉个顺序(也就是反序,注意链表的边界条件并考虑空链表)? |
|