|
微软程序员测试题 7 }1 \* i6 F. T( z
8 z8 V4 n7 x: t7 ]" m8 Y/ R
一.最基本题型(说明:此类题型比较简单) 7 }! N1 b4 E8 W. Z4 z/ {' S, b
0 M- p8 l5 f7 _1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧
" o* j* ?9 x9 ?6 j" E) e$ l+ b0 o4 A, L1 j- q, L% N- s; @, H
绳的方法来计时一个小时十五分钟呢?
8 A: W0 s+ B2 @# J: t/ u2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可
; W& ~- u, K4 b D$ n9 f+ W3 k
9 X& x! x+ `9 a0 S+ g( J以确定你肯定有两个同一颜色的果冻?(5秒-1分钟)
, l1 l; R3 |- i+ k5 g1 D3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你 , \6 @2 u/ X1 y/ P' U
; I* B" ]( r% `5 D如何才能准确称出4公升的水?(40秒-3分钟)
# J$ i8 \% G* a4 R; P4.一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。 . G. X8 M/ n6 u6 a8 f
- m0 p" X- O6 o) e
诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个
) b; g- T- c- w( h5 \1 e, ]' G, @, F& H6 m, C! W
人。请问应该怎么问?(20秒-2分钟) ! c& j" K9 I0 l+ Y
5.12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。13个 , Y3 m* k% ?* j2 u
# D. j& r k. K' K9 M9 O* }呢?(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑)(5分钟-1小时) 5 o+ f0 k: m' C3 [7 m7 x E
6.在9个点上画10条直线,要求每条直线上至少有三个点?(3分钟-20分钟)
+ F8 W- X+ H5 I7 l7.在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时 " i1 P$ H' p" o- ?6 J
4 q+ R2 y/ y+ W" I5 `# P P
间?你怎样算出来的?(5分钟-15分钟)
; y- L2 W w5 x' b( t Y6 t( [
6 R! N$ v# K$ |* L: w+ B2 Q: V8 [5 v7 l. b# O' E V0 x
二.没有答案型(说明:这些题显然不是考你智力。而考的是你的反应能力。这种题大多数没有答 d, c% ^3 G% X+ |4 w! Z; f( L% y" F
) W+ }/ Y% n% m1 ]案,但是要看你的反应喽!)
1 B* a. f" I6 w) {# P" P5 p
9 O: }) z4 s" w( g8 H9 O+ y( P! P1.为什么下水道的盖子是圆的?
0 V. l G. @. M6 }) Z0 B2.中国有多少辆汽车? + R$ N& `" c z( |4 k# O
3.将汽车钥匙插入车门,向哪个方向旋转就可以打开车锁?
$ Y8 Z7 t9 H0 V: J4.如果你要去掉中国的34个省(含自治区、直辖市和港澳特区及台湾省)中的任何一个,你会去掉 5 H& l+ ?0 k& _4 J+ c" S4 H* M
" G* j# i" E+ J% c: q1 p1 u" z哪一个,为什么? 2 a$ f# p& D; i7 m2 `
5.多少个加油站才能满足中国的所有汽车?
/ D' \# H2 \# d p2 A s; S! {6.想象你站在镜子前,请问,为什么镜子中的影象可以颠倒左右,却不能颠倒上下? " p" y3 w2 d" _7 s( d+ b. l& h
7.为什么在任何旅馆里,你打开热水,热水都会瞬间倾泻而出?
) l) l: k' `, Y& B E- k4 a1 r8.你怎样将Excel的用法解释给你的奶奶听?
3 Q% z* x8 ^5 F$ w9.你怎样重新改进和设计一个ATM银行自动取款机? 1 { s3 r8 n* L! a( s8 v, Q
10.如果你不得不重新学习一种新的计算机语言,你打算怎样着手来开始?
7 _( A* t* {0 \7 |, ^8 E- I11.如果你的生涯规划中打算在5年内受到奖励,那获取该项奖励的动机是什么?观众是谁? 4 m* m9 Q6 `! z( H4 U, x
12.如果微软告诉你,我们打算投资五百万美元来启动你的投资计划,你将开始什么样商业计划? J! t9 @3 D5 O9 b7 G
8 q. B; Y0 g4 p8 q/ S8 P为什么?
! E0 L& [9 j3 F' \' P13.如果你能够将全世界的电脑厂商集合在一个办公室里,然后告诉他们将被强迫做一件事,那件
, ` h- {( k9 l) |# D; Y7 S7 q
( Y/ E k2 a/ k( p事将是什么? - t7 i7 D* q# }
- c- l9 G) b& Q/ l4 y
% b6 x0 {( b6 w& T. R& K5 F三.难题(说明:这类题有一定难度,如果得不到答案,也不能说明什么。如果你想到了解题思路 + N. P# ?1 p& L. x
. B3 i3 k4 x% t5 j+ j% u: {,那么答案马上就能出来。如果想不到思路,那么……就别想解出来了。) 9 ?0 ^$ F% W% ~' Y4 L! w8 G( X
; e( C; i: q2 Y9 i1 ^
1.你让工人为你工作7天,回报是一根金条,这个金条平分成相连的7段,你必须在每天结束的时候
4 [, I, T9 G4 R) A7 s# O, V7 z; A4 o1 c
给他们一段金条。如果只允许你两次把金条弄断,你如何给你的工人付费? - b& l" W9 z/ t
2.有一辆火车以每小时15公里的速度离开北京直奔广州,同时另一辆火车每小时20公里的速度从广
' c% e, N% I( S t: U) K/ A. M H$ G3 t3 J
州开往北京。如果有一只鸟,以30公里每小时的速度和两辆火车同时启动,从北京出发,碰到另一辆 4 W- N, g+ f* K9 |6 K
5 r! d% r( k8 X e8 ~车后就向相反的方向返回去飞,就这样依次在两辆火车之间来回地飞,直到两辆火车相遇。请问,这
& z; B7 @$ G) g1 v1 U; M+ b# v* L3 o% H! i
只鸟共飞行了多长的距离?
9 W d" k- r% F4 j3 n" o3.你有四个装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被污染的药丸的重量+1。
$ @: U: ~* S5 k+ a# o# z9 |1 R( t( G' R* y7 Q- ?; z
只称量一次,如何判断哪个罐子的药被污染了? 5 N( Q# k' @" f
4.门外三个开关分别对应室内三盏灯,线路良好,在门外控制开关时候不能看到室内灯的情况,现
2 O1 H) l1 C$ g7 l _% p& I! y/ u+ R2 E" N% U! V3 [6 i
在只允许进门一次,确定开关和灯的对应关系?
2 J% j4 g' P9 n$ a2 p1 D& D( W1 q5.人民币为什么只有1、2、5、10的面值? ; W+ T& b# o" P1 m! [' N7 n0 o6 z
6.你有两个罐子以及50个红色弹球和50个蓝色弹球,随机选出一个罐子, 随机选出一个弹球放入
# n5 c7 {0 g/ n2 @
( w9 R6 ~* F( p1 O, x* E罐子,怎么给出红色弹球最大的选中机会?在你的计划里,得到红球的几率是多少?
_/ E9 m, ?$ x2 u. Y3 Y J4 Z0 X
" d8 ]/ g; `) K( J& j% C( `* |% Q6 f C% ~! O7 U/ P9 |5 l) ?9 _
四.超难题(说明:如果你是第一次看到这种题,并且以前从来没有见过类似的题型,并且能够在 # s" |4 M! P' I8 H& w
. D# }( s9 ]6 n$ e
半个小时之内做出答案。只能说明你的智力超常……) 8 ?+ ]& D1 y( B$ M Z) h5 [
8 ?8 D7 E' w, `7 J8 G第一题 . 五个海盗抢到了100颗宝石,每一颗都一样大小和价值连城。他们决定这么分: ( U; H: l6 i7 W: r8 l/ k3 W
抽签决定自己的号码(1、2、3、4、5) U- u( {$ f7 _5 Z+ |- S, ^
首先,由1号提出分配方案,然后大家表决,当且仅当超过半数的人同意时,按照他的方案进行分
! [) _, q P C( @* ~2 L) T3 i' x
' [1 E" n0 k, O+ R6 k配,否则将被扔进大海喂鲨鱼
. u: l/ C! q7 ?! y% O如果1号死后,再由2号提出分配方案,然后剩下的4人进行表决,当且仅当超过半数的人同意时,
; z* x% T3 Q5 `+ M+ A# w8 Z
4 ~. n3 B) w9 c: A' D4 R按照他的方案进行分配,否则将被扔入大海喂鲨鱼
5 e# a. [& P' E1 O0 i ?依此类推
h7 ?5 J {0 k4 j条件: 每个海盗都是很聪明的人,都能很理智地做出判断,从而做出选择。
1 ?4 z0 D+ L4 b& B0 L3 j问题: 第一个海盗提出怎样的分配方案才能使自己的收益最大化? : a5 j( r, {; _* U* D
8 Z" ^: v8 ?: D! l7 r4 N" u第二题 . 一道关于飞机加油的问题,已知: , z2 ]- i. _% J s6 P" n
每个飞机只有一个油箱, 4 l# Q0 O8 W& p8 { K
飞机之间可以相互加油(注意是相互,没有加油机) 9 y- y: m8 X4 X2 c- p0 O* j
一箱油可供一架飞机绕地球飞半圈,
, b& U+ ~% U/ i8 d) [2 G/ d问题: 为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机 $ u: h/ E9 s& k* J- w- f
# m2 L5 K m! A
从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)
) y! y. s* W% o2 `. o8 V3 x8 j7 P& r }* A" Z( ?
7 |' g( z* d" o- E9 C5 l5 n+ P; @+ z1 O五.主观题(说明:在以后的工作过程中,我们可定会犯这样那样的错误。既然错误已经酿成,损
+ Q5 k) Q) l% x
; k7 h7 T1 _; Q7 F/ e, F失在所难免,我们只能想办法把损失减少到最小。如果能巧妙地回答出这些问题,再发生错误的情况
' S3 g) ^! ?+ e# e5 Q8 ]+ d: a8 d1 e! f! d$ j. i
下。能让客户有最少的抱怨,公司有最少的损失。) 9 D k6 j1 X/ F, X! I! v7 g
- Q+ E# e+ ~# S( q# ?1.某手机厂家由于设计失误,有可能造成电池寿命比原来设计的寿命短一半(不是冲放电时间), ( @( j4 A/ W* h. s3 F9 u, k
/ K* z2 H0 M1 k5 k/ g解决方案就是免费更换电池或给50元购买该厂家新手机的折换券。请给所有已购买的用户写信告诉解
8 R% N5 a0 v0 H1 c, E" q1 D" q* t6 z
决方案。 + h. K0 N/ u- b7 }1 F% Q$ L) l1 E7 P
2.一高层领导在参观某博物馆时,向博物馆馆员小王要了一块明代的城砖作为纪念,按国家规定, 7 L7 ^, F! s) x
6 u; Z3 M8 u2 f$ q3 o任何人不得将博物馆收藏品变为私有。博物馆馆长需要如何写信给这位领导,将城砖取回。
, Q h8 f3 d' ?) D' v% _3.营业员小姐由于工作失误,将2万元的笔记本电脑以1.2万元错卖给李先生,王小姐的经理怎么写
; d/ L$ A3 q% }$ _+ y [/ F* T
3 J' B$ l! ~: T+ o信给李先生试图将钱要回来?
j, `) h7 Y$ y0 Y3 f) Y6 v1 g6 q$ e8 S1 f3 F8 D4 l& h
" ], R+ z0 u% a) u8 K
六.算法题(说明:这些题就不是什么花样了,考的是你的基础知识怎么样。再聪明而没有实学的
/ |( F: c* o( t+ U, G5 _1 \/ b! I# \6 _/ d
人都将会被这些题所淘汰。) 2 a+ T* E: V" P
7 x3 y- T: N- P* r4 s5 T: ?# f3 N3 R1.链表和数组的区别在哪里? + Y+ L! D" {9 l) _* v- l
2.编写实现链表排序的一种算法。说明为什么你会选择用这样的方法?
! k3 B% s* y2 B* h/ u* V3.编写实现数组排序的一种算法。说明为什么你会选择用这样的方法?
' H1 ?2 i7 H) h7 z: y. l0 g5 F; x1 b8 d4.请编写能直接实现strstr()函数功能的代码。
& z' N; |: w; b: A7 I5.编写反转字符串的程序,要求优化速度、优化空间。 % \) h) F) l+ Y* U# R0 n, E3 ]
6.在链表里如何发现循环链接?
2 H* F" y; [3 L* h/ K: |& q1 G1 V7.给出洗牌的一个算法,并将洗好的牌存储在一个整形数组里。 + U R- I- B, ?' a3 m
8.写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:怎样只用4行代码编写出 5 K3 U0 Y' I: k/ |0 X
, k$ a" S) }' s" ^! N; |! a一个从字符串到长整形的函数?) & Z1 k; n4 a; A& \# e) r
9.给出一个函数来输出一个字符串的所有排列。
/ S( X: ^ C; o2 J" Q* c10.请编写实现malloc()内存分配函数功能一样的代码。
$ L/ @3 G. k3 }- |" H% L11.给出一个函数来复制两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠。
9 u% i& S2 s' w. W) k* y& z7 e12.怎样编写一个程序,把一个有序整数数组放到二叉树中?
, ?6 k' e$ e5 H6 r5 w: l S$ ~13.怎样从顶部开始逐层打印二叉树结点数据?请编程。
( G, a+ o+ n' U% e+ o5 A: e, B- V3 g14.怎样把一个链表掉个顺序(也就是反序,注意链表的边界条件并考虑空链表)? |
|