|
微软程序员测试题 , q" w, R' W0 { j* J
^$ v% i/ E# U一.最基本题型(说明:此类题型比较简单) : Y% e7 c+ w/ I7 U: ?! }
% y$ p7 s e3 d" Z3 A5 `1 Q- p0 e
1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧 , \& b. R4 y8 S( d% k8 }) Y+ h `( h
- ~1 ~4 f2 l. C* y* W# a6 A |. _绳的方法来计时一个小时十五分钟呢?
z. h$ @7 B/ c* a! _2 L$ `2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可
0 [, \+ T7 Y! o7 N! o: y9 n; Y: j0 L2 q9 w0 c7 E$ t
以确定你肯定有两个同一颜色的果冻?(5秒-1分钟) 6 X+ ~9 d1 I7 i
3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你 0 g7 c% X9 K7 P0 D
5 J J, W" H$ t
如何才能准确称出4公升的水?(40秒-3分钟) : r4 C# u6 I. c0 ?
4.一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。
5 f9 s) P, r9 \% ]0 |
/ k1 ~) p" Y! |4 i P诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个 ) a9 b6 v9 I: U0 a
+ q4 P) [: d' Y. |人。请问应该怎么问?(20秒-2分钟) ' F& q, _) r" ]. e9 b! o. V
5.12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。13个 2 m* Z' e; ~ {! U0 n9 `
1 B+ z6 [. n9 b% [# i3 z呢?(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑)(5分钟-1小时) . x1 f. G7 ~2 Z
6.在9个点上画10条直线,要求每条直线上至少有三个点?(3分钟-20分钟)
+ F1 @" S- w* P" y& O, |+ O* Z5 n7.在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时 4 e8 `0 z/ d8 G5 c% {8 w
z" g- G1 C9 ], |7 ?间?你怎样算出来的?(5分钟-15分钟)
5 p) B' N0 c- J/ k, h; G% g z; x5 M3 i6 _: P" o2 _8 j3 G3 z
6 c+ {: D B: N/ S$ F3 x' \3 P二.没有答案型(说明:这些题显然不是考你智力。而考的是你的反应能力。这种题大多数没有答
: T3 ?/ L/ A. T7 ~3 A( Y4 i( u5 H- b) l( g( e$ g
案,但是要看你的反应喽!)
/ t1 \0 O2 ]4 R5 q9 \5 J+ b8 y& c7 _0 ^) ]& O, b; L# F f1 n
1.为什么下水道的盖子是圆的?
' x; r1 u2 F+ S! `" @* p: \. q2.中国有多少辆汽车? 8 z- A* o) R: N7 `+ S$ O
3.将汽车钥匙插入车门,向哪个方向旋转就可以打开车锁?
/ T' p+ t: w* N' B4.如果你要去掉中国的34个省(含自治区、直辖市和港澳特区及台湾省)中的任何一个,你会去掉
9 }4 E* D, G0 Y$ y1 E3 }, b6 ]2 m2 X( S
哪一个,为什么?
' i! X! S9 z; Y h8 f5.多少个加油站才能满足中国的所有汽车? # g4 S' `$ N1 {1 A
6.想象你站在镜子前,请问,为什么镜子中的影象可以颠倒左右,却不能颠倒上下?
. {6 W. D+ x: {9 f! g3 x F) f+ L) K9 `7.为什么在任何旅馆里,你打开热水,热水都会瞬间倾泻而出?
3 E) t" i; r- P; w8.你怎样将Excel的用法解释给你的奶奶听? & Q0 z4 m% X& S. m2 V
9.你怎样重新改进和设计一个ATM银行自动取款机? 4 H5 C3 P: P4 p- ?2 `
10.如果你不得不重新学习一种新的计算机语言,你打算怎样着手来开始?
6 [8 }* b4 S C: _11.如果你的生涯规划中打算在5年内受到奖励,那获取该项奖励的动机是什么?观众是谁?
* Y+ r2 b2 y" Y* M: _12.如果微软告诉你,我们打算投资五百万美元来启动你的投资计划,你将开始什么样商业计划? 8 ]8 }5 p2 _: p' E- x N
; |0 p* r8 _2 N+ A4 M' F) _4 B4 m
为什么? 0 _( s* ^3 G3 e; V; L8 Y3 m
13.如果你能够将全世界的电脑厂商集合在一个办公室里,然后告诉他们将被强迫做一件事,那件 1 U* `( p( c- X H
1 c4 k9 n' j4 {9 g
事将是什么?
4 f% u/ _9 E+ |- o ~5 R1 ]) C5 `$ ?+ [% c# p% k1 k) L
# w1 A6 W/ ~# _3 i- _. Z3 b
三.难题(说明:这类题有一定难度,如果得不到答案,也不能说明什么。如果你想到了解题思路
1 ~+ o( F; m" r/ x0 ^* X* w& W) G7 y _, e
,那么答案马上就能出来。如果想不到思路,那么……就别想解出来了。)
/ x3 x6 u' t3 c' i; M1 Z3 e5 C5 b$ O# V% O+ g1 c0 p& w: j1 v# C
1.你让工人为你工作7天,回报是一根金条,这个金条平分成相连的7段,你必须在每天结束的时候
0 H/ N- V- ^; z! _2 p1 p+ G# w: \! D; Q; K8 e T, s7 `
给他们一段金条。如果只允许你两次把金条弄断,你如何给你的工人付费?
) r; B( o/ q+ G3 g: c) I2.有一辆火车以每小时15公里的速度离开北京直奔广州,同时另一辆火车每小时20公里的速度从广
3 i% p3 J' k1 i5 r/ M3 F3 {7 |+ h7 p" b2 v
州开往北京。如果有一只鸟,以30公里每小时的速度和两辆火车同时启动,从北京出发,碰到另一辆 1 X8 @! h" Q+ b) i
6 f- ~" f" I z" W- ?" T( D2 X# y1 f车后就向相反的方向返回去飞,就这样依次在两辆火车之间来回地飞,直到两辆火车相遇。请问,这
4 A, W2 r4 g5 [0 ^) w M* c$ K% d9 q
只鸟共飞行了多长的距离?
8 g$ f1 D2 Q& U& v' C! h! H$ @3.你有四个装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被污染的药丸的重量+1。
$ y. B2 `7 Q+ C: H! g) ?# v1 A1 f7 l) C, n3 P. {
只称量一次,如何判断哪个罐子的药被污染了?
" r1 q' d0 R8 {$ f* y4.门外三个开关分别对应室内三盏灯,线路良好,在门外控制开关时候不能看到室内灯的情况,现
6 b2 f. r& w2 Z* v8 ^" J; F& r7 q: t" p: [- m5 Y, \5 R
在只允许进门一次,确定开关和灯的对应关系? ! }1 e5 |& E8 N5 e% X& k/ }
5.人民币为什么只有1、2、5、10的面值?
. K) k; Z; W, B, n( Z" R7 ]6.你有两个罐子以及50个红色弹球和50个蓝色弹球,随机选出一个罐子, 随机选出一个弹球放入 : x' z7 n% m6 u( d7 }/ z
( E" o: }. _$ @9 k! v# C( T
罐子,怎么给出红色弹球最大的选中机会?在你的计划里,得到红球的几率是多少? 2 v! w7 `" {2 [/ z9 m' s
0 q& v j1 A4 y+ o
: ?$ z, t1 o6 N# e9 A+ Y5 ^# Z' }
四.超难题(说明:如果你是第一次看到这种题,并且以前从来没有见过类似的题型,并且能够在
4 z( f$ P( h7 t0 s; H7 E3 u
( n5 k6 W. U. p* j半个小时之内做出答案。只能说明你的智力超常……) ( \5 e: j* x; D b! z2 t' `
6 ]$ n9 U, s+ I& ]$ h第一题 . 五个海盗抢到了100颗宝石,每一颗都一样大小和价值连城。他们决定这么分:
; S6 [7 @% V) Q: `5 P抽签决定自己的号码(1、2、3、4、5) + e7 o$ P( u: z2 L5 |6 t; v% p
首先,由1号提出分配方案,然后大家表决,当且仅当超过半数的人同意时,按照他的方案进行分 3 S7 l( L0 q- p" N% L2 v' b6 a
+ [6 `4 q' u, L! I& P+ C
配,否则将被扔进大海喂鲨鱼 5 m( ]1 r( q8 H" ~* h
如果1号死后,再由2号提出分配方案,然后剩下的4人进行表决,当且仅当超过半数的人同意时,
& ~# T7 [: b% s- y9 Q! Q+ N! v& J; I, Q3 C, g
按照他的方案进行分配,否则将被扔入大海喂鲨鱼 & d2 N; _0 g* ^
依此类推 . L5 V: N' @! ~ a4 O" p
条件: 每个海盗都是很聪明的人,都能很理智地做出判断,从而做出选择。
0 e0 P) r$ V6 I4 n$ z: q问题: 第一个海盗提出怎样的分配方案才能使自己的收益最大化? 7 s0 y. G, f( p
5 w/ B+ u1 ~& [: ?
第二题 . 一道关于飞机加油的问题,已知:
: p5 ?: R9 Z; @, O每个飞机只有一个油箱, 7 _* G% v0 H! ^
飞机之间可以相互加油(注意是相互,没有加油机)
# i3 f( L' l: {+ d一箱油可供一架飞机绕地球飞半圈,
/ [+ |) j" D) {* y9 z" r/ {# P问题: 为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机 . `2 L9 K% b; ?# W N" M# b* |3 D! d
3 Y. t" p7 W6 O$ \5 F% X7 F! ~
从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)
2 h B+ I* A: Y- n% d9 _0 r5 w1 _2 l6 G( B4 F1 Y1 f9 l
1 F* c, Z F- B五.主观题(说明:在以后的工作过程中,我们可定会犯这样那样的错误。既然错误已经酿成,损 2 j& f, V7 K8 D
5 n0 ]/ L9 s% B9 t
失在所难免,我们只能想办法把损失减少到最小。如果能巧妙地回答出这些问题,再发生错误的情况 ; T; H) @5 N8 @
& f* h% O! C# L E
下。能让客户有最少的抱怨,公司有最少的损失。)
7 d( P; A- l$ e- @
I# {! P9 s( w& }1.某手机厂家由于设计失误,有可能造成电池寿命比原来设计的寿命短一半(不是冲放电时间),
; o2 J( R d1 D9 G
1 r5 E- q5 w, e# p& R解决方案就是免费更换电池或给50元购买该厂家新手机的折换券。请给所有已购买的用户写信告诉解 / e. V: W0 }: ^7 I
: k$ J5 N3 K' p x* }) m决方案。
' d* |8 q, D# V8 Q- b% l2.一高层领导在参观某博物馆时,向博物馆馆员小王要了一块明代的城砖作为纪念,按国家规定, : @6 ?% d# k y& U
0 N! p& n8 {' ?
任何人不得将博物馆收藏品变为私有。博物馆馆长需要如何写信给这位领导,将城砖取回。
& u$ t. G5 _# ^5 p3 g0 K$ s3.营业员小姐由于工作失误,将2万元的笔记本电脑以1.2万元错卖给李先生,王小姐的经理怎么写 ( \1 K# @' i+ p+ m: H+ T7 ]# S
+ y( \+ a6 b% j) u
信给李先生试图将钱要回来?
( m$ Y( j- s; Z
m- p6 t. l: n4 }7 E0 g* i( e. W( d7 J) V; x$ I3 E
六.算法题(说明:这些题就不是什么花样了,考的是你的基础知识怎么样。再聪明而没有实学的 + q* C4 y: m+ `8 } t6 o3 e
/ q4 y2 r6 e) x4 y) D: l" q人都将会被这些题所淘汰。)
, k) c0 ~8 |# @3 L
$ q1 t; K3 V- Q% s1.链表和数组的区别在哪里?
% j- X4 N4 q+ c& }" g7 v2.编写实现链表排序的一种算法。说明为什么你会选择用这样的方法?
8 N- R( c8 U) D5 p+ G {; M3.编写实现数组排序的一种算法。说明为什么你会选择用这样的方法? 6 D( ]* Y! G6 z
4.请编写能直接实现strstr()函数功能的代码。
" }4 @: y1 S7 D5.编写反转字符串的程序,要求优化速度、优化空间。
( P% u9 Z+ O3 c- }4 j4 a' C6.在链表里如何发现循环链接?
: {$ x* P( W; O7 t6 b7.给出洗牌的一个算法,并将洗好的牌存储在一个整形数组里。
+ Q# O& V6 ]6 w' z4 y. l+ m8.写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:怎样只用4行代码编写出 ' a+ I+ L3 D! S8 Y0 T6 m
# }( p4 v# ?, i) i. D% v# q: H- T! z一个从字符串到长整形的函数?) & H9 o' A: x F' S1 Q. U9 o
9.给出一个函数来输出一个字符串的所有排列。
$ U' O' }+ _! O" L3 k0 ]5 a10.请编写实现malloc()内存分配函数功能一样的代码。
+ g5 C/ K2 C. X6 q0 I11.给出一个函数来复制两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠。
' A+ o. @3 L+ v- b! p0 `. n6 }12.怎样编写一个程序,把一个有序整数数组放到二叉树中?
8 Q4 Y- t* T( S( `13.怎样从顶部开始逐层打印二叉树结点数据?请编程。
: ? B/ g: c# g, C) |1 w14.怎样把一个链表掉个顺序(也就是反序,注意链表的边界条件并考虑空链表)? |
|