程序员面试为何会考算法 还有“狼羊白菜过河”的问题

Posted 计算机应用水平考试NIT

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序员面试为何会考算法 还有“狼羊白菜过河”的问题相关的知识,希望对你有一定的参考价值。

如何将梳子卖给和尚?


这是一个营销、广告行业经常拿出来讨论的话题,据说也是面试时,常常抛给面试者的问题,用来考察其创意能力,脑洞够不够大。


各行各业都有这样让人摸不着头脑的面试题,有时候是行业需要,有时候是面试官突发奇想。不过小峰觉得,这些题在程序员的面试题库面前都不算事。因为它们多是属于脑筋急转弯的范畴,也没有标准答案,只要不是太死板,总能给一个还算不错的答案。可程序员面临的可就是一个个实打实的计算题啊。


比如这个经典的狼、羊、白菜过河的问题:


农夫需要把狼、羊、白菜和自己运到河对岸去。条件是只有农夫能够划船,而且船比较小,除农夫之外每次只能运一种东西,并且,如果没有农夫看着,羊会偷吃菜,狼会吃羊。


请问,如何可以让农夫安全地安排这些东西过河?


这可不是一道脑筋急转弯,而是一道严肃的算法题。(知道答案的朋友欢迎在下方留言区留言)。



为什么程序员面试的时候会考算法?


因为除了技术知识的熟练掌握外,拥有缜密的逻辑能力、灵活的解题思路是一种更加难能可贵的能力。这也是不同程序员薪资待遇不同的原因。


能解决问题才是衡量程序员的首要标准。这也就是为什么程序员的面试,在计算机相关技术性问题、程序设计题之外,还有IQ智力题。


以下几道测试题,如果你能都回答正确,面试的时候就直接提五位数以上的月薪吧。


1、两柱香问题


有两柱不均匀的香,每柱香燃烧完需要1个小时,问:怎样用两柱香切出一个15分钟的时间段?


2、三筐苹果问题


有三筐水果,一筐装的全是苹果,第二筐装的全是橘子,第三筐是橘子与苹果混在一起。筐上的标签都是骗人的,(就是说筐上的标签都是错的)你的任务是拿出其中一筐,从里面只拿一只水果,然后正确写出三筐水果的标签。


3、汽车加油问题


一辆载油500升的汽车从A开往1000公里外的B,已知汽车每公里耗油量为1升,A处有无穷多的油,其他任何地点都没有油,但该车可以在任何地点存放油以备中转,问从AB最少需要多少油


4、两个人猜数问题


教授选出两个从29的数,把它们的和告诉学生甲,把它们的积告诉学生乙,让他们轮流猜这两个数, 甲说:我猜不出 乙说:我猜不出 甲说:我猜到了   乙说:我也猜到了 问这两个数是多少?


5、猴子吃香蕉问题


一个小猴子边上有100 根香蕉,它要走过50 米才能到家,每次它最多搬50 根香蕉,每走米就要吃掉一根,请问它最多能把多少根香蕉搬到家里。 




以上是关于程序员面试为何会考算法 还有“狼羊白菜过河”的问题的主要内容,如果未能解决你的问题,请参考以下文章

面试中更多会考核相关技能的项目经验——再论程序员该如何准备面试

程序员面试会考代码么?答案来了。

前端面试绝对会考的JS问题!已经开源

字节的面试题到底有多难?大厂为何都注重算法?我们该如何应对?

月薪上万才会考的 24 道 shell 脚本面试题

干货|大厂程序员来讲一下互联网公司技术面试的流程以及注意事项