请教一个面试题,据说是太保的。

问题描述

【问题】一台10G内存的服务器如何解析30G的文件,同时把文件里面不同的数据统计出来。

解决方案

解决方案二:
该回复于2013-12-24 21:15:55被版主删除
解决方案三:
缓存到硬盘。
解决方案四:
引用2楼u010684923的回复:

缓存到硬盘。

没拉?
解决方案五:
应该是不一次性载入整个文件吧,一次只读取文件中的一部分读下一部分的时候关闭之前打开的部分。不过具体实现不太清楚
解决方案六:
每次读取固定大小
解决方案七:
引用3楼u011128470的回复:

Quote: 引用2楼u010684923的回复:
缓存到硬盘。

没拉?

还要什么呀,数据都缓存出来了,那你不是想怎么用就怎么用了?还要啥?至于什么把文件里面不同的数据统计出来?这不就是if()esle么?
解决方案八:
类似计算机系统中的虚拟内存,小内存怎么运行大程序。引用:我们都知道,虽然在运行速度上硬盘不如内存,但在容量上内存是无法与硬盘相提并论的。当运行一个程序需要大量数据、占用大量内存时,内存就会被“塞满”,并将那些暂时不用的数据放到硬盘中,而这些数据所占的空间就是虚拟内存
解决方案九:
文件30G,但是30G的文件不会是一下子装载进去的。对于30G的文件分批读,分批分析,内存保存分析结果就行了。最后对分批分析的结果进行统计。
解决方案十:
该回复于2013-12-24 21:15:45被版主删除
解决方案十一:

解决方案十二:

解决方案十三:
该回复于2013-12-24 21:16:11被版主删除
解决方案十四:
该回复于2013-12-24 21:16:25被版主删除
解决方案十五:
不懂,还有这样的面试题?
其他方案:
感觉还是一点一点的读,一点一点的解析
其他方案:
读取文件跟内存没关系,考官可能是想考分块读取文件。byte[]tempbytes=newbyte[1000];while((byteread=in.read(tempbytes))!=-1){System.out.write(tempbytes,0,byteread);}这样可以读取文件

时间: 2024-07-29 22:35:00

请教一个面试题,据说是太保的。的相关文章

请教一个面试题

问题描述 一个碗里有n根面条,每次从碗里拿出面条的两个端点(不一定是同一根面条的两个端点),把端点粘起来,直到没有端点了,问最后碗里环的个数的期望值.这个题目该怎么算??这题目是在这里看到的: 解决方案 解决方案二:[img=http://www.ifeng.com/][/img]解决方案三: 解决方案四:[img=bbbbbbbbbbbbbbbbbbbbbb][/img]解决方案五:这些纠结的面试题下次再给你做直接说我没吃过面条

新手请教一个c的问题,关于指针赋初始值

问题描述 新手请教一个c的问题,关于指针赋初始值 #includeint main(){ char *p=NULL; scanf(""%s""p); printf(""%s""p); return 0;}这段代码我在ios的终端下运行就提示Segmentation fault:11但是不给p赋初值的话..改称char *p;反而好使了..为什么...请教别人说是编译器的问题.能不能稍微详细的说一下为什么.. 解决方案 要先弄清

asp net 三层架构-小白请教一个关于ASP.NET问题。

问题描述 小白请教一个关于ASP.NET问题. 上面的问题是什么情况?我在网上找了下,说是引用对象为空,那么哪个是空的啊,Web.Config我也配置了啊 解决方案 大小写搞错了,还多了一个空格. 解决方案二: 检查配置文件中的节点以及名字. 解决方案三: 检查配置文件有没有,以及配置文件里的ConnectionStrings小节下面有没有key=ConnectionString的项 解决方案四: 看下web.config里面connectionString配置的数据库链接名称对不对,另外你的这

c++-请教一个变量取地址的问题

问题描述 请教一个变量取地址的问题 CBitmap qwe; qwe.LoadBitmapW(IDB_BITMAP1); yy[1].brush.CreatePatternBrush(&qwe); 请问下这段代码中,如果最后面不加&的话编译就通不过,提示不能从CBTMAP转成 CBTMAP*我的理解是,指针都是按地址操作的,而这个是一个值,必须要取其地址才能跟 指针通用,请问这么理解对么 解决方案 指针的问题,,,内存的问题.编译报错报的是类型的错误.其实指针本质上也是在内存里定义一块地方

指针-请教一个顶层CONST和底层CONST的问题

问题描述 请教一个顶层CONST和底层CONST的问题 最近在看C++PRIMER这本书,对于书上所说的这个顶层和底层CONST的问题小弟不是很明白 所以特来这里想请教各位一下, CONST INT CI=42; CONST INT *P2=&CI;//允许改变P2的值,这是一个底层CONST 这句话不是很明白, 为什么能改变P2的值呢?P2不是一个指针常量吗?自身的值是不能 改变的呀,P2指向的对象CI的值也是不能改变的呀,所以等号前面是顶层CONST,后面 是底层CONST我 是这么理解的也

请教一个数据库分组问题

问题描述 请教一个数据库分组问题 我写了这么一个脚本 SELECT da_sp.spdm da_sp.sp da_sp.jldw da_sp.ggxh da_sp.wbdw da_sp.wbbzl da_sp.nbdw da_sp.nbbzl da_sp.cbj da_sp.zhjj da_sp.pddw da_sp.pdxs da_sp.fdyclbj da_sp.zjpsbj xs_jxcrb.spnm sum(xs_jxcrb.cksl) as cksl isnull(c.bqsl0) a

新人请教一个sscanf中的正则表达式的问题

问题描述 新人请教一个sscanf中的正则表达式的问题 比如一串字符我要取其中的数字,df3600sdf365dssdfwef2135fewe@35@#%dsaf54我用""%*[^0-9]%[0-9]""只能取到3600,""%*[^0-9]""也错误..应该怎么取啊 解决方案 正则 直接用 d+ 即可 解决方案二: 这个应该怎么写..求写法

java-小弟想请教一个问题.对于大神们来说很简单

问题描述 小弟想请教一个问题.对于大神们来说很简单 小弟的这个程序很简单 但是对于小弟来说实在是太难了 本来前面的已经实现了,但是算总分的时候第二个人的成绩总是要和第一个成绩相加,这是程序这是运行后的结果就想问问大神怎么做把两个人的总分成绩分开 求大神帮帮忙哈 解决方案 zhongfen[i]=bianliang; 下一行加上 bianliang=0; 解决方案二: 变量 bianliang 在每次输入学生姓名是清零.

请教一个关于java的项目问题

问题描述 请教一个关于java的项目问题 解决方案 类似的http://down.51cto.com/data/2009264http://download.csdn.net/detail/u010777420/5426033 解决方案二: 你自己先试着做呗,你先熟悉Java Web从前台到后端的流程,一块块地实现,自己实现的东西,即使碰到问题,自己解决,收获会很大的. 解决方案三: 这跟我前一段时间写的 差不多, 用 java web, 我博客里有内容分页实现,登录注册,类比的可以写出来这些,