近来找工作,要看一些面经之类的,现在把看过的一些题目放在一起,也好没事自己看看。
一)、microstrategy 笔试分2部分
第一部分 四道问题 200分
1.acb-bca=abc(记不准了,MS是这个样子) a,b,c都是数字0-9中的一个数,求a,b,c
解:
acb
- bca
-------------
abc
转化成: 100a+10c+a - 100b -10c -a - 100a - 10b -c = 0
即为: 110b +c = 0 , b = 0, c = 0 题目不对的话类似推吧
2.三个baskets, 一个里面装满oranges,一个里面装满apples,一个里面装的是oranges+apples。三个baskets外面都贴有label,但是label都是错的。让你只从一个篮子里面拿一个水果,怎么判断三个baskets里面装的是什么
解答: 从贴着apple+orange的篮子拿出来一个,因为是错的,所以里面要不然全是apple,要不然是orange。比如拿出来的是apple,则这个篮子装的是apple,而那个贴apple标签的肯定是orange,然后贴orange的是混合的。
3.一个5 gallons buckets 一个3gallons buckets,如何如何取得4gallons water
4.essay: why you choose field of technology?
全英文,答题也要用英文。
第2部分 分四个catelogies, 自己选两个catelogies做
算法部分
1.C++中virtual function的作用,virtual constructor是什么
vistual funciton 为了后绑定, 实现多态
2.21个coins ,有一个heavier,用天平用最少的次数称出来testing 部分就是写两个测试用例
解答:
一般是三分称法,7,7,7---》 7个, 3, 3, 1 ----》3或者1个 1,1,1--->找出最重的
若题目没有指出来是heavier or lighter,第一次需要成两次确认。
3. 其他的两个部分一个是DATABASE 一个是os.都是很基础的东西
面试考的都是一些逻辑题目
1、昨天笔试的buckets问题 这次是一个9GALLONS,一个4gallons,想要6gallons的water.
解答: 同上
2、随后一个 如果一个A gallons bucket,一个B gallons bucket,让你得到c gallons water怎么办。
3、天平那个题目,这次是N个小球,其中有一个是重的,要用多少次。(这个见过 做出来了)
3。4个人过桥,一个手电筒,那个题目。如果4个人的速度是TA<=TB<=TC<=TD 要用多少时间。
呵呵,貌似应聘测试的一般是两个部分
一是英文测试,三选一,写一篇短文,例如
Most important discoveries are accidential: seeking for one question,and find the answer to the other question.
无所谓对错,只要给出理由就ok (看来英文作文的练习也是必不可少的呢)
二是逻辑推理
(俺的经验也不多,本科也没找过工作,不过腾讯的应聘测试的题目貌似也是逻辑推理居多,我同学应聘的开发倒是全技术的。。)
1 用多少网球可以把一辆公车填满
2 2007的2007次方的最后一位数字是什么 7,9,3,1,即4个一循环,2007 mod 4 = 3 ,即 3(第三个)
3有四张牌,牌的一面分别的E G 4 5
如果说牌的一面是元音字母,那个另一面是偶数,要验证这条原则是不是正确
应该翻开哪张牌? 提示元音是EOAIU.
4 是常见的一个手电过桥题,四个人速度是10 6 3 1 问最短过桥时间
解答:
设 A:10, B: 6, C: 3, D: 1 或者 TA>= TB>= TC >= TD
则,cd--> 3
d--> 1
AB-> 10
C-> 3
cd -> 3
总共时间为: 3 + 1 + 10 + 3 + 3 = 20
5 两个水桶分别装5加仑和3加仑水,问怎么得到4加仑水,没有其他容器没有标记攻工具(这个题目以前他也出过一样的)
解答:
2次3加仑倒入5加仑,剩下一加仑,然后将5加仑桶倒空,将剩下1加仑倒入,然后再倒入3加仑,即可。
6 3个房间分别有3个人,怎么能遇见最高那个,原则是你可以进其中任意一间,如果你觉得他最高就说yes,然后游戏中止,如果说no就可以去另一间要求给出策略 和 概率
第一个房间说no,第二个房间比较如果比第一个房间矮就说no,否则说yes。
7 64个球,一个偏重,问最少用天平称几次可以找到?(这个也是他常出的题小变了一下)
解答: m = 64. 采用 三分法,最少需要4次。 结论如下:
一般是 n = min{n | (3 exp n) >= m}
8 一个立方体 六面涂了颜色,将它分成1000个小立方体,问至少有两面涂有颜色的小立方体有多少个
解答: 分成1000块,涂有2面得小方块是在棱上的,除去8个顶点。 根据对称性,每一维分成10等分,于是有8块有两面颜色
总共有12条棱,共 12 * 8 = 96。
(需要证明这样是最少的,用反证法,假设是在一个维上分成1000快,则有998*4块了两面的。这里需要的是棱上的分割总数最少。)
9 小船过河 有两组人三个M 三个C (单词不认识hoho) 小船最多可以载两个人,原则是河一边的M的人数不能多于另一边C人数.
解答: 假设从A->B,要求m(B)<=c(A) (未完)
mc : A--> B m ccc mm
c: B--->A mm ccc m
m: A--->B mcc mmc
: B---A mccc mm
10 题目比较长,主要是说有个检验三个数是不是可以构成三角形的函数,每个选项中分别有四组数,问哪个选项中的几组数可以最好的检验这个函数,这个题猜的 不能确定
应该要注意什么
11 a b c
d
e f g
h
i
这9个字母分别唯一的表示1到9中的数字,且每行和每列的三个数之和为13
问c+e+g=?
解答:
c+e+g = 13.
有道
昨天笔了有道,趁着还有印象,发个笔经,攒攒RP,希望对后面笔的同学能有点帮助
找的同学内推动有道,效率挺快的,上周提交的简历,周六就通知收到笔试通知了。
提前到了有道,接待室里已经坐满等着笔试的同学了,之前好像刚笔完一场。
快到点了来了个长得挺可爱的mm把我们领到一个小会议室,墙上都是有道员工的照片,都很年轻的样子。
不闲扯了,笔试2个小时,3道算法题,5道单选题,前面还有两个写自己项目经历和兴趣爱好的就不说了
选择题
1:5本不同的书分给4个人,每人至少1种,共有几张不同的分法
2:女儿国夫妇都喜欢女孩,他们如果生了男孩会接着生,直到生出女儿为止,问一直这样下去男孩/女孩比例哪个高
3:关于网络协议的陈述找错的,很简单就没记 -_-
4:n个棋手单循环赛,每人必须和其他所有棋手各赛1场,有2个棋手赛完3场退出比赛了,他俩没赛过,比赛结束共赛了72场,问比赛开始有几名棋手
5:有人手表一小时慢3分钟,他4:30对了表,问他的表走到当天10:50时,实际时间是几点?
算法题
只允许用C++和java,不让用其他语言,不让用库函数(连strlen()都不让用,汗),不让写伪代码,函数接口都给定了
1:两个字符串a,b,找其中的公共字符,并按在串a中的顺序输出;
2:两颗二叉树t1,t2,结点定义预先给出了,
struct Node
{
char value;
struct Node *left;
struct Node *right;
};
要求实现 int func(struct Node *t1, struct Node *t2),在树t1中,找和t2完全相同的子树个数;
3:实现一个按字典序打印1..n的功能 void printNum(int n)
例如n=120
则打印
1
10
100
101
...
109
110
...
119
120
2
20
21
...
99
感觉题目都挺基础,不过由于不让用库函数有的题纠结了半天,最后总算是全部完成了。
还有一道是输出三个三位数,大小比例是1:2:3,尽量优化!1-9中选,每位都不一样,需要有计算过程
微软笔试面试题集锦
一.最基本题型(说明:此类题型比较简单)
1.
1到100有多少个9
2.
连续整数之和为1000的共有几组
3.
U2合唱团在17分钟内得赶到演唱会场,途中必需跨过一座桥,四个人从桥的
同一端出发,你得帮助他们到达另一端,天色很暗,而他们只有一只手电筒。
一次同时最多可以有两人一起过桥,而过桥的时候必须持有手电筒,所以就
得有人把手电筒带来带去,来回桥两端。手电筒是不能用丢的方式来传递的。
四个人的步行速度各不同,若两人同行则以较慢者的速度为准。 Bono需花1
分钟过桥 Edge需花2分钟过桥 Adam需花5分钟过桥 Larry需花10分钟过桥
他们要如何在17分钟内过桥呢?(这是Micrsoft征聘人员时问的问题,你必须
在五分钟内答出来才可能获得聘用)。
4.
说有一份遗产3500元一个女人的老公留下来的,如果这个女人生的是儿子那么
她将分到她儿子的一半,如果是女儿,他将分得她女儿的2倍,如果这个女人生
了一对,一男一女,问各得多少遗产?
5.
老师d的物理测验答案在教室里丢失了,今天那个教室上了5堂课,老师d上了3
堂,有可能是a、b、c三个同学盗窃
已知: 1、a上了两堂课
2、b上了三堂课
3、c上了四堂课
4、a、b、c每个人都上了老师d的两堂课
5、五堂课中,三个人到堂的组合各不相同
6、老师d的课中有一堂,三个人中到了两个,事后证明不是那两个人偷得
问?是谁偷得
6.
a b c d e
* f
__________________
=g g g g g g
问,a b c d e f g各是什么数字(不重复)
7.
a进行一次C和D之间往返旅行,希望在整个旅行中能够达到60km/h的平均速度,
但是当他从C到达D的时候发现平均速度只有30km/h,问a应当怎么做才能够使
这次往返旅行的平局速度到达60km/h
简单计算一下。2/60=1/x+1/30. x=inf。 不可能
8.
烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的
绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?
先烧一根,再将绳子折两次(1/4长度),再烧完。
9.
你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。
抓取多少个就可以确定你肯定有两个同一颜色的果冻?
4个
10.
如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上
下都不均匀,问你如何才能准确称出4公升的水?
3+3+3-5即可。
11.
一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另
一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,
但不知道应该走哪条路,需要问这两个人。请问应该怎么问?
问各自从哪里来。于是两人都说从诚实国来。相反的就是说慌国的路 。
12.
12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就
找到那个球。13个呢?
分成三组。
13.在9个点上画10条直线,要求每条直线上至少有三个点?
. . . . . . . . . 三竖一横,六斜
14.在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有
几次?都分别是什么时间?你怎样算出来的?
15.
一位商人有一个40磅的砝码,由于跌落在地而碎成4块.后来,称得每块碎片的重量都
是整磅数,而且可以用这4块来称从1至40磅之间的任意整数磅的重物.问这4块砝码碎片各
重多少?
1+3+9+27
二.没有答案型(说明:这些题显然不是考你智力。而考的是你的反应能力。
这种题大多数没有答案,但是要看你的反应喽!)
1.为什么下水道的盖子是圆的?
2.中国有多少辆汽车?
3.将汽车钥匙插入车门,向哪个方向旋转就可以打开车锁?
4.如果你要去掉中国的34个省(含自治区、直辖市和港澳特区及台湾省)中的
任何一个,你会去掉哪一个,为什么?
5.多少个加油站才能满足中国的所有汽车?
6.想象你站在镜子前,请问,为什么镜子中的影象可以颠倒左右,却不能颠倒上下?
7.为什么在任何旅馆里,你打开热水,热水都会瞬间倾泻而出?
8.你怎样将Excel的用法解释给你的奶奶听?
9.你怎样重新改进和设计一个ATM银行自动取款机?
10.如果你不得不重新学习一种新的计算机语言,你打算怎样着手来开始?
11.如果你的生涯规划中打算在5年内受到奖励,那获取该项奖励的动机是什么?
观众是谁?
12.如果微软告诉你,我们打算投资五百万美元来启动你的投资计划,你将开始什
么样商业计划?为什么?
13.如果你能够将全世界的电脑厂商集合在一个办公室里,然后告诉他们将被强迫
做一件事,那件事将是什么?
三.难题(说明:这类题有一定难度,如果得不到答案,也不能说明什么。
如果你想到了解题思路,那么答案马上就能出来。如果想不到思路,
那么……就别想解出来了。)
1.你让工人为你工作7天,回报是一根金条,这个金条平分成相连的7段,
你必须在每天结束的时候给他们一段金条。如果只允许你两次把金条弄断,
你如何给你的工人付费?
4+2+1
2.有一辆火车以每小时15公里的速度离开北京直奔广州,同时另一辆火车
每小时20公里的速度从广州开往北京。如果有一只鸟,以30公里每小时的速
度和两辆火车同时启动,从北京出发,碰到另一辆车后就向相反的方向返回
去飞,就这样依次在两辆火车之间来回地飞,直到两辆火车相遇。请问,这
只鸟共飞行了多长的距离?
3.你有四个装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被
污染的药丸的重量+1。只称量一次,如何判断哪个罐子的药被污染了?
1+2+3+4,称总重量。
4.门外三个开关分别对应室内三盏灯,线路良好,在门外控制开关时候不能
看到室内灯的情况,现在只允许进门一次,确定开关和灯的对应关系?
先开一个,开一会。然后开另一个。然后进去房间。热的为开过。
5.人民币为什么只有1、2、5、10的面值?
6.你有两个罐子以及50个红色弹球和50个蓝色弹球,随机选出一个罐子,
随机选出一个弹球放入罐子,怎么给出红色弹球最大的选中机会?在你的计
划里,得到红球的几率是多少?
1个罐子一个红球,一个罐子49红球+50红球。
概率为1*1/2+(49/99)*1/2=0.74
四.超难题(说明:如果你是第一次看到这种题,并且以前从来没有见过类
似的题型,并且能够在半个小时之内做出答案。只能说明你的智力超常……)
第一题 五个海盗抢到了100颗宝石,每一颗都一样大小和价值连城。
他们决定这么分:
抽签决定自己的号码(1、2、3、4、5)
首先,由1号提出分配方案,然后大家表决,当且仅当超过半数的人同意时,
按照他的方案进行分配,否则将被扔进大海喂鲨鱼如果1号死后,再由2号提
出分配方案,然后剩下的4人进行表决,当且仅当超过半数的人同意时,按照
他的方案进行分配,否则将被扔入大海喂鲨鱼
依此类推
条件:每个海盗都是很聪明的人,都能很理智地做出判断,从而做出选择。
问题:第一个海盗提出怎样的分配方案才能使自己的收益最大化?
第二题 . 一道关于飞机加油的问题,已知:
每个飞机只有一个油箱,
飞机之间可以相互加油(注意是相互,没有加油机)
一箱油可供一架飞机绕地球飞半圈,
问题:
为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?
(所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间
没有飞机场)
3架,5次飞行
分别在1/8, 1/4, -1/4, -1/8处进行加油。
五.主观题(说明:在以后的工作过程中,我们可定会犯这样那样的错误。
既然错误已经酿成,损失在所难免,我们只能想办法把损失减少到最小。
如果能巧妙地回答出这些问题,再发生错误的情况下。能让客户有最少的抱
怨,公司有最少的损失。)
1.某手机厂家由于设计失误,有可能造成电池寿命比原来设计的寿命短一半
(不是冲放电时间),解决方案就是免费更换电池或给50元购买该厂家新手机
的折换券。请给所有已购买的用户写信告诉解决方案。
2.一高层领导在参观某博物馆时,向博物馆馆员小王要了一块明代的城砖作
为纪念,按国家规定,任何人不得将博物馆收藏品变为私有。博物馆馆长需要
如何写信给这位领导,将城砖取回。
3.营业员小姐由于工作失误,将2万元的笔记本电脑以1.2万元错卖给李先生,
王小姐的经理怎么写信给李先生试图将钱要回来?
六.算法题(说明:这些题就不是什么花样了,考的是你的基础知识怎么样。
再聪明而没有实学的人都将会被这些题所淘汰。)
1.链表和数组的区别在哪里?
2.编写实现链表排序的一种算法。说明为什么你会选择用这样的方法?
3.编写实现数组排序的一种算法。说明为什么你会选择用这样的方法?
4.编写能直接实现strstr()函数功能的代码。
5.编写反转字符串的程序,要求优化速度、优化空间。
6.在链表里如何发现循环链接?
7.给出洗牌的一个算法,并将洗好的牌存储在一个整形数组里。
参见: http://paste.ubuntu.org.cn/45528
8.写一个函数,检查字符是否是整数,如果是,返回其整数值。
(或者:怎样只用4行代码编写出一个从字符串到长整形的函数?)
9.给出一个函数来输出一个字符串的所有排列。
10.请编写实现malloc()内存分配函数功能一样的代码。
11.给出一个函数来复制两个字符串A和B。字符串A的后几个字节和字符串
B的前几个字节重叠。
12.怎样编写一个程序,把一个有序整数数组放到二叉树中?
13.怎样从顶部开始逐层打印二叉树结点数据?请编程。
14.怎样把一个链表掉个顺序(也就是反序,注意链表的边界条件并考虑空链表)?
七.几个微软技术支持中心电话面试的题目
1.如果只想让程序有一个实例运行,不能运行两个。象winnamp一样,
只能开一个窗口,怎么作?
2.如何截取键盘的响应,让所有的'a'变成'b'?
3.apartment在com中有什么用?为什么要引入这个?
4.存储过程是什么,有什么用,什么优点?
5.template有什么特点,什么时候用?
6.好像最好要了解win32sdk底层的知识。比如消息响应的过程等等。
7.对.net的理解,对web service的理解,对三层结构的理解
8.两层的负载平衡与三层结构的负载平衡有什么差别,优点
9.windows DNA结构的特点,优点