|
微软程序员测试题
9 I! X; i: T( l0 ?* Z" U- k* H$ W( l# X3 H: C+ K- ?
一.最基本题型(说明:此类题型比较简单) # L& w* F: Z: D- _, \
9 M8 Z- `; E8 \/ |1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧 / p7 T; _ ~- H, t7 K
4 ^8 |: B$ Y1 @" ?" M4 I绳的方法来计时一个小时十五分钟呢? 2 w3 [- c* J, d
2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可
7 M* N& w1 J- A' C, X0 e
. T# V2 k& X8 h! y3 y以确定你肯定有两个同一颜色的果冻?(5秒-1分钟)
, e1 x4 @/ i; U3 r; w3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你
9 t D. d) W$ o4 w% h! I3 ?
b4 ?7 h& h- p' B' z9 P% ~如何才能准确称出4公升的水?(40秒-3分钟)
3 l) m' V& D1 e. a1 {" U$ O4.一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。
7 Q5 k( }8 u" o% ?+ I' N- j3 p0 ~
: H5 |& b: h0 p8 G7 {$ M* R诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个
% E; |' j: I, D4 q- y6 o" W
6 J4 E+ T/ B6 S; b _$ b人。请问应该怎么问?(20秒-2分钟)
8 K6 i8 b% D+ t3 o% K5.12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。13个 , ^" w: S/ o6 J# \" P
# f' H1 T2 l+ R* r2 F; l- K呢?(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑)(5分钟-1小时)
) G8 h: Z* _& Q0 T, e7 E6.在9个点上画10条直线,要求每条直线上至少有三个点?(3分钟-20分钟)
* k ^1 g& e5 M; D* ~4 m6 C7.在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时 : X& a# P' t: R8 I; Y
9 z6 l8 n; C4 U( |" v" ?
间?你怎样算出来的?(5分钟-15分钟)
7 [$ ~9 d: r" m/ x0 L) F, [, `
2 X! N' Q Y+ x
% |; H& s. g( ^- F5 L& R: c二.没有答案型(说明:这些题显然不是考你智力。而考的是你的反应能力。这种题大多数没有答
$ o& C& Y: n- U4 {/ x1 z4 q& K0 R! y1 G
案,但是要看你的反应喽!)
3 V9 u) p: F4 C6 Q. G
0 x: o- m6 L) g3 ^! T2 ^ J1 B' k3 K1.为什么下水道的盖子是圆的?
0 z' `* N: p' y1 M& X! \ e5 s2.中国有多少辆汽车? : E0 L* Y0 o! m( |5 V
3.将汽车钥匙插入车门,向哪个方向旋转就可以打开车锁? + H3 n9 t3 K# G$ Z2 \( r
4.如果你要去掉中国的34个省(含自治区、直辖市和港澳特区及台湾省)中的任何一个,你会去掉
% n, v5 Y# B" U! [ R x/ D
" S" w2 S# T |3 B& e2 B# v" \0 ~哪一个,为什么? - j$ ^$ D+ c1 ?5 D3 e R
5.多少个加油站才能满足中国的所有汽车?
9 A4 n. o% i+ r# @6 ?6.想象你站在镜子前,请问,为什么镜子中的影象可以颠倒左右,却不能颠倒上下?
& v+ s7 }1 f% t' K# J7.为什么在任何旅馆里,你打开热水,热水都会瞬间倾泻而出?
2 C/ d7 |' J2 X3 F! S4 u8.你怎样将Excel的用法解释给你的奶奶听? 6 t) L' s' C' M4 [
9.你怎样重新改进和设计一个ATM银行自动取款机? ' [6 `8 z4 A6 K: y6 \1 t) i
10.如果你不得不重新学习一种新的计算机语言,你打算怎样着手来开始?
+ L8 U4 o' W) a0 ]3 S0 B1 D11.如果你的生涯规划中打算在5年内受到奖励,那获取该项奖励的动机是什么?观众是谁?
5 f/ ^2 X/ J/ Z3 e: h+ I) H8 ^- c12.如果微软告诉你,我们打算投资五百万美元来启动你的投资计划,你将开始什么样商业计划? ' i1 a) w! X0 N& P! V$ A! A( u
) r5 L9 O- C! E2 k0 A- D; ~$ v
为什么? 2 a- `% b6 ]$ Z* J( c# i6 ]& Q; M
13.如果你能够将全世界的电脑厂商集合在一个办公室里,然后告诉他们将被强迫做一件事,那件
& o+ \% Z3 \6 ^2 o7 C' L- X" x$ I& |4 t- |
事将是什么? + D1 f$ o3 z+ ]) g5 G% k; M8 [8 I1 L
4 b5 W7 ~) j' ^# v! G- B* W; B$ D- e
三.难题(说明:这类题有一定难度,如果得不到答案,也不能说明什么。如果你想到了解题思路 * T1 z* }, `& t4 P2 G
! _ t+ L Y3 Q* C
,那么答案马上就能出来。如果想不到思路,那么……就别想解出来了。) # T$ Y5 T( t1 ]2 j
! o% `4 P! t( z+ m1 l: p' q6 i1.你让工人为你工作7天,回报是一根金条,这个金条平分成相连的7段,你必须在每天结束的时候 ; e! S7 M5 h( `! U" L
1 }; c# B. }3 ] P: S' N
给他们一段金条。如果只允许你两次把金条弄断,你如何给你的工人付费?
! q! H7 R# k# g1 W. w2.有一辆火车以每小时15公里的速度离开北京直奔广州,同时另一辆火车每小时20公里的速度从广
6 M( M' Y# L5 Q) T" z2 @7 O7 F+ `2 u5 `4 u
州开往北京。如果有一只鸟,以30公里每小时的速度和两辆火车同时启动,从北京出发,碰到另一辆 # Z% p/ f; ?/ L( x1 K
1 d3 ^! S4 ^; {$ N+ ] E x
车后就向相反的方向返回去飞,就这样依次在两辆火车之间来回地飞,直到两辆火车相遇。请问,这 8 |& N5 y* M4 h4 f0 G
+ `3 m* Y2 Z$ m) K只鸟共飞行了多长的距离?
/ X. R8 `4 O* U' w, M- V7 D, P3.你有四个装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被污染的药丸的重量+1。 0 H Y) Z' l7 R: Y( P. X
2 M" K6 w# G% s0 j: k
只称量一次,如何判断哪个罐子的药被污染了?
: p2 M) h& `) G1 O M6 P; L) r4.门外三个开关分别对应室内三盏灯,线路良好,在门外控制开关时候不能看到室内灯的情况,现
- E9 \3 j& H. U9 x* k" P- `, \' [
在只允许进门一次,确定开关和灯的对应关系? : D0 J7 j! w, G" l W! y9 Y0 t$ Y
5.人民币为什么只有1、2、5、10的面值? , f" X8 _- R9 M* }* H! R7 T
6.你有两个罐子以及50个红色弹球和50个蓝色弹球,随机选出一个罐子, 随机选出一个弹球放入
; E4 o, Z9 G; N0 x) q$ ]) }4 z) i& `% Z; {" r' G& @
罐子,怎么给出红色弹球最大的选中机会?在你的计划里,得到红球的几率是多少?
0 u/ ^# D' B( k Z4 \
& ~( e$ m* B1 f+ C0 {0 f
( G6 r. |# O/ `四.超难题(说明:如果你是第一次看到这种题,并且以前从来没有见过类似的题型,并且能够在 5 t$ I6 J8 n6 [. O/ u$ \
# o3 ]3 z: v5 Z# `. [% R
半个小时之内做出答案。只能说明你的智力超常……)
- \" e: @" _% j, ?
' k- z; \9 E8 @5 o1 L第一题 . 五个海盗抢到了100颗宝石,每一颗都一样大小和价值连城。他们决定这么分: ) n/ b/ Z9 O' X
抽签决定自己的号码(1、2、3、4、5) 7 p3 K) K6 W% S
首先,由1号提出分配方案,然后大家表决,当且仅当超过半数的人同意时,按照他的方案进行分
3 ^1 a7 `0 T) x8 ~9 G6 j Y0 G: ]! m
5 n; ~0 M% e$ [( L" C* Y- Q, N7 C配,否则将被扔进大海喂鲨鱼 n1 }+ r# [# q7 W' n6 B
如果1号死后,再由2号提出分配方案,然后剩下的4人进行表决,当且仅当超过半数的人同意时, 7 w1 S% h7 `/ b
w6 W3 O+ i1 s7 I
按照他的方案进行分配,否则将被扔入大海喂鲨鱼
! B* |' X3 [2 |: a& Y8 e/ A依此类推 5 ?4 Q9 e4 W2 x5 ?1 S1 p( f
条件: 每个海盗都是很聪明的人,都能很理智地做出判断,从而做出选择。 % H7 w/ x; S/ J* Z1 J$ m- `; s
问题: 第一个海盗提出怎样的分配方案才能使自己的收益最大化?
* A- ^) k( x. O @! H
8 y. [/ K5 M: C( U Q第二题 . 一道关于飞机加油的问题,已知:
: {. e% P. a$ o( {8 I) J0 T7 w每个飞机只有一个油箱,
, I8 M+ \: l7 v& H Y# e飞机之间可以相互加油(注意是相互,没有加油机)
m. R' b; k8 a/ V9 V% S6 U一箱油可供一架飞机绕地球飞半圈,
& m) U9 U& d- _7 ?, e. |问题: 为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机
2 e- Y9 O% U" h- Y/ s7 b
, y. B9 l. j9 t! `/ s从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)
, y1 Y" Z! f) l4 a0 E+ P
7 H+ K. {/ @6 K9 x
% q& W- A; H: h( B, q& k+ q/ I" Z五.主观题(说明:在以后的工作过程中,我们可定会犯这样那样的错误。既然错误已经酿成,损 3 a- V: I, Z8 ]" V
2 x& T$ ?& f3 V8 J( @& S6 x' W6 P8 _
失在所难免,我们只能想办法把损失减少到最小。如果能巧妙地回答出这些问题,再发生错误的情况
5 q8 A- A9 @* p% R3 o+ D3 } a) p# x" W, ?
下。能让客户有最少的抱怨,公司有最少的损失。)
$ ^: I: I+ Z8 |7 @* m( n) R
$ ]. c! h& |, C2 P4 Q0 ~9 ^1 K( e1.某手机厂家由于设计失误,有可能造成电池寿命比原来设计的寿命短一半(不是冲放电时间), 9 N) _2 k4 q( Z0 R1 r, L. R
2 n2 z: X+ _7 _6 G) Z- _解决方案就是免费更换电池或给50元购买该厂家新手机的折换券。请给所有已购买的用户写信告诉解 $ a4 U# D' o; n8 K0 m y
* N1 g8 |, X6 k决方案。 # O3 c: ? b b) d
2.一高层领导在参观某博物馆时,向博物馆馆员小王要了一块明代的城砖作为纪念,按国家规定,
: o, M K; u4 }, Y) X7 O9 R X. {- f
任何人不得将博物馆收藏品变为私有。博物馆馆长需要如何写信给这位领导,将城砖取回。 * _ D2 @- V1 g" P
3.营业员小姐由于工作失误,将2万元的笔记本电脑以1.2万元错卖给李先生,王小姐的经理怎么写
$ ]# b$ f- T+ J. k% g1 ~: e9 z& U* J
信给李先生试图将钱要回来?
; D4 H& |1 m; M2 u, x* _% G- L8 A
& B! L y3 U( c( F, q# A0 \4 r- g% C7 a2 C9 b( t
六.算法题(说明:这些题就不是什么花样了,考的是你的基础知识怎么样。再聪明而没有实学的
! ?: D* X9 v. g. J5 y: t w9 l, r+ {! o' W% r7 C
人都将会被这些题所淘汰。)
* t: j. K) ]# v
& X8 G4 k* Q/ b! k) B4 z* A' d1.链表和数组的区别在哪里?
& r" G" ?3 {% @" h5 g5 |2.编写实现链表排序的一种算法。说明为什么你会选择用这样的方法? 8 n, r- j1 K: l
3.编写实现数组排序的一种算法。说明为什么你会选择用这样的方法?
& `" v/ u4 x5 u9 j4.请编写能直接实现strstr()函数功能的代码。 * I, R4 g+ _! @/ S. C
5.编写反转字符串的程序,要求优化速度、优化空间。
7 Z" M5 c2 `, p6.在链表里如何发现循环链接? 3 o; @. M$ S2 n. ^
7.给出洗牌的一个算法,并将洗好的牌存储在一个整形数组里。
! t& m! [ [ Z+ e8.写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:怎样只用4行代码编写出 " d5 ^# \* x8 L- x! ?2 M
/ M8 `& ?2 _# V
一个从字符串到长整形的函数?) ! k: O+ z, s1 z% P7 R L
9.给出一个函数来输出一个字符串的所有排列。 8 [6 n3 k; M( c. j+ ?
10.请编写实现malloc()内存分配函数功能一样的代码。 3 C7 I7 o0 b9 {3 x' \; ]6 y
11.给出一个函数来复制两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠。 % O( n7 S7 j/ _1 d+ g, x# W* S* Q
12.怎样编写一个程序,把一个有序整数数组放到二叉树中? 8 S7 z1 R) K% u8 Z1 [# N
13.怎样从顶部开始逐层打印二叉树结点数据?请编程。
: W t( K- @0 g n( d& A2 \14.怎样把一个链表掉个顺序(也就是反序,注意链表的边界条件并考虑空链表)? |
|