程序员面试为何会考算法 还有“狼羊白菜过河”的问题
Posted 计算机应用水平考试NIT
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序员面试为何会考算法 还有“狼羊白菜过河”的问题相关的知识,希望对你有一定的参考价值。
如何将梳子卖给和尚?
这是一个营销、广告行业经常拿出来讨论的话题,据说也是面试时,常常抛给面试者的问题,用来考察其创意能力,脑洞够不够大。
各行各业都有这样让人摸不着头脑的面试题,有时候是行业需要,有时候是面试官突发奇想。不过小峰觉得,这些题在程序员的面试题库面前都不算事。因为它们多是属于脑筋急转弯的范畴,也没有标准答案,只要不是太死板,总能给一个还算不错的答案。可程序员面临的可就是一个个实打实的计算题啊。
比如这个经典的“狼、羊、白菜过河”的问题:
农夫需要把狼、羊、白菜和自己运到河对岸去。条件是只有农夫能够划船,而且船比较小,除农夫之外每次只能运一种东西,并且,如果没有农夫看着,羊会偷吃菜,狼会吃羊。
请问,如何可以让农夫安全地安排这些东西过河?
这可不是一道脑筋急转弯,而是一道严肃的算法题。(知道答案的朋友欢迎在下方留言区留言)。
为什么程序员面试的时候会考算法?
因为除了技术知识的熟练掌握外,拥有缜密的逻辑能力、灵活的解题思路是一种更加难能可贵的能力。这也是不同程序员薪资待遇不同的原因。
能解决问题才是衡量程序员的首要标准。这也就是为什么程序员的面试,在计算机相关技术性问题、程序设计题之外,还有IQ智力题。
以下几道测试题,如果你能都回答正确,面试的时候就直接提五位数以上的月薪吧。
1、两柱香问题
有两柱不均匀的香,每柱香燃烧完需要1个小时,问:怎样用两柱香切出一个15分钟的时间段?
2、三筐苹果问题
有三筐水果,一筐装的全是苹果,第二筐装的全是橘子,第三筐是橘子与苹果混在一起。筐上的标签都是骗人的,(就是说筐上的标签都是错的)你的任务是拿出其中一筐,从里面只拿一只水果,然后正确写出三筐水果的标签。
3、汽车加油问题
一辆载油500升的汽车从A开往1000公里外的B,已知汽车每公里耗油量为1升,A处有无穷多的油,其他任何地点都没有油,但该车可以在任何地点存放油以备中转,问从A到B最少需要多少油
4、两个人猜数问题
教授选出两个从2到9的数,把它们的和告诉学生甲,把它们的积告诉学生乙,让他们轮流猜这两个数, 甲说:“我猜不出”, 乙说:“我猜不出”, 甲说:“我猜到了”, 乙说:“我也猜到了”, 问这两个数是多少?
5、猴子吃香蕉问题
一个小猴子边上有100 根香蕉,它要走过50 米才能到家,每次它最多搬50 根香蕉,每走1 米就要吃掉一根,请问它最多能把多少根香蕉搬到家里。
以上是关于程序员面试为何会考算法 还有“狼羊白菜过河”的问题的主要内容,如果未能解决你的问题,请参考以下文章
面试中更多会考核相关技能的项目经验——再论程序员该如何准备面试