|
微软程序员测试题 * c1 `* w: ?! [6 t
6 Z3 K# X3 |3 r, m% H' t
一.最基本题型(说明:此类题型比较简单)
7 b/ M y7 {8 n8 B1 N2 x& r4 v( E# S0 p5 I6 Q- V0 n; n
1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧
: l6 E6 U6 e0 W/ U$ x% p, G6 {
4 L: @/ U5 g- Q绳的方法来计时一个小时十五分钟呢?
! G: ~% _1 e% @3 s2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可
* Y$ K7 z2 S3 f2 ^, w! j# R9 K e) c, J0 l( C) B; Q3 Q0 b
以确定你肯定有两个同一颜色的果冻?(5秒-1分钟) 8 V) E. n. U9 }4 I7 R
3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你 ! m! t7 w( \$ \0 n; g: |
, `1 @) d0 e8 t- e' p1 ]如何才能准确称出4公升的水?(40秒-3分钟)
+ T' Z! C! L$ \+ x5 {4 ?3 P* D7 p4.一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。
" c' H* i+ I8 y, @$ ~8 s* s1 Z+ _$ ]; g! d+ R
诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个
6 N i( f. F H+ H2 u. c8 Y% ?) J: R% W) b
人。请问应该怎么问?(20秒-2分钟)
2 M7 q# `: G U6 {6 P1 c4 k5.12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。13个 3 s0 k' @% L; V; O# A: q
# X3 ]& x5 I& U3 H2 g% u3 \% X3 _
呢?(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑)(5分钟-1小时) - V! |- ~, d& x, M" s+ H# E- E/ c
6.在9个点上画10条直线,要求每条直线上至少有三个点?(3分钟-20分钟)
8 |( s7 h$ u0 x* k7.在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时 $ T: U# ^1 {' g D% I4 [
6 M$ B1 {" D! Z- B7 `9 m间?你怎样算出来的?(5分钟-15分钟) ; g+ m2 d- ?* ~; ?
2 x+ n1 B& ? `! d
0 D5 M8 e4 K) f( ?2 B# ~1 M' R
二.没有答案型(说明:这些题显然不是考你智力。而考的是你的反应能力。这种题大多数没有答 . t% _% X( y& Q9 ^: E [# ?0 }
. Z: g/ R* ]% ~" ]0 @案,但是要看你的反应喽!)
( `7 {. ~' D' z# @9 b0 J/ K3 b9 W4 f" {/ f) j
1.为什么下水道的盖子是圆的?
8 `2 _- C f9 T; x" F2.中国有多少辆汽车? 2 F: ? j9 z) L) K
3.将汽车钥匙插入车门,向哪个方向旋转就可以打开车锁?
" ?' Z) b8 K4 N5 J; j4.如果你要去掉中国的34个省(含自治区、直辖市和港澳特区及台湾省)中的任何一个,你会去掉 / G; ] Q( ]6 J; H# K/ ]6 {
% c; A8 K' y; |" q哪一个,为什么? ' L! }# V S$ ~+ k. A+ X9 a* G
5.多少个加油站才能满足中国的所有汽车?
4 G* x3 n* v [# T9 d2 k; g6.想象你站在镜子前,请问,为什么镜子中的影象可以颠倒左右,却不能颠倒上下?
7 a9 E& t. H+ a7.为什么在任何旅馆里,你打开热水,热水都会瞬间倾泻而出?
3 c+ H9 S7 v( R3 ~8.你怎样将Excel的用法解释给你的奶奶听?
0 {- G$ N. Q2 ~1 _$ l. O9.你怎样重新改进和设计一个ATM银行自动取款机?
* e+ a, W3 @" ~/ T/ C10.如果你不得不重新学习一种新的计算机语言,你打算怎样着手来开始?
( l+ T0 S7 `2 }' ?1 m% b+ y. R- Q* |11.如果你的生涯规划中打算在5年内受到奖励,那获取该项奖励的动机是什么?观众是谁?
2 b. t0 H( y% Z& I5 Y7 I12.如果微软告诉你,我们打算投资五百万美元来启动你的投资计划,你将开始什么样商业计划? 9 L% i/ k5 |3 w- ]( [! h- j
9 N/ D+ G, E8 e' r* Q2 f: ^" l, `为什么?
! ~$ p5 d. |4 K( x8 L1 l: z$ i5 n13.如果你能够将全世界的电脑厂商集合在一个办公室里,然后告诉他们将被强迫做一件事,那件
2 `/ P3 K" U( l$ V
3 P# _; J/ @+ A R事将是什么? 0 x5 l* {0 s' @) j# ?
7 }! C& x6 c9 J! d. q
" P7 Y; H. S# b5 e* Q0 I; U: x! Z9 a% w4 }三.难题(说明:这类题有一定难度,如果得不到答案,也不能说明什么。如果你想到了解题思路
- Z- [ z( _- {7 x# }0 F( H
& [- C+ w& Z! d- O- @,那么答案马上就能出来。如果想不到思路,那么……就别想解出来了。)
, M3 B% N7 x+ ~6 j" f& L8 b! S H1 K& ~, E6 j
1.你让工人为你工作7天,回报是一根金条,这个金条平分成相连的7段,你必须在每天结束的时候
, v# M( y9 N$ h7 Q. Q2 |! K, _. q; d+ L
给他们一段金条。如果只允许你两次把金条弄断,你如何给你的工人付费?
# z1 j& A. L, |& P2.有一辆火车以每小时15公里的速度离开北京直奔广州,同时另一辆火车每小时20公里的速度从广
* b' o W& \( e' P3 m( P: c' p/ E* }9 M2 a2 h
州开往北京。如果有一只鸟,以30公里每小时的速度和两辆火车同时启动,从北京出发,碰到另一辆
0 b/ N+ P, f8 H: }. g
" H0 }5 w+ ]5 o车后就向相反的方向返回去飞,就这样依次在两辆火车之间来回地飞,直到两辆火车相遇。请问,这 ! f6 E5 d1 ]) m, z
; |2 f( D- r O# ^% U4 U+ v只鸟共飞行了多长的距离? * u4 Q! S, Q E! f
3.你有四个装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被污染的药丸的重量+1。
9 V: J% Y6 F# @+ J: A& g+ ?* V) Q& |7 i% m
只称量一次,如何判断哪个罐子的药被污染了? " A' H! r/ j* }) s, f. y
4.门外三个开关分别对应室内三盏灯,线路良好,在门外控制开关时候不能看到室内灯的情况,现 : K: Z5 {4 [- v7 X
( F; g* X1 X; l3 a在只允许进门一次,确定开关和灯的对应关系?
/ T4 `& `2 X! x& s- v5.人民币为什么只有1、2、5、10的面值? 5 \. ^8 T7 o, @
6.你有两个罐子以及50个红色弹球和50个蓝色弹球,随机选出一个罐子, 随机选出一个弹球放入 8 J \* z7 j. m& v, `
& [5 h2 ]5 Q- K1 _ X
罐子,怎么给出红色弹球最大的选中机会?在你的计划里,得到红球的几率是多少?
1 n$ i6 R5 o0 r/ `- U( X2 p8 n& S: W
- G* L5 Z* X* [! I# V四.超难题(说明:如果你是第一次看到这种题,并且以前从来没有见过类似的题型,并且能够在 + \9 g' q# P" \# M! w
4 ^" e+ g5 l- L5 c. L半个小时之内做出答案。只能说明你的智力超常……)
5 t, ?- R3 }( l$ c0 a
# U5 E; @ j! w' t" Y1 w第一题 . 五个海盗抢到了100颗宝石,每一颗都一样大小和价值连城。他们决定这么分: ) Q* d4 \ }; n j) W3 L
抽签决定自己的号码(1、2、3、4、5) - R) e* n1 e" f1 H# Q
首先,由1号提出分配方案,然后大家表决,当且仅当超过半数的人同意时,按照他的方案进行分
$ X+ |% x( s, Z
9 S4 y+ f0 J1 m" x. k' C3 q配,否则将被扔进大海喂鲨鱼 / I1 R4 G# ~+ X5 T$ w/ z( t
如果1号死后,再由2号提出分配方案,然后剩下的4人进行表决,当且仅当超过半数的人同意时, ) u) N% l" @" K$ ]/ T1 p% V
) p0 K% j; D. O; d
按照他的方案进行分配,否则将被扔入大海喂鲨鱼 5 q5 q9 B* Y" o2 i% L
依此类推 9 X: d& y6 p% \7 x3 `
条件: 每个海盗都是很聪明的人,都能很理智地做出判断,从而做出选择。 ! p1 Q! _# @) t; Y8 ^0 R, q0 r! R
问题: 第一个海盗提出怎样的分配方案才能使自己的收益最大化?
0 ?8 l4 l6 g z0 p4 w" y
2 A) c' \0 ^4 V+ v第二题 . 一道关于飞机加油的问题,已知:
8 a! Q; w" {) c/ Y& J, ^每个飞机只有一个油箱, . U3 s# O, J) C
飞机之间可以相互加油(注意是相互,没有加油机) * N- h( M* {' f+ K/ ]4 @
一箱油可供一架飞机绕地球飞半圈, + R, V5 y1 O1 ~+ j5 K
问题: 为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机
: e6 a9 ~% p$ p9 o, `
. y; }% f, n* s) h0 J从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)
8 {& C, E( U4 G: t+ n
* z- y, g$ A, p8 ]7 x
; p1 m+ E- i- J0 O1 Z; g五.主观题(说明:在以后的工作过程中,我们可定会犯这样那样的错误。既然错误已经酿成,损
+ z# X) g8 t0 [1 K6 l2 `) e: u5 ?4 g7 a
失在所难免,我们只能想办法把损失减少到最小。如果能巧妙地回答出这些问题,再发生错误的情况
! L- ^. o' o, e
2 \, x0 I/ W. E7 Q下。能让客户有最少的抱怨,公司有最少的损失。)
4 t3 f! S! x; l; `6 v' L& T- \0 X$ Y/ x' b3 I7 _& b
1.某手机厂家由于设计失误,有可能造成电池寿命比原来设计的寿命短一半(不是冲放电时间),
9 f+ c6 u! ~+ B# o) o# r1 l7 c# G: o/ z/ ^
解决方案就是免费更换电池或给50元购买该厂家新手机的折换券。请给所有已购买的用户写信告诉解
0 n l& X; R3 _$ d. B
: ]0 t! i. j; D决方案。
y j* y9 m- ]" l f |2.一高层领导在参观某博物馆时,向博物馆馆员小王要了一块明代的城砖作为纪念,按国家规定,
% a2 t# g$ N ~0 z" e# f. x' a& O) R) Q0 N* ^9 b' ?
任何人不得将博物馆收藏品变为私有。博物馆馆长需要如何写信给这位领导,将城砖取回。
0 [9 J3 c2 v/ Q/ @3.营业员小姐由于工作失误,将2万元的笔记本电脑以1.2万元错卖给李先生,王小姐的经理怎么写
8 J2 `; X; E6 X) Y: s
* u. i4 P' a% `信给李先生试图将钱要回来? * \+ ^0 f1 c7 z- u4 q4 D7 f
% v1 k4 {. t: K0 Z6 A% j# c
( I0 L5 N2 e6 y5 m9 }, ]" r2 W0 Y8 Y4 t/ N六.算法题(说明:这些题就不是什么花样了,考的是你的基础知识怎么样。再聪明而没有实学的
( D5 L. U/ V' b, Z8 W# I/ B( i
5 ]2 O" Q( X# B' g# P+ [. ~/ s人都将会被这些题所淘汰。) 6 E; q9 m+ ?9 U! ?0 ]$ ]
0 D6 J' o& v8 q, c2 q
1.链表和数组的区别在哪里? ; F% r6 t( K: i. q: E3 ?; p
2.编写实现链表排序的一种算法。说明为什么你会选择用这样的方法?
% E. |9 _- o' X L2 N3.编写实现数组排序的一种算法。说明为什么你会选择用这样的方法? 1 V0 o e( ?7 O7 S R; b5 G6 z
4.请编写能直接实现strstr()函数功能的代码。
% d# R: W& K1 a% ^. L5.编写反转字符串的程序,要求优化速度、优化空间。 $ u* w2 X$ K: e1 o3 Y4 W
6.在链表里如何发现循环链接?
6 J( L& C: `) F. C& {' R. f) S6 C& }7.给出洗牌的一个算法,并将洗好的牌存储在一个整形数组里。 " [+ t+ D' P0 t+ Q- T$ j
8.写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:怎样只用4行代码编写出 ) s* B$ u/ V4 j
4 g- q d c9 E4 m. ^. N6 H4 h1 g
一个从字符串到长整形的函数?) ) O. Y# | C9 N& {6 ^1 j, N
9.给出一个函数来输出一个字符串的所有排列。 1 r0 x" m. U% h, j* m5 m
10.请编写实现malloc()内存分配函数功能一样的代码。 7 ?! q9 j3 \( P
11.给出一个函数来复制两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠。 ' M: `* b" Y1 q* U
12.怎样编写一个程序,把一个有序整数数组放到二叉树中?
3 g9 f) s& C, _& I+ H13.怎样从顶部开始逐层打印二叉树结点数据?请编程。
- x+ {/ ?9 @/ q3 j M1 R, V" V; r. j14.怎样把一个链表掉个顺序(也就是反序,注意链表的边界条件并考虑空链表)? |
|