IT企业面试之IBM笔试题(转)
本帖最后由 石小强 于 2011-8-27 09:26 编辑在IBM公司进行面试的时候,首先考察的则是基础知识。那么下面就总结了一些IBM笔试题,以供大家参考。
IBM笔试题:有一座山,山上有座庙,只有一条路可以从山上的庙到山脚,每周一早上8点,有一个聪明的小和尚去山下化缘,周二早上8点从山脚回山上的庙里,小和尚的上下山的速度是任意的,在每个往返中,他总是能在周一和周二的同一钟点到达山路上的同一点。例如,有一次他发现星期一的8点30和星期二的8点30他都到了山路靠山脚的3/4的地方,问这是为什么?答案一:可以用画图法来解释:在一个平面上,x 轴代表从8点开始的时间,y 轴代表距庙的距离。那么从庙到山脚就是一条从左下到右上的一条曲线,从山脚到庙就是一条从左上到右下的一条曲线。考虑到两条曲线的起始点和终点,两线必定交于一点。答案二:还有一种更简单的解释,是让两个人从山顶和山脚同时相向而行,一定有一个时刻相遇,这样就证明了。
IBM笔试题:在一个平面上画1999条直线,最多能将这一平面划分成多少个部分?没有直线时有一个空间;(1)1条直线时,这条这些可以将这个空间分成两个;(1+1)2条直线时,第二条直线可以和第一条直线相交,这样第二条直线可以将两个空间分成四个;(1+1+2)....注意到画每条直线时能增加多少个空间,取决于此直线从多少个空间中通过。而从多少个空间中通过,取决于和多少条直线相交。例如,如果一条直线和其它5条直线相交,那么最大可以通过6个空间,此直线可以增加6个子空间。画每条直线时,能相交的直线数为总的已经画过的直线。所以总的空间数最多为1+1+2+3+...+1999 = 1999001
IBM笔试题:不均匀分布的香,每根香烧完的时间是一个小时,你能用什么方法来确定一段15分钟的时间?第一根点燃两头,第二根只点一头。当第一根烧完时,时间过去了30分钟,所以第二根还能烧30分钟。这时点燃第二根的另外一头,第二根香还能烧的时间就是15分钟。
IBM笔试题:有27个人去买矿泉水,商店正好在搞三个空矿泉水瓶可以换一瓶矿泉水的活动,他们至少要买几瓶矿泉水才能每人喝到一瓶矿泉水?答案一:如果开始买3瓶,那么可以四个人喝,并且还能剩一个空瓶。如果开始买9瓶,可以13个人喝,最后还剩一个空瓶。如果开始买18瓶,那么26个人喝,可以剩下两个空瓶。如果开始买19瓶,那么27个人喝,最后剩下三个空瓶。所以最少买19瓶。如果可以向商店先欲借一个空瓶,那么买18瓶,最后一个人喝完再将空瓶还给商店。那么买18瓶也可以满足要求。答案二:x + x/3 + x/3^2 + ... = x/(1-1/3)=27x=18;
IBM笔试题:c++中引用和指针有什么不同?指针加上什么限制等于引用?引用不是一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。引用一经确定就不能修改。指针是一个变量,需要在内存中分配空间,此空间中存储所指对象的地址。由于指针是一个普通变量,所以其值还可以通过重新赋值来改变。把指针定义为const后,其值就不能改变了,功能和引用类似,但有本质的区别。
IBM笔试题:一普查员问一女人,“你有多少个孩子,他们多少岁?”女人回答:“我有三个孩子,他们的岁数相乘是36,岁数相加就等于旁边屋的门牌号码。“普查员立刻走到旁边屋,看了一看,回来说:“我还需要多少资料。”女人回答:“我现在很忙,我最大的孩子正在楼上睡觉。”普查员说:”谢谢,我己知道了。”问题:那三个孩子的岁数是多少。36 = 1 × 2 × 2 × 3 × 3所有的可能为1,1,36;sum = 381,2,18;sum = 211,3,12;sum = 161,4,9;sum = 141,6,6;sum = 132,2,9;sum = 132,3,6;sum = 113,3,4;sum = 10由于普查员知道了年龄和之后还是不能确定每个孩子的年龄,所以可能性为1,6,6;sum = 132,2,9;sum = 13由于最大(暗含只有一个最大)的孩子在睡觉,所以只可能是2,2,9;sum = 13一个小猴子边上有100根香蕉,它要走过50米才能到家,每次它最多搬50根香蕉,每走1米就要吃掉一根,请问它最多能把多少根香蕉搬到家里。小猴子可以采用如下策略:小猴子先搬50根,走到1米处,路上吃掉1根,放下48根后返回起始点,并在返回路上吃剩下的1根。然后将起始点处的50根香蕉搬到1米处,又在路上吃掉1根。这样总共消耗了3根香蕉,将所有香蕉向前搬动了1米。采用类似的策略搬动16米后,总共消耗了48根香蕉,还剩下52根香蕉。如果继续按照同样的策略向前移动到17米处,则剩下49根香蕉;如果直接在16米处丢掉2根香蕉,搬着50根香蕉向前走,在17米处也是有49根香蕉。所以猴子在17米处最多可以保留49根香蕉。继续搬到家还有33米,所以最后剩的香蕉数16根。
IBM笔试题:妈妈有2000元,要分给她的2个孩子。由哥哥先提出分钱的方式,如果弟弟同意,那么就这么分。但如果弟弟不同意,妈妈会没收1000元,由弟弟提出剩下 1000元的分钱方式,这时如果哥哥同意了,就分掉这剩下的1000元。但如果哥哥也不同意,妈妈会把剩下的1000元也拿走,然后分别只给他们每人100元。问:如果你是哥哥,你会提出什么样的分钱方式,使你有可能得到最多的钱?(最小单位1元)此题和海盗分金问题有些相似。(可以在本博客中找到关于海盗分金的问题和解答。)哥哥提出分配方案时,弟弟是否同意取决于拒绝后是否可以获得更多利益。弟弟分配时,哥哥是否同意也取决于拒绝后是否可以获得更多好处。所以采取由后向前推导的方法。如果在两次分配中弟弟和哥哥都不同意,则弟弟和哥哥各获得100元。弟弟分钱时,为保证哥哥同意,会提出哥哥101元,弟弟899元的分配方法。因为哥哥获得了比拒绝后的更多利益,所以必然会同意。哥哥分钱时,为保证弟弟同意,会提出哥哥1100元,弟弟900元的分配方法。因为弟弟获得了比拒绝后的更多利益,所以必然会同意。也就是说,最终哥哥会提出哥哥1100元,弟弟900元的分配方法。
IBM笔试题:有三个酒杯,其中两个大酒杯每个可以装8两酒,一个可以装3两酒。现在两个大酒杯都装满了酒,只用这三个杯子怎么把酒平均的分给4个人喝?总共16两酒,4个人喝,平均每人喝4两。假设下面的三个数是8两,8两和4两酒杯中的酒。8 8 08 5 3第一个人先喝3两,变成8 5 08 2 3第二个人先喝2两,变成8 0 38 3 05 3 35 6 02 6 32 8 1第一个人再喝1两,就刚刚喝了4两,变成2 8 00 8 20 7 33 7 03 4 36 4 06 1 3第三个人先喝1两,变成6 0 38 0 1第四个人先喝1两,变成8 0 05 0 3第三个人再喝3两,就刚刚喝了4两,变成5 0 02 0 3第二个人再喝2两,就刚刚喝了4两,变成0 0 3第四个人再喝3两,就刚刚喝了4两为了平均,每个人需要喝4两。考虑到我们有一个3两的杯子,所以问题的关键是如何量出尽可能多的1两。由于3*3-8=1,我们可以将3杯3两倒入8两杯中,剩下的就是1两。用这个方法,我么可以在总数为9两,10两和11两时3次量出1两酒。所以解题步骤就成为首先量出3两和2两,这时剩下11两,然后量出3次1两酒,然后再2次量出3两酒,最后剩下2两。
IBM笔试题:16个硬币,A和B轮流拿走一些,每次拿走的个数只能是1,2,4中的一个数。谁最后拿硬币谁输。问:A或B有无策略保证自己赢?B可以保证自己赢。如果A拿1个,则B拿2个;如果A拿2个,则B拿1个;如果A拿4个,则B拿2个。这样每次AB加起来都是3或者6,所以最后会剩下1个或4个。如果是1个则A直接输了;如果剩下4个,A全拿则输了,如果不全拿,B继续采取上面的策略,最后还是剩下1个,还是A输。
IBM笔试题:村子中有50个人,每人有一条狗。在这50条狗中有病狗(这种病不会传染)。于是人们就要找出病狗。每个人可以观察其他的49条狗,以判断它们是否生病,只有自己的狗不能看。观察后得到的结果不得交流,也不能通知病狗的主人。主人一旦推算出自己家的是病狗就要枪毙自己的狗,而且每个人只有权利枪毙自己的狗,没有权利打死其他人的狗。第一天,第二天都没有枪响。到了第三天传来一阵枪声,问有几条病狗,如何推算得出?答案:假设有1条病狗,病狗的主人会看到其他狗都没有病,那么就知道自己的狗有病,所以第一天晚上就会有枪响。因为没有枪响,说明病狗数大于1。假设有2条病狗,病狗的主人会看到有1条病狗,因为第一天没有听到枪响,是病狗数大于1,所以病狗的主人会知道自己的狗是病狗,因而第二天会有枪响。既然第二天也每有枪响,说明病狗数大于2。由此推理,如果第三天枪响,则有3条病狗。
IBM笔试题:开关和灯泡的对应关系?在房里有三盏灯,房外有三个开关,在房外看不见房内的情况,你只能进门一次,你用什么方法来区分哪个开关控制哪一盏灯?答案:设三个开关是1、2、3。打开开关1等半个小时,关上开关1并打开开关2。进房后去摸灯泡,热的是开关1对应的灯泡;亮的是开关2对应的灯泡;不亮不热的是开关3对应的灯泡。分析:首先想到的就是通过打开不同的开关,进去后看灯是否亮来找出对应关系。可能打开的开关数量只有0,1,2,3共四种情况,没有一种情况能解决这个问题。所以必须找到其它的信号。鉴于灯泡亮一段时间后会发热,我们可以使用灯的热度作为一个信号。这样我们就有了热且亮,热不亮,亮不热,不热不亮四种状态,足以用来区分三只灯泡了。这个题可以理解成一个编码问题,灯泡的状态作为编码空间,进屋的次数作为编码位数。如果只使用灯泡是否亮来判断,题目就相当于用一位二进制数来表示三种状态,是不可能的事情。加入了灯泡是否热后,就相当于用一位四进制数来表示三种状态,足够了。此题的一些可能变化:1. 在房里有四盏灯,房外有四个开关,在房外看不见房内的情况,你只能进门一次,你用什么方法来区分哪个开关控制哪一盏灯?2. 在房里有n盏灯,房外有n个开关,在房外看不见房内,且进门后只能观察灯的亮度的情况下,你需要进门多少次才能区分哪个开关控制哪一盏灯?3. 在房里有n盏灯,房外有n个开关,每个开关有三种状态(开,关,半开(亮度为开的一半))在房外看不见房内,且进门后只能观察等的亮度的情况下,你需要进门多少次才能区分哪个开关控制哪一盏灯?答案:1.用上面你说的四种状态热且亮,热不亮,亮不热,不热不亮就可以一次确定了2. 至少需要进门n/3次吧3 加入一种状态,应该需要n/6 IBM的也出炉啦,欢迎围观呐 逻辑性非常强。 Power 发表于 2011-8-27 09:54 static/image/common/back.gif
逻辑性非常强。
比较是ITNO1的IBM啊 2010年SPOTO&IBM 合作宣讲会的时候,面试时,面试官问的最多的是,你在大学,除了读书外,还做些什么?你在周六,周日的安排是什么? chinamoon 发表于 2011-8-27 10:32 static/image/common/back.gif
2010年SPOTO&IBM 合作宣讲会的时候,面试时,面试官问的最多的是,你在大学,除了读书外,还做些什么?你在 ...
这个问题好
很用心
很烧脑子的的问题 呵呵 。。这些题目考大家的逻辑性,有点挑战性 考这些?!!伤脑筋啊 超强逻辑--
页:
[1]
2