`
iceman1952
  • 浏览: 8381 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类

这不是面试题,这是真事

阅读更多
我有一个文件,一共100列,每个列以 tab 分开,第二列是一个 15位 的整数(此列是乱序的)
文件行数在2亿行之内,文件很大,大约50G左右。现在要求我找出 满足这中条件的行:第二列的整数,在此文件中,出现过2次或2次以上

有啥好办法嘛?
我现在这么搞的:将文件尽量分成小文件(保证同样的数字分到同一个小文件中),使得此文件可以整个load到内存中。然后对内存中的数据使用set看是否曾经重复出现过
根据最后一位的值(0, 1, ..., 9),分成10个child文件。如果某个child文件还大于512M(我JVM内存比512大一点点,可以load整个文件),在根据第二位再分割此child文件,得到 grandchild文件;如果grandchild文件还是大于512M,则根据第三位分割......


缺点:太耗时,以至于不限时,要1个多小时

PS:我将 JVM 最大heap设为 1024M,然后,测试将Long加入到set中,发现,可以创建 1700W个Long对象(Integer对象也是这么多)。到production环境中,我估计heap可以设置到8G,但是,即使这样,也只有1.6亿的Long(或者Integer),所以,肯定还是不能够读入所有的 整数,然后使用set判断哪个曾经出现过2次或2次以上

各位,有好办法嘛?
分享到:
评论

相关推荐

    个人面试题总结(java,数据库,前端).zip

    文件中包含了本人最近在网上总结的面试题,有java面试题,jq面试题,jsp、servlet、ajax面试题,mysql面试题,oracle面试题,redis教案,也有最近时间总结的公司面试题,涉及的层面虽然不是很多,但是应对面试 应该...

    java面试题,java框架面试题

    Java 面试题、Java 框架面试题 Java 面试题是 Java 开发人员面试的必备知识,涵盖了 Java 基础知识、Java 框架、Java 集合框架、Java 多线程、Java 网络编程等方面的知识点。在本文中,我们将对 Java 面试题进行...

    Java常见数据结构面试题(带答案)

    "Java常见数据结构面试题(带答案)" 以下是对Java常见数据结构面试题的知识点总结: 栈和队列 * 栈和队列的共同特点是只允许在端点处插入和删除元素。 * 栈通常采用的两种存储结构是线性存储结构和链表存储结构...

    数据库面试题数据库面试题.

    数据库面试题涵盖了数据库基础知识、数据结构、算法、面向对象编程、软件工程以及特定数据库系统(如Visual FoxPro和SQL)的使用等多个方面。以下是这些题目所涉及的关键知识点的详细解释: 1. **算法的执行效率与...

    php非常变态的面试题

    PHP面试题总结 本文总结了PHP面试中的常见题目,涵盖了优先级、static 变量、类型转换、count 函数、foreach 循环、reference 变量、浮点数概念、ini_set 函数、isset 函数、逻辑判断和赋值操作等多方面的知识点。 ...

    Java后端面试题

    ### Java面试题知识点概览 #### 面向对象概念 1. **super()与this()的区别**: - `super()`用于调用父类的构造方法或父类成员方法。 - `this()`用于调用本类中的其他构造方法。 2. **作用域public, protected, ...

    webgis面试题开源gis

    ### WebGIS面试题知识点解析 #### 1. 国内常用的坐标系 在国内地理信息系统(GIS)领域,常用的坐标系主要包括以下几种: - **北京54坐标系**:基于克拉索夫斯基椭球体,是早期中国大地测量的基础坐标系。 - **西安...

    2022年前react面试题整理收藏(同事面试用的).pdf

    React 面试题整理收藏 React 是一个流行的前端框架,它提供了一个高效、灵活的方式来构建用户界面。React 的核心思想是组件化、虚拟 DOM 和合成事件。React 的虚拟 DOM 机制可以提高应用程序的性能,因为它可以...

    java面试题--真正的企业面试题

    Java面试题涵盖了许多核心概念,对于提升编程技能和准备面试非常有用。以下是对这些题目涉及知识点的详细解析: 1. Java是从C++语言改进重新设计的,因此答案是B。Java程序编译后会产生字节码(Bytecode),而不是...

    嵌入式C语言面试题汇总(超经典).pdf

    我们在找嵌入式方面的工作时,让我们头疼的恐怕就是面试题了,因为我们摸不到企业的命题规律,也不知道该怎样去准备,今天将各大企业的面试题进行汇总,分享给大家,希望可以帮到各位小伙伴。加油哦!

    c++ 各权威公司面试题

    首先,我们来看一个常见的面试题:void test1(),在这个例子中,面试官要求你找出潜在的问题。这里,字符串str1需要11个字节来存储,包括末尾的'\0',但string数组只有10个字节的空间,因此strcpy操作会导致数组越界...

    面试宝典!高级软件测试面试题大放送

    高级软件测试面试题大放送 本文总结了高级软件测试面试题,涵盖了软件测试的多个方面,包括数据类型、哈希算法、哈希冲突、内存管理和垃圾回收机制、拷贝机制、协程机制等。 一、列表和元组的区别 列表是动态的,...

    面试题集锦,java面试题大全

    【Java面试题解析】 1. **Java数据库访问与JDBC** Java中访问数据库主要通过JDBC(Java Database Connectivity)API来实现。JDBC提供了一组接口和类,使得开发者可以编写与数据库无关的代码,从而实现跨平台的...

    flex 面试题flex

    【Flex面试题】Flex面试题主要涵盖Flex的基础概念、开发框架、MVC模式的应用、内存管理、垃圾回收机制、前端性能优化以及与后端通信等多个方面。以下是对这些知识点的详细解析: 1. AS2与AS3的区别: AS2...

    java中级面试题(自己汇总)

    "java中级面试题(自己汇总)" 本文总结了Java中级面试题,涵盖了集合、HashMap、HashSet、HashTable、ConcurrentHashMap、红黑树、Java 8对HashMap的优化、LinkedHashMap、TreeMap、IdentityHashMap等知识点。 ...

    2021最新大厂AI面试题:107题(含答案及解析).pdf

    在阿里AI岗位面试题中,我们看到了对于损失函数和激活函数的考查,这两个概念是深度学习中的基础知识。损失函数衡量模型预测值与真实值之间的差异,常用的损失函数有均方误差(MSE)、交叉熵损失等。而激活函数则是...

    达内内部各软件公司面试题

    在IT行业中,面试是检验求职者...通过这份"企业面试题",你可以针对性地复习这些关键领域,加深对Java技术的理解,并提高面试成功率。记住,理论知识结合实践案例才能真正提升自己的技术水平。祝你在面试中取得佳绩!

    C++面试题点播一

    在准备这类面试题时,面试者需要考虑链表的类型(单链表、双向链表、循环链表),数据是否可以被修改,时间复杂度的要求等。文件强调了编写完整代码的重要性,并且面试中应该尽量与面试官沟通以获取解题的有用信息。...

Global site tag (gtag.js) - Google Analytics