两道笔试题,大家一起来讨论吧!
再说这两道题目之前,首先允许我发两句牢骚。最近找工作,参加了一些笔试,包括baidu和google的,他们的命题思路很明确,不要求具体语言,只要求程序的效率和可行性,题目大多数是关于海量数据搜索的算法问题,我觉得这个无可非议,人家的实际情况就是要求应聘者具有这样的素质。但是另外一些号称“牛逼”的企业也纷纷效仿,也不管自己企业是做什么的,也不管自己企业招收员工的基本素质要求是什么,就开始东施效颦。比如一家做软件外包的企业,出了一道类似的题目,后来我向在那里工作的师哥打听了一下,在真正的工作中,尤其是外包领域,企业的数据一般达不到那么海量,仅仅考虑如何实现就可以,根本就不用考虑海量数据的情况。Google和baidu这就不用说,人家的数据量在那里摆着呢,可是一个做ERP的,难道真的需要考虑亿以上数量级的情况吗?我看是有点小题大做了。另外对于一个应届毕业生,这么要求是不死有些过分呢?我们在学校怎么可能接触过这方面的实践阿?
废话不讲了,怨天尤人也没用,下面我把遇到的两道题目写出来大家一起想思路吧!
1、有1亿个浮点数,请找出其中对大的10000个。提示:假设每个浮点数占4个字节,1亿个浮点数就要站到相当大的空间,因此不能一次将全部读入内存进行排序。
2、有一篇英文文章(也就是说每个单词之间由空格分隔),请找出“csdn”着个单词出现的次数,要求效率最高,并写出算法的时间级。