导航:首页 > 程序命令 > 带程序员的智力题

带程序员的智力题

发布时间:2022-08-06 06:21:17

① 脑筋急转弯题

1.什么人专干”弄虚作假”.”无中生有”的事,却不犯法?
演员
2.什么公鸡不打鸣儿?
铁公鸡
3.什么狗不守夜?
走狗
4.什么马不拉车?
鞍马

程序员面试 脑筋急转弯 求答案

一般这句话用在“你不相信别人的时候”,你就会说:“程序员面试,你就 编 吧!
(这个应该不应解释了吧,程序员的工作主要是编程
绝对准确,谢谢@!

③ 程序员最常去的酒吧脑筋急转弯

答案:Foo Bar。

术语foobar, foo, bar, baz和qux经常在计算机编程或计算机相关的文档中被用作占位符的名字。当变量,函数,或命令本身不太重要的时候,foobar, foo, bar, baz和qux就被用来充当这些实体的名字,这样做的目的仅仅是阐述一个概念,说明一个想法。

这些术语本身相对于使用的场景来说没有任何意义。Foobar经常被单独使用;而当需要多个实体举例的时候,foo,bar,和baz则经常被按顺序使用。

关于程序员的脑筋急转弯

1、程序员什么情况下会选择离职?

答案:在他无法获取到数组的时候(tips:arrays的发音)。

2、你怎样才能知道一个计算机科学家是内向还是外向的?

答案:外向的计算机科学家在跟你说话的时候会看着你的鞋子。

④ 六年级数学趣味智力题(附上答案)

a、一个破车要走两英哩的路,上山及下山各一英哩,上山时平均速度每小时15英哩问当它下山走第二个英哩的路时要多快才能达到每小时30英哩?

b、阿米巴用简单分裂的方式繁殖,它每分裂一次要用3分钟。将一个阿米巴放在一个盛了营养参液的容器内,1小时后容器内充满了阿米巴,问如果先前以二个阿米巴开始而不是一个,那麽要多长时间才能使容器充满?

2、他们会相遇吗?
“你从哪儿打电话来?”伯特问道。此刻他正在默顿街和斯普路斯街交角处的办公室里,一边听着电话,一边透过窗户注视着窗外拥挤的交通。
“在戴尔街和金街交叉处的一个公用话亭,”传来的是本恩的微弱的回答,“从你那儿往南走四个街段,往东走几个街段!”
伯特看了一下钟,喊道:“你现在就开始走,我们在半路上碰面!”他砰地一声放下电话。而只是在这个时候他才意识到自己刚才太快挂了电话,没讲清楚互相怎么走法。
实际上,在两个交叉点之间恰好有70种不同走法的线路,而且线路之间的选择跟距离没有什么关系。
那么,你怎么理解本恩话中“几个”的意思呢?

3、他的第一份工作
“嗨!约翰尼斯,”星期天乔在街上遇到一个年轻人向他喊道,“好久不见,我听说你开始工作啦!”
“几个星期了,”约翰尼斯回答道,“这是一份计件工作,我干得挺好的。第一星期我得了四十多美元,而且后来每个星期都比前一个星期多赚99美分。”
“这真是巧事!”乔笑了笑并继续说,“愿你一如继往都能这样!”
“我估计用不了多久我一个星期便能赚到60美元,”年轻人告诉乔,“自从开始工作到现在,我已经赚了整整407美元。这的确不坏!”
试问,约翰尼斯第一个星期赚了多少?
4、聚会之后
“昨晚他们离开的时候似乎都还清醒,”鲍勃说着,此时他刚刚从办公室回到家。
“我看不会比你更糟,”他妻子确信地信,“怎么啦?”
鲍勃淡淡地笑了笑,“他们四个人整天都在给我打电话,”他告诉她,“我得去解开这个谜结。他们一个个都互相拿错了别人的大衣和另一个人的帽子。”
“你到家的时候我就觉得有点不对劲,”贝蒂笑道,“继续讲你这个伤心的故事吧!”
“好吧,我分头说:乔拿走了一个家伙的大衣,而那个家伙的帽子又被史蒂夫拿走;史蒂夫的大衣是被另一个人拿走的,而那个人又拿走了乔的帽子。”
“那么罗恩又怎么样呢?”贝蒂对此颇感兴趣。
“他第一个打电话来,”鲍勃回答,“他把多哥的帽子拿走了。”
这真是一次十足的聚会!试问,乔和史蒂夫拿走了谁的大衣和帽子?
5、一个弹子的游戏
“你们自己来,但每人只拿12个,”吉姆一边说着一边从盒子里摸出了一打弹子,“我们这里绿色的弹子比蓝色的少,而蓝色的弹子又比红色的少。所以大家拿的时候,每人红的要拿最多,绿的要拿最少。但每种颜色都要拿!”
吉姆自己这样做后,其他的男孩也都照着做。这里总共只有三种颜色的弹子,而且盒子里弹子的数量也刚好够大家拿。
“我们大伙拿法全都不一样!”乔观察了一下大家拿出的弹子说道。“只有我有四个蓝的!”
“那又怎么样?”皮特发现自己在地下掉了一个绿色的弹子,于是把它捡了起来,“让我们玩吧!”
于是他们开始玩起弹子的游戏。
这里总共有26个红色的弹子。试问这里有多少个男孩呢?
6、头发的颜色
在一个与外界不往来的村庄中,住了三个人。这三个人都不能说话,但都很聪明。这村庄人的头发,不是黑色就是红色。 这村庄也没有任何可经由反射而看到自己的物体(如:镜子,湖水)所以这三人都无法得知自己头发的颜色。
这村庄有个习俗:知道自己头发的颜色后再自杀,可以快乐的上天堂;若猜错自己头发颜色就自杀,那就会痛苦地下地狱。 这三个人都很想上天堂,但都苦于无法得知自己的发色而迟迟无法进行。 这三人每天中午都会在广场上聚集,彼此相望,希望能得知自己的头发颜色。 这种困境一直到一个外地人的介入而打破。
有一天,一个外地人进入了这村庄,在广场碰到了这三人, 随口说了一句话:“你们三人至少有一个是红头发。”说完便离开村庄了。 当天三人听完这句话,都纷纷回家苦思。 第二天中午,三人依旧一起在广场见面。第二天晚上回去,就有两人自杀成功。 第三天中午,只剩一个人到广场。此人回去后也自杀成功了。
请问:这三人的头发分别为什么颜色?
7、1=2的证明
推理的艺术触及到我们生活的方方面面,比如决定吃什么,用一张什么样的地图,买一件什么样的礼物,或者证明一个几何定理,等等。有关推理的种种技巧,都演入了问题的解决之中。在推理中一个小小的毛病都可能导致十分怪异和荒谬的结果。例如,你是一名计算机的程序员,你就会担心由于某一步骤的忽略而导致了一种无限的循环。我们中间谁能保证在我们的解释、解答或证明中不会发现一点错误呢?在数学中除以零是一种常见的错误,它能引发像下面“”1=2“”的证明那样的荒谬的结果。你能发现它错在哪里吗?
1=2?
如果a=b,且a,b>0,则1=2。
证明:
1)a,b>0 已知
2)a=b 已知
3)ab=bb 第2步“=”的两边同“×b”
4)ab-aa=bb-aa 第3步“=”的两边同“-aa”
5)a(b-a)=(b+a)(b-a) 第4步的两边同时分解因式
6)a=(b+a) 第5步“=”的两边同“÷(b-a)”
7)a=2a 第2,6步替换
8)a=2a 第7步同类项相加
9)1=2 第8步“=”的两边同“÷”
作者: T.帕帕斯
8、乘车兜风
“你在忙乎什么吧,比尔,”教授留意地说。这时他的这位朋友正一口气喝完剩下的咖啡,站起来要走。
“准备带三个女孩乘车游览!”比尔答道。
教授笑了:“原来如此!敢问三位佳丽芳龄几许?”
比尔思考片刻说:“把她们年龄乘在一起得到2450,可她们年龄和恰是您年龄的两倍”。
教授摇了摇头说:“非常灵巧,但对她们的年龄仍然有疑问。”
比尔还在那里,他补充道:“是的,我忘了提起,我的年龄至少要比那个岁数最大的小一岁。”而这使得一切都变得清楚了!
当然,教授是知道他朋友的年龄的,请问,你能算出他们的年龄吗?
9、去别墅
“都已经把一家子都带到别墅去了,”鲍勃说道,“那儿多好,晚上非常安静,没有汽车喇叭声。”
“但你那儿警察照常上班,”雷恩评论说,“难道你那里没有警察?”
“我们不需要警察!”鲍勃笑道,“倒是有一个出现在我们驾车中的难题值得你想。情况是怎样的:头15英里我们平均时速40英里。接着大约在九分之几的路上,我们开得快一些。而在剩下的七分之一路程上,我们一直开得很快。全程的平均车速正好是每小时56英里。”
“你说的‘九分之几’是什么意思?”雷恩问。
“这里的‘几’是精确有整数,”鲍勃回答道,“而后面两段路程上的车速,也都是每小时整数英里。”
鲍勃自然不会带着一家子人用疯狂的速度去驾驶,尽管也可能那段路上刚好没有警察!
试问,在最后七分之一的旅途中,鲍勃他们的平均车速是多少?
10、一位在需要时候的朋友
点燃雪茄后约翰靠回到自己的椅子上,他显得对自己的生活很满意。“是的,”他开怀地笑着说,“在三十年前,当我们在一起还是十几岁孩子的时候,我绝没有想过后来会过得这么好。”
他的来访者微微笑了笑。在过去那些日子,他们曾是好朋友,但那是很久以前的事了。今天当他急需一份工作的时候,一种古老的友谊又有什么价值呢?“你的两位兄弟怎么样?”他问道,“他们都比你年轻是吗?”
约翰点点头:“干得不错。本恩,就是最小的那个,已有近百万家产。而泰德,就是原先爱耍小聪明的那个男孩,现在家住华盛顿。比尔,你过去好像计算上挺在行的,看看这样一道问题怎么样?”
这位大亨潦草地写着他的问题,而比尔却在充满希望中等待了几分钟:“本恩的年龄乘以我和泰德年龄的差,与我的年龄乘以他们之间年龄的差恰好少1。这里年龄都是取整年算的。”
“太糟了,”比尔伤心地摇头道,“我本打算来你这儿求份工作,却没想到你倒向我经销起自己的计算能力!”
比尔自然得到了工作。然而,找出那三个人的年龄无疑会给你带来快乐。
11、一场温和的赌博
“我没有一美分的零币,”汉克说着,一边叮当地敲着他的钱币,“你有多少?”
本恩查看了一下回答道:“正好五枚。怎么啦?”
“想知道吗?我想我们来一次小小的赌博游戏怎么样?”汉克一边说一边开始分牌,“规定这样的:第一局输的人,输掉他钱的五分之一;第二局输的人,输掉他那时拥有的四分之一;而第三局输的人,则须支付他当时拥有的三分之一。”
于是他们玩了,并且互相间准确付了钱。第三局本恩输了,付完钱后他站起来声明说:“我觉得这种游戏投入的精力过多,回报太少。直到现在我们之间的钱数,总共也只相差七美分。”
这自然是很小的赌博,因为他们合起来一共也只有75美分的赌本。
试问,在游戏开始的时候汉克有多少钱呢?
12、奖金
当秘书走进办公室时,杰克微笑着说:“贝蒂,现在我事情已经做完,请把其他人都叫进来。”
很快,包括贝蒂在内的五个职员都来到他跟前,不知出了什么事。但老板很快使他们轻松起来。杰克告诉他们:“我想你们一定很高兴知道,我在克莱蒙的交易最后赢利了,这里有一笔260美元的奖金,在你们之间分配,作个意思。”
贝蒂想自己职位较低,“也许轮不上我”这令人沮丧的念头,刺伤了她的心。
但令人满意的是,杰克继续说道:“我已经算出了你们跟我工作的完整的年限,并按这个比例发放奖金,但允许男人比女孩每年多得一半。”他一边说,一边递给每人一个信封。突发的感激,使雇员们显得有些局促不安。
这对他们来说确是一种好运气!
已知他们工作的完整年限分别是2,3,5,6和7年。请你算出在杰克的职员中女性有几人?
12、狂怒的大女子主义者的寓言和股票市场
我写这个寓言是在1997年10月股市大跌的一个星期之后。它发生在一个地点不明的愚昧的大女子主义村子里。在这个村子里,有50 对夫妇,每个女人在别人的丈夫对妻子不忠实时会立即知道,但从来不知道自己的丈夫如何。该村严格的大女子主义章程要求,如果一个女人能够证明她的丈夫不忠实,她必须在当天杀死他。又假定女人们是赞同这一章程的、聪明的、能意识到别的妇女的聪明、并且很仁慈(即她们从不向那些丈夫不忠实的妇女通风报信)。假定在这个村子里发生了这样的事:所有这50个男人都不忠实,但没有哪一个女人能够证明她的丈夫的不忠实,以至这个村子能够快活而又小心翼翼地一如既往。有一天早晨,森林的远处有一位德高望重的女族长来拜访。她的诚实众所周知,她的话就像法律。她暗中警告说村子里至少有一个风流的丈夫。这个事实,根据她们已经知道的,只该有微不足道的后果,但是一旦这个事实成为公共知识,会发生什么?
答案是,在女族长的警告之后,将先有49个平静的日子,然后,到第50天,在一场大流血中,所有的女人都杀死了她们的丈夫。要弄明白这一切是如何发生的,我们首先假定这里只有一个不忠实的丈夫A先生。
除了A太太外,所有人都知道A先生的背叛,因而当女族长发表她的声明的时候,只有A太太从中得知一点新消息。作为一个聪明人,她意识到如果任何其他的丈夫不忠实,她将会知道。因此,她推断出A先生就是那个风流鬼,于是在当天就杀了他。
现在假定有两个不忠实的男人,A先生和B先生。除了A太太和B太太以外,所有人都知道这两起背叛,而A太太只知道B太太家的,B太太只知道A太太家的。A太太因而从女族长的声明中一无所获。但是第一天过后,B太太并没有杀死B先生,她推断出A先生一定也有罪。B太太也是这样,她从A太太第一天没有杀死A先生这一事实得知,B先生也有罪。于是在第二天,A太太和B太太都杀死了她们的丈夫。
如果情形改为恰好有三个有罪的丈夫,A先生、B先生和C先生,那么女族长的声明在第一天不会造成任何影响,但类似于前面描述的推理过程,A太太、B 太太和C太太会从头两天里未发生任何事推断出,她们的丈夫都是有罪的,因而在第三天杀死了他们。借助一个数学归纳法的过程,我们能够得出结论:如果所有50个丈夫都是不忠实的,他们的聪明的妻子们终究能在第50天证明这一点,使那一天成为正义的大流血日。
现在我们把森林远处来的女族长的警告代替为对去年(1997)夏天泰国、马来西亚和其他亚洲国家的通货问题的警告;妻子们的紧张和不安代替为投资者的紧张和不安;妻子们只要自己的“公牛”没有被刺伤就心满意足代替为投资者们只要自己的“公牛”没有被刺伤就心满意足;杀丈夫代替为抛股票;警告和杀戮之间的50天间隔代替为东亚问题和大崩盘之间的延迟,你就会得到这次大崩盘的成因。更清楚地说,利益息息相关的金融集团们可能已经在怀疑其他的亚洲经济是不堪一击的,但直到某人如此公开地说,并最终发觉了他们自身的不堪一击以前,他们是不会行动的。这样,马来西亚总理在1997年4月批评西方银行的讲话就起着女族长的警告那样的作用,促成了他最担心的这次危机。
幸好不像是故事中的丈夫们那样,市场是能够再生的。华尔街波涛后来的此起彼伏说明,如果妻子们能够让丈夫们在炼狱中短暂停留之后再复活的话,这种类比就会更加逼真。这就是地球村中的生与死、买和卖。
(注:本文是美国数学家珀洛斯(J. P. Paulos)1998年的科普畅销书《从前有个数(Once upon a number)》的片断。)
13、猎人的手表
一个住在深山中的猎人,他只有一只机械表挂在手上,这天,表因忘了上发条而停了,附近又没有地方可以校对时间。
他决定下山到市集购买日用品,出门前他先上紧机械表的发条,并看了当时的时间是上午6:35(时间已经是不准了),途中会经过电信局,电信局的时钟是很准的,猎人看了钟并记下时间,上午9:00,到过市集采购完,又绕原路经过电信局,看了当时电信局的时钟指在上午10:00,回到家里,手上的表指着上午10:35。
猎人如何调校出正确的时间呢?此时的标准时间应该是多少?

⑤ 谁有程序员的面试题,例如东软公司,或其他公司的程序员面试题

程序员面试一直是社区乐于讨论的热门话题。
这篇文章是站在面试官角度对于程序员面试问题的一个阶段性反思和经验总结。
【目标】
相信和不少朋友一样,有了几年工作经验成为Senior后就开始了面试别人的经历。作者在最初这个阶段只是按照自己的想象把”找到基础好的程序员“,”找到算法能力优秀的程序员“,”找到有Android开发经验的程序员“等作为面试的目标。但是,实际的经历告诉作者,尤其是按“基础好”,“算法好”这些目标招到的人最终效果并不好。比如,有的面试者基础知识和算法掌握情况不错,进程、线程、内存等概念清晰,基本的Hash,二叉树,快速排序等数据结构和算法也比较熟悉,但是进公司后在实际工作中表现得很糟糕。后来,作者才发现原来是作者的面试目标出了问题,作者原先的面试方法更像是大学的算法或操作系统期末考试,按照这种方法让许多并不合适的人通过了面试,同时也可能错过了许多合适的人。
后来,作者的反思是,从公司的角度讲,面试的根本目的是找到"能够干好工作"的人,而“高学历”,“算法好”,“基础好”,“有经验”这些都是表象而不是根本,它们并不能直接和“工作好”划等号。
【方法】
目标明确了,但接下来的问题是假设面试者是一个黑盒系统,“工作好”不是直接可观测变量,你所能直接观测的变量是基础、算法、经验、学历、性格、谈吐、年龄等等。所以,实际上,你只能从“基础好”,“算法好”等可以直接观测的量去推测“工作好”的概率,这就是一个在“X好“条件下"工作好“的条件概率问题:P(工作好 | X好)。
根据这个模型,面试所应该考察哪些方面就很明显了,那就是选择那种最具有区分性的方面来考察。比如,考察面试者的体型特征没有太大意义,因为P(工作好|高),P(工作好|矮),P(工作好|胖),P(工作好|瘦)的概率都差不多;所以,体型特征不具有区分性,这不是面试所应该关注的内容。
面试官应当结合职位的要求明确哪些因素具有比较好的区分性。比如,如果要招一名技术门槛比较高的3D游戏引擎开发工程师,面试者A具有3D游戏引擎开发的经验,但是在基础知识和算法面试方面表现一般;面试者B相反,基础知识和算法面试表现很好,但没有游戏开发经验,而你只能选择其一。你选谁呢?其实,这就是两个条件概率问题P(工作好|经验好,基础一般,算法一般)和P(工作好|没经验,基础好,算法好)。这个问题就留给面试官来判断了,就作者个人而言,对于技术门槛较高需要技术积累的职位,经验更加说明问题,因此,作者更倾向于面试者A。
下面,作者再结合自己的经验谈谈对面试中常见方面的看法。
【算法】
算法是Google和MS等大公司面试所重点考察的内容。作者个人很喜欢算法,曾经参加ACM/ICPC拿过北京赛区的13名。但是,就个人经验来看,作者所接触过的绝大多数开发职位而言,算法都不适合作为考察面试者优劣的主要因素。对于普通的非算法性开发职位,考察面试者的算法就相当于考察他打乒乓球好不好一样,与目标“工作好”的相关性太低。就作者个人的经验来看,差不多P(工作好|算法好)=50%,也就是算法面试没有太大的区分性。
甚至,还有一种很不好的情况特别多地出现在算法好的面试者身上,作者称之为“只磨刀,不砍柴”。什么意思呢?有类人只对什么A*算法,异步编程,JVM类加载机制这种纯技术问题感兴趣,对实现用户需求毫无兴趣。这类人看起来有一定的技术能力,但是对公司来讲贡献十分有限,甚至不如技术一般但认真负责的人。所以,一旦遇到面试者算法好,作者就特别留意考察会不会是这种“只磨刀,不砍柴”的人。
另外,虽然作者个人不了解Google和MS,但作者对于其特别重视考察算法能力的面试策略是持怀疑态度的。即使在这样的世界级大公司,算法虽然重要,但可以想象在项目实施过程所遇到的各种各样问题中,算法问题绝大多数时候不会是主要瓶颈,没有到那种需要每个人都是算法高手的情况。实际上,绝大多数项目真正难点并不是一两个算法瓶颈,甚至也不是单点的技术瓶颈,而是系统性的组织、协调、设计、开发问题,有大量的看起来不是那么有技术含量的脏活累活,也有许多问题是由于信息不足,并不是技术能力强就能克服这些困难。一个团队最好优势互补,有人算法强,有人业务分析能力强,有人擅长后端服务,有人擅长前端界面,有人聪明,有人踏实,这是最好的。如果按照“算法好”的单一标准选材,必定会把许多优秀的人才拒之门外。
补充:在更多地了解了Google和Facebook等一流公司的面试细节之后,作者对这个问题的认识有了一定的改变,实际上这些公司在面试过程中并不完全强调技巧性很强的算法,而是更加注重编码(Coding)能力,只是在进行编码测试的过程中往往是通过一些简单算法题来进行的。作者对于这种面试方法越来越欣赏,并且也作为了作者们公司面试过程中的重点环节,因为编码能力的测试是十分必要的,它有着知识性问题无法取代的作用,如果一个面试者连“判断一个字符串是否是另一个字符串的子串”这样的题目都无法正确并快速地实现,那么基本上可以直接排除了。作者这里所强调的是不必考察高难度的算法问题,并非不重视编码能力测试,请读者不要误解
【基础】
基础面试是指考察诸如指针使用、进程线程概念等基础知识的面试,十分类似于大学期末考试题。作者曾经以为基础面试十分重要,但是现在不这么看了。在工作中基础的确是重要的,但是在面试过程中,它必须具有区分性才有意义,也就是说P(工作好|基础好)的概率要高,那么考察指针使用,进程线程区别这样的基础题目才有它的意义。作者的实际经验是,基础面试并不具有很好的区分性,和算法一样, 差不多P(工作好|基础好) = 50%。同时,基础面试是最容易准备的,中国人有长期的应试教育经验,要准备几个把玩指针题目太容易了。
作者曾经遇到过这样的面试者,他的C语言基础和编译、链接等原理掌握得非常好,给作者留下了深刻的印象,作者给的面试结论是:知识面不宽,只会C语言,但基础很扎实,建议录用。后来的事情证明了那个结论的前半部分是对的,但是”建议录用“错了。他在实际工作中表现得一塌糊涂,不理解需求,不理解整体架构;同时,上班时间不是花在项目上,而是花在阅读诸如《程序员的自作者修养》之类的书籍上。最后,这位同事由于长期“不出活”离开了公司。
基础不是不重要,而是“基础好”不足以说明面试者能干好工作,因为基础是属于局部性知识,而实际工作需要综合性能力,二者有天壤之别。C语言、操作系统能考高分,但是不会写程序的人在大学作者们还见得少吗? 软件开发就像盖房子,综合能力是设计和搭骨架,基础知识是码砖。张小龙原先Foxmail是Delphi开发的,他它不懂C#,你如果要招聘一个开发.NET Email客户端的人,你考察他对CLR掌握得好不好有意义吗? 让张小龙来开发一个C#版的Foxmail真的会有困难吗? 你招一个精通C#但没有Email客户端开发经验的人来真的比张小龙靠谱吗?
作者说基础知识不重要,和古人说的“不积洼步无以至千里”是不是矛盾呢?不矛盾!“洼步”与“千里”是一种可累加关系,但再多的“基础知识”都累加不成“综合能力”。学习软件开发要像持续集成一样,一开始就是一个完整的系统,虽然规模不大,问题很多,但它麻雀虽小五脏俱全,从小系统到大系统,从简单系统到复杂系统逐步演化。
所以,基础好本身不足以说明太多的问题,必须进一步考察综合能力。对于基础面试表现不好的面试者,如果时间允许也要进一步考察,有的面试者其实是有能力的,只是没有进行充分的准备。最理想的状态当然是基础和综合能力俱佳,若不能兼顾,应当综合能力优先。
【经验】
这里所说的经验不是通过工作了多少年来衡量的,而主要是指面试者的经历,比如,是否完整地实现过一个软件,或作为主要开发者完成过一个项目。经验的重要性在于它能说明一个人的综合能力。从项目的性质、规模和难度,面试官就可以大致判断出面试者的综合能力。如果一个面试者一直在大公司负责一个小模块的开发维护,那么基本可以判断他不具备独立或作为主要开发者承担一个项目的能力,只适合在另一家大公司做类似的事情。对于门槛较高需要长期技术积累的职位,相关经验更显得尤为重要,比如,Linux内核开发,JVM开发,游戏引擎开发,数据库实现,高级UX等。对于这类职位,没有经验的面试者即使综合素质不错也是需要长时间的学习和积累才能胜任。所以,基本上如果确定了你的职位属于此类,那么相关经验毫无疑问应该成为首选因素,换句话说,P(工作好 | 相关经验好)的概率是非常高的。
通过项目经验判断面试者的优劣比通过基础和算法测试更加靠谱,所以,面试过程中面试官应该花比较多的时间听面试者介绍项目经验,并进行深入地探讨交流,了解面试者的知识面、思维能力、表达能力等。同时,可以结合项目提一些基础知识和算法的问题,比如,如果面试者做过C++相关的项目,那就可以问他如何进行内存管理?是否熟悉智能指针?如果面试者的回答不能令人满意,那么就基本上可以判断他的项目做得不是很好。
要注意的是,经验也是一个多维度的事物。比如,C++股票交易中间件系统,这就涉及(C++,中间件,股票) 3个维度。假如面试者A做过C++股票交易客户端,面试者B做过C的股票交易中间件。从语言角度看,A最匹配,从项目性质看,B最匹配,你如何选择?这就是在多个维度中,哪个维度更重要的问题,就这个例子而言,作者个人更倾向于B,因为作者认为中间件开发经验是主要矛盾,而从C切换到C++并不是问题。所以,面试官需要判断哪一种经验是主要的,而哪一种经验是次要的。比如,作者们招聘Android应用开发,这个职位的Android技术门槛并不高,它的真正难点在于做出好的用户体验(UX)。所以,如果一个面试者没有Android的经验作者们是可以接受的,但是作者希望他在UX方面有经验,至少做过其他平台的移动应用开发。
【性格】
现在,作者来谈作者认为最重要的因素:性格。这可能是许多初为面试官的朋友所难以想象的,怎么会是性格最重要呢?说实话,当作者意识到这一点时,作者自己也很惊讶!说白了,还是 P(工作好|性格好)的概率最高啊。作者的实际经验是,如果一个人的性格好,他能把工作做好的可能性是最高的,性格好远比基础好、算法好要靠谱。
一个人如果技术上有缺陷,经验上有不足,但性格好,在团队中是很容易由其他人来补位的,他自己也很容易逐渐补起来;相反,如果一个人的性格不好,所有的技术优势经验优势都发挥不出来,甚至还会起到负作用,而且性格缺点很难改变。作者一直谈到实际工作所需要的是综合性的能力,这种综合能力的发挥中性格是至关重要的。项目中不止会遇到技术问题,要涉及沟通、协调,不同的人不同的部门既有合作又有磨擦,如何处理这些事情都需要一个良好的性格。可以说,在开发团队里让你与众不同的不是你从哪个学校毕业,也不是你过去的经验,而是你的性格
当然,性格是一个复杂的东西,它包含了很多的方面,并非所有方面都是程序员面试所需要关注的。作者的经验是可以重点考察这些方面:
1) 态度积极还是消极。有的面试者在谈吐中就会自然给你一种积极上进的感觉,或者你可以在他的经历中发现他积极的因素,这些都不是太难看出来的。相反,有的面试者你能明显感觉到他的消极情绪。积极性在工作中是十分重要的,积极的人能给团队带来朝气,也更易于合作。基本上,如果确定面试者属于态度积极的,他通过作者这一关的可能性就会大大增加;相反,如果确定属于态度消极的,即使技术能力不错作者也会十分谨慎。
2) IQ。作者的经验是,总体来看,聪明的人在工作中的表现更为优秀。在面试中要考察一个人是否聪明并不一定要像Google和MS那样找些专门测试IQ的智力题,其实,你只需要看他讨论问题是不是很有逻辑性,思考和说话是不是反应敏捷就可以做出大致的判断。另外,眼睛是人心灵的窗户,一个人聪明与否,眼睛是会说话的。不过,聪明也不完全是优点,比如,当公司或项目遇到困难时,往往是聪明人先跑掉了,坚守的往往是IQ一般的人。
3) 语言表达能力。语言表达能力也是程序员十分重要的一项素质,它关系到项目中的沟通是否顺畅。面试官可以看看面试者能否用简明的语言介绍清楚曾经做过的项目,能否抓住要点,能否考虑到听者的相关背景。一般来讲,语言表达能力强的人综合能力都不会太差。(面试网 www.mian4.net)
4) 是否具有用户意识。有人说程序员是做研发的,哪来什么用户?只有销售、市场人员才会和用户打交道。其实,这是完完全全的错误认识。你写一个模块,甚至一个API,只要有别人用,他就是你的用户。有的程序员设计一个模块或是一个软件总是习惯于从使用者的角度来考虑,尽量地方便使用者,这就是一种良好的用户意识。具有良好的用户意识的人更能考虑别人的感受和整体的需要,而不是单纯地从自己和局部来思考问题。当面试者谈及过去的项目经验时,面试官可以常常站在用户的角度对其进行提问,从这个过程中观察其是否具有良好的用户意识。
5) 如何应对质疑和压力。面试官应该对面试者的回答以及以往项目进行合理的质疑,看看他如何应对。曾经有一位面试者谈到做游戏登录服务器的经历,作者就问:“如果登录服务器挂了,怎么办呢”?他说原先虽然没有考虑这个问题,但是可以怎么怎么改进。其实,大家都理解项目中有各种不完美,这里面原因很多,只要面对质疑和压力能从容应对努力往好的方向思考解决就可以了,不需要掩饰缺陷,更不应该有情绪。作者遇到过有的面试者,一旦你对其项目提出质疑,他马上产生反抗情绪,或不高兴,或不承认有问题,这很容易一下子看出来他在工作中容不得质疑和批评,这种人要想合作就很困难。
6) 个性特点。许多面试者喜欢在简历上写“精通C++/Linux“,这些字眼看得人麻木,如果有人写”喜欢C++/Linux“,作者就会有一种眼前一亮的感觉。“精通”是没有感情色彩的叙述,而“喜欢”包含了面试者的个性,作者更愿意看到面试者的个性。作者相信对某样东西真正的热情远比你当前对它的掌握程度更为重要。其实,N年的经历告诉作者们,同一个班的同学,同一个项目组的同事,虽然每天所学的知识,所接触的工作都是相同的,但其实每个人的成绩和表现差异是十分明显的。那么,到底本质的差异是什么呢?其实,就是每个人的个性。是个性使得有的人业余时间去打球,有的人业余时间去看书,有的人喜欢Linux,有的人喜欢Mac。一个人在团队中扮演的角色也和他的个性有很大的关系。面试官应该引导面试者展现自己的个性,并判断其是否有益于团队。
【总结】
最后总结起来,作者的经验是:
1) 面试官的目标是找到”工作好“的人,一定要围绕这个目标来进行面试,如果把面试当成了算法或操作系统期末考试这就走入了误区;
2) 面试过程是通过学历、性格、基础、经验、算法等可以测试的因素去综合判断面试者“工作好”的概率;

3) 在各种因素中,性格 > 经验 > 基础 > 算法。性格是最重要的,如果性格不好,所有技术能力都会大打折扣,而且技术缺陷容易弥补,性格缺陷很难改变;经验体现了一个人的综合能力,你可以从面试者过去的经历中判断他能从事哪种工作,不能从事哪种工作;基础和算法则主要起到辅助参考的作用,基础好的程序员一般适应性比较强,学新技术更快,但是切忌单纯从基础来判断一个人的能力。
更多程序员面试问题请登陆楚湘人才网

⑥ 20、老婆给当程序员的老公打电话:“下班顺路买一斤包子带回来,如果看到卖西瓜的,买一个。”当晚,程序

意思就是做程序员的人,思路类似于计算机而不是正常人的平常思维.

下班后,老公按照老婆的吩咐照做,顺序是这样的:

下班后,脑子里先加载一个买包子的业务需求.于是脑子里有了这么一个概念/变量 = 包子.

然后看到了卖西瓜的,在程序员的脑子里,思路就是类似如下的伪代码:

如果(看见卖西瓜的) {
买一个.
}
//问题就出在这里.已经看到卖西瓜的了,就要执行这里的内容.但是买一个,买一个什么呢?老婆没有明确声明这里的"一个"后面是什么.那么就默认调用已有的内容(也就是上面的包子)

//于是就买了"一个"包子/

所以要是男朋友是程序员,笑话里的老婆有两种方法来避免上面的问题:
要么,在"顺路买一斤包子带回来"这句话之后,明确告诉老公,买包子的事情已经到此告一段落.后面的事情和买包子无关.
要么,在"买一个"之后明确指出是买一个"西瓜"而不是包子.

⑦ 所提问题为程序员问题,或者可以理解为脑筋急转弯。 现有从1到100这一百个整数,数据是无序排列的,

你告诉我就行了呗

⑧ 很难的智力题

1
有十只钱袋,每只钱袋里分别装着十个铜板,其中有一个袋子装的是每枚九克的铜板,另外的九只钱袋装的全是每枚十克的铜板。问:只许你称一次,你能称出哪只钱袋里装的是每枚九克的铜板。
参考答案
第一个袋子里拿出1个铜板,第二个袋子拿2个,第三个拿出3个。。。以此类推,一共拿出55个铜板,把55个一起称,看称出的实际重量比550克少多少克,就等于是一共有多少个9克的铜板,而9克铜板的数量等于装9克铜板的袋子号(例如少一克就是第一个袋子,少2克就是第二个袋子。。)

2(猜牌问题)
S先生、P先生、Q先生他们知道桌子的抽屉里有16张扑克牌:红桃A、Q、4 黑桃J、8、4、2、7、3 草花K、Q、5、4、6 方块A、5。约翰教授从这16张牌中挑出一张牌来,并把这张牌的点数告诉 P先生,把这张牌的花色告诉Q先生。这时,约翰教授问P先生和Q 先生:你们能从已知的点数或花色中推知这张牌是什么牌吗? 于是,S先生听到如下的对话: P先生:我不知道这张牌。Q先生:我知道你不知道这张牌。 P先生:现在我知道这张牌了。 Q先生:我也知道了。 听罢以上的对话,S先生想了一想之后,就正确地推出这张牌是什么牌。 请问:这张牌是什么牌?
解题思路:
由第一句话“P先生:我不知道这张牌。”可知,此牌必有两种或两种以上花色,即可能是A、Q、4、5。如果此牌只有一种花色,P先生知道这张牌的点数,P先生肯定知道这张牌。由第二句话“Q先生:我知道你不知道这张牌。”可知,此花色牌的点数只能包括A、Q、4、5,符合此条件的只有红桃和方块。Q先生知道此牌花色,只有红桃和方块花色包括A、Q、4、5,Q先生才能作此断言。 由第三句话“P先生:现在我知道这张牌了。”可知,P先生通过“Q先生:我知道你不知道这张牌。”判断出花色为红桃和方块,P先生又知道这张牌的点数,P先生便知道这张牌。据此,排除A,此牌可能是Q、4、5。如果此牌点数为A,P先生还是无法判断。 由第四句话“Q先生:我也知道了。”可知,花色只能是方块。如果是红桃,Q先生排除A后,还是无法判断是Q还是4。综上所述,这张牌是方块5。
参考答案:
这张牌是方块5。

智力题3(燃绳问题) 燃绳问题
烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?
解题思路:
烧一根这样的绳,从头烧到尾1个小时。由此可知,头尾同时烧共需半小时。同时烧两根这样的绳,一个烧一头,一个烧两头;当烧两头的绳燃尽时,共要半小时,烧一头的绳继续烧还需半小时;如果此时将烧一头的绳的另一头也点燃,那么只需十五分钟。
参考答案:
同时燃两根这样的绳,一个烧一头,一个烧两头;等一根燃尽,将另一根掐灭备用。标记为绳2。再找一根这样的绳,标记为绳1。一头燃绳1需要1个小时,再两头燃绳2需十五分钟,用此法可计时一个小时十五分钟。

4 乒乓球问题
假设排列着100个乒乓球,由两个人轮流拿球装入口袋,能拿到第100个乒乓球的人为胜利者。条件是:每次拿球者至少要拿1个,但最多不能超过5个,问:如果你是最先拿球的人,你该拿几个?以后怎么拿就能保证你能得到第100个乒乓球?
解题思路:
1、我们不妨逆向推理,如果只剩6个乒乓球,让对方先拿球,你一定能拿到第6个乒乓球。理由是:如果他拿1个,你拿5个;如果他拿2个,你拿4个;如果他拿3个,你拿3个;如果他拿4个,你拿2个;如果他拿5个,你拿1个。2、我们再把100个乒乓球从后向前按组分开,6个乒乓球一组。100不能被6整除,这样就分成17组;第1组4个,后16组每组6个。3、这样先把第1组4个拿完,后16组每组都让对方先拿球,自己拿完剩下的。这样你就能拿到第16组的最后一个,即第100个乒乓球。
参考答案:
先拿4个,他拿n个,你拿6-n,依此类推,保证你能得到第100个乒乓球。
试题扩展:
1、假设排列着100个乒乓球,由两个人轮流拿球装入口袋,能拿到第100个乒乓球的人为胜利者。条件是:每次拿球者至少要拿2个,但最多不能超过7个,问:如果你是最先拿球的人,你该拿几个?以后怎么拿就能保证你能得到第100个乒乓球?(先拿1个,他拿n个,你拿9-n,依此类推)2、假设排列着X个乒乓球,由两个人轮流拿球装入口袋,能拿到第X个乒乓球的人为胜利者。条件是:每次拿球者至少要拿Y个,但最多不能超过Z个,问:如果你是最先拿球的人,你该拿几个?以后怎么拿就能保证你能得到第X个乒乓球?(先拿X/(Y+Z)的余数个,他拿n个,你拿(Y+Z)-n,依此类推。当然必须保证X/(Y+Z)的余数不等于0)

5(喝汽水问题)
喝汽水问题
1元钱一瓶汽水,喝完后两个空瓶换一瓶汽水,问:你有20元钱,最多可以喝到几瓶汽水?
解题思路1:
一开始20瓶没有问题,随后的10瓶和5瓶也都没有问题,接着把5瓶分成4瓶和1瓶,前4个空瓶再换2瓶,喝完后2瓶再换1瓶,此时喝完后手头上剩余的空瓶数为2个,把这2个瓶换1瓶继续喝,喝完后把这1个空瓶换1瓶汽水,喝完换来的那瓶再把瓶子还给人家即可,所以最多可以喝的汽水数为:20+10+5+2+1+1+1=40
解题思路2:
先看1元钱最多能喝几瓶汽水。喝1瓶余1个空瓶,借商家1个空瓶,2个瓶换1瓶继续喝,喝完后把这1个空瓶还给商家。即1元钱最多能喝2瓶汽水。20元钱当然最多能喝40瓶汽水。
解题思路3:
两个空瓶换一瓶汽水,可知纯汽水只值5角钱。20元钱当然最多能喝40瓶的纯汽水。N元钱当然最多能喝2N瓶汽水。
参考答案:
40瓶

试题拓展:
1、1元钱一瓶汽水,喝完后两个空瓶换一瓶汽水,问:你有N元钱,最多可以喝到几瓶汽水?(答案2N) 2、9角钱一瓶汽水,喝完后三个空瓶换一瓶汽水,问:你有18元钱,最多可以喝到几瓶汽水?(答案30) 3、1元钱一瓶汽水,喝完后四个空瓶换一瓶汽水,问:你有15元钱,最多可以喝到几瓶汽水?(答案20)
智力题6(分割金条) 分割金条
你让工人为你工作7天,给工人的回报是一根金条。金条平分成相连的7段,你必须在每天结束时给他们一段金条,如果只许你两次把金条弄断,你如何给你的工人付费?
解题思路:
本题实质问题是数字表示问题。由1、2两个数字可表示1-3三个数字。由1、2、4三个数字可表示1-7七个数字(即1,2,1+2,4,4+1,4+2,4+2+1)。由1、2、4、8四个数字可表示1-15十五个数字。依此类推。
参考答案:
把金条分成1/7、2/7和4/7三份。这样,第1天我就可以给他1/7;第2天我给他2/7,让他找回我1/7;第3天我就再给他1/7,加上原先的2/7就是3/7;第4天我给他那块4/7,让他找回那两块1/7和2/7的金条;第5天,再给他1/7;第6天和第2天一样;第7天给他找回的那个1/7。

试题拓展:
1、你让工人为你工作15天,给工人的回报是一根金条。金条平分成相连的15段,你必须在每天结束时给他们一段金条,如果只许你三次把金条弄断,你如何给你的工人付费?(1/15,2/15,4/15,8/15)2、你让工人为你工作31天,给工人的回报是一根金条。金条平分成相连的31段,你必须在每天结束时给他们一段金条,如果只许你四次把金条弄断,你如何给你的工人付费?(1/31,2/31,4/31,8/31,16/31)3、你让工人为你工作(2^n)-1天,给工人的回报是一根金条。金条平分成相连的(2^n)-1段,你必须在每天结束时给他们一段金条,如果只许你n-1次把金条弄断,你如何给你的工人付费?(1/((2^n)-1),2/((2^n)-1),4/((2^n)-1),...)4.人民币为什么只有1、2、5、10的面值?(便于找零钱。理想状态下应是1、2、4、8,在现实生活中常用10进制,故将4、8变为5、10。只要2有两个,1、2、2、5、10五个数字可表示1-20。)

6小明一家过一座桥,过桥时候是黑夜,所以必须有灯。现在小明过桥要1秒,小明的弟弟要3秒,小明的爸爸要6秒,小明的妈妈要8秒,小明的爷爷要12秒。每次此桥最多可过两人,而过桥的速度依过桥最慢者而定,而且灯在点燃后30秒就会熄灭。问小明一家如何过桥?

。但是换个思路,我们根据具体情况来决定谁持灯来去,只要稍稍做些变动即可:第一步,小明与弟弟过桥,小明回来,耗时4秒;第二步,小明与爸爸过河,弟弟回来,耗时9秒;第三步,妈妈与爷爷过河,小明回来,耗时13秒;最后,小明与弟弟过河,耗时4秒,总共耗时30秒。

7 每个飞机只有一个油箱, 飞机之间可以相互加油(注意是相互,没有加油机) 一箱油可供一架飞机绕地球飞半圈, 问题:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场,)
假设地球一圈要耗油量为20,飞一半同时也是飞机携带量为10
让abc三飞机向东(假设了东西两相反方向),飞到八分之一之一时每个飞机都消耗了2.5的油量。abc此时都有7.5 让后c返回 并各注入2.5到其余2飞机上使得ab还是10在飞八分之一 此时离开初始点为四分之一路程。需要5的油量返回,而ab都还有7.5 贡献掉b飞机的2.5,让b回城。此时a孤军作战还有10的满油量 可以使劲飞个2分之一地球 。。。然后同理def三家飞机再来接那剩余的四分之一路程 一路走来按照bc的贡献方法使f接到快挂的a时候有10的油量,此时a和f一起用10的油量跑完剩余的5的路程

abcdef。。。。。六架嘛

⑨ 中国第一位程序员脑筋急转弯

英国着名诗人拜伦的女儿Ada Lovelace曾设计了巴贝奇分析机上解伯努利方程的一个程序。她甚至还建立了循环和子程序的概念。由于她在程序设计上的开创性工作,Ada Lovelace被称为世界上第一位程序员。

⑩ 程序员智力题

1、32

2、1号周二,共30天,30号周三

3、各行、列、对角线和都是15(所有数和的1/3),具体解法很多,自行搜索“九宫格”“数独”

4、画个图表求解很容易,X表示休息,O表示上班(图中的第几天不代表星期几)

剩下的就简单了,因为有一天(周日)三家都不上班,明显只有第二天可以,所以第二天就是周日,而有一天三家都上班,明显只有第七天可以

所以结果是:A休息日,周三、六、日;B休息日周二、四、日;C休息日周一、四、日;周五大家都上班





阅读全文

与带程序员的智力题相关的资料

热点内容
win10原始解压软件 浏览:319
阿里程序员的老家 浏览:258
量子加密银行 浏览:193
命令方块获得指令手机 浏览:499
学习结束感言简短程序员 浏览:398
android关机闹钟实现 浏览:968
鼠标一键打开文件夹设置 浏览:161
程序员看过来我想静静搞笑视频 浏览:370
curlphp爬虫 浏览:874
python按日期循环 浏览:110
php三个等号 浏览:760
培训班出来的程序员解决问题很差 浏览:963
程序员那么可爱25集 浏览:753
服务器地址和ip地址一样不 浏览:664
php中括号定义数组 浏览:602
php打印堆栈 浏览:516
华为adb命令行刷机 浏览:965
人像摄影pdf 浏览:761
解压文件密码怎样重新设置手机 浏览:1002
高考指南pdf 浏览:695