注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

多多的爹

 
 
 

日志

 
 

一道面试题  

2009-08-17 14:47:10|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
最近遇到一个面试题:
列数的规则如下: 1、1、2、3、5、8、13、21、34......  求第30位数是多少, 用递归算法实现。
题目简单,不多说了。接下来的问题则有点意思:如何让算法更高效?
我没想出什么办法,面试人员说,可以弄一个表,把每次计算的结果保存下来。下次则不用计算了。
$#@^%$&^%$#&^%#%$@#%$@我立马晕菜了。
对于这个题目,我有两个想法:
1. 对于用空间换效率的办法,最好不要拿来显摆。因为你首先要清楚什么时候才会用空间换效率。只有当真正的实际使用中,经过科学测试过后发现确确实实某些计算会对整个程序的影响大的时候,才会做优化。并且通常情况下空间换效率也是最后一种办法。仅仅是一个加法级别的并且拿出来面试的题,就希望让人往空间换效率上去想,实在是太勉为其难了。
2. 另外这个题目出得也不好。斐波那契数列是很多人都知道的东西,网上去搜一大把。这个东西的公式已经很明了,也没有其它的规律,因为从算法上,是很难有突破的。并且从软件的实际开发者角度来看,面对这种特殊数据,如果使用次数频繁的话,通常是会直接弄一个表出来查询,而不会搞什么算法。

极度鄙视那个面试我的人。也没有什么技术性的问题,只是问我最近看过什么技术方面的书。怎么回答呢?工作了七八年,就那么一亩三分地的东西,如果还没有搞熟的话,是不是也太弱了点?那哥们接着又说他不是搞c++的,所以不知道如何了解的我能力。你tmd的真是shit啊。你不会问数据结构,不会问设计模式,不会问重构,不会问项目管理啊?这些东西总是相通的吧。



  评论这张
 
阅读(6)| 评论(4)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017