0 0

一道面试题,求解10

可能很多人遇到过类似的题目
大概意思是10G的log文件,里面是采用键值对方式存储的
每一行类似 ID(长度固定的GUID):一串字符串(长度不等的日志内容)的形式

现在处理这个log,要按ID,把重复ID的字符串用;拼接到一起

比如类似
A:"ooxx"
A:"xxoo"
B:"oo"
C:"xx"
转换成
A:"ooxx,xxoo"
B:"oo"
C:"xx"
不能使用数据库,有什么比较好的方案

我想了两个方案:
1:文件逐行读取,得到类似 ID:行数的数据结构,然后在内存里处理成ID:[行数,行数]这样
再根据这个处理结果去读取文件,获得需要的结果
为了提高查询特定行内容的处理效率,可以把这个大文件按行数先切割成诸多小文件

2:文件逐行读取,得到ID:顺序号这样的一个数据结构
读取一行后,检查硬盘上是否已经创建了ID对应的顺序号.txt,没有就创建ID:内容,有了那就在这个顺序号.txt里追加log的内容,每满1000个号的txt,就新建一个文件夹(因为每个文件夹内的文件数量会影响读取效率),最后可能就是数百或者上千个文件夹里面,每个都存在1000个txt
文件读取完成后,将这样顺序号.txt的内容合并起来,即可

大家有什么比较好的方案提一下

2011年4月25日 11:31

3个答案 按时间排序 按投票排序

0 0

你是面试游戏公司的吧, 不是不用数据库 是不用关系型数据库
键值对是游戏经常采用的一种存储方式,其速度快。

2011年5月07日 15:33
0 0

按ID号切小文件,切成比如100个,保证相同ID的记录在同一个文件中,然后按楼上的说法并行处理即可。

2011年4月25日 14:45
0 0

hadoop

2011年4月25日 11:31

相关推荐

    一道月工资三万的面试题

    根据给定的信息,我们可以推断出这是一道与算法相关的面试题目。虽然提供的部分内容看起来较为混乱,但结合标题、描述及标签,我们可以尝试解析并构建一个相对完整的算法问题。 ### 题目背景 一家知名公司在招聘...

    一道微软面试题

    根据给定的信息,我们可以推断出这是一道与算法相关的微软面试题目,主要涉及的是如何在1到100000的范围内寻找一个缺失的数字。从标题和描述来看,这个问题旨在测试应聘者的逻辑思维能力和解决问题的能力。下面将...

    考试类精品--一道面试题的思考 - 6000万数据包和300万数据包在50M内存使用环境中求交集.zip

    在IT领域,尤其是在数据处理和算法设计中,面试题经常涉及到如何高效地处理大规模数据。本题目的核心是探讨在有限内存环境下,如何求解两个大数据集合的交集。这里我们有6000万数据包(假设为数据集A)和300万数据包...

    微软面试100题

    面试题1:水杯与玻璃杯的区别 在软件开发中,“水杯”与“玻璃杯”的类比,可以引申为抽象类与具体类的关系。抽象类定义了类的基本属性和方法,但不能实例化,而具体类则继承自抽象类,实现了抽象类中定义的所有...

    算法经典面试题

    算法经典面试题是IT面试中常见的部分,涉及到的数据结构和算法知识广泛,涵盖字符串处理、哈希表、排序、查找、动态规划等多个方面。以下是对这些面试题的详细解释: 1. **时针分针重合问题**: 这是一道关于时间...

    Google经典面试21题

    根据给定的信息,我们可以将这些经典的Google面试题分解为几个主要的知识点进行详细的解析: ### 1. 解密等式问题 **知识点:** - 数学逻辑与代数方程求解 - 字符串处理与算法设计 **解析:** 这道题目要求解一个...

    面试题大全1

    ### 面试题大全1知识点解析 #### 一、重要知识点概述 本文档汇集了一系列面试题目,涵盖了逻辑推理、数学计算、情景分析等多个方面。通过这些题目,可以帮助求职者了解企业在招聘过程中关注的能力与素质,并提供...

    google面试题 面试

    对于形如 T(n) = aT(n/b) + f(n) 的递归公式,如果 a > 1 且 b > 1,可以使用主定理来求解。主定理分为三种情况: 1. 如果 f(n) = O(n^c),且 c (a),则时间复杂度为 O(n^log_b(a))。 2. 如果 f(n) = Θ(n^log_b(a))...

    微软亚洲研究院经典面试题

    下面我们将逐一探讨这些经典面试题所涉及的知识点。 1. **Task Manager.pdf**:这可能涉及到操作系统中的任务管理,包括进程管理和资源调度。理解进程的状态转换、调度策略(如FCFS、SJF、优先级调度、多级反馈队列...

    2018年程序员考试面试题精选题.pdf,这是一份不错的文件

    这份2018年的程序员考试面试题精选题主要考察了面试者在限制条件下解决计算问题的能力,特别是如何在不使用常见的编程控制结构如循环、条件判断等的情况下求解数学问题。其中一道题目要求求解1到n的和,但禁止使用乘...

    IBM面试智力题IBM面试智力题IBM面试智力题

    第三十二题中出现的函数F(n),这可能是一道关于函数定义和逻辑运算的问题,旨在测试考生对于函数表达式和逻辑运算符的理解,以及如何运用这些知识求解特定函数的值。 #### 33. 素数与数论 第三十三题要求计算“前七...

    java的2道算法题,笔试面试题

    这是一道经典的数组处理问题,可以采用双指针法解决。首先,将两个数组合并为一个有序序列,然后用两个指针分别从头开始遍历,若当前指针指向的元素相等,则为交集元素,同时将指针向后移动;若第一个数组的元素小于...

    曾经遇到的一个c语言面试题

    这是一道经典的C语言面试题,主要考查应聘者对位运算的理解和掌握程度,以及优化算法效率的能力。以下是对这道题目的详细解析和相关知识点说明: 1. 位运算基础 位运算是一种对数据的二进制位进行操作的运算。在...

    微软面试题 连续相加等于500

    这是一道来自微软的面试题,题目要求找出能够连续相加等于500的所有整数序列,并使用C#语言实现。 ### 二、核心算法解析 #### 1. 算法思路 题目中的代码实现了一个算法来寻找所有可能的连续整数序列,使得这些整数...

    前端大厂最新面试题-sqrt.docx

    标题中的“前端大厂最新面试题-sqrt.docx”表明这是一道与前端开发相关的面试题目,主要涉及计算平方根的算法实现。描述中的“sqrt”是平方根的英文缩写,暗示我们需要讨论如何在不使用数学库的情况下计算一个数的...

    六年级小升初面试题3PPT教案学习.pptx

    2. **逻辑推理**:第10题是一道逻辑推理题,需要根据已知条件排除法确定甲的姓氏,体现了逻辑思维和信息关联的能力。 3. **数论与规律**:第5题是关于数字的倍数性质,找出满足9的倍数特征的数。第6题考查的是同余...

    IBM面试题-智力方面的

    ### IBM面试题——智力方面解析 #### 题目背景 IBM是一家历史悠久的全球信息技术公司,成立于1914年,目前在全球范围内拥有超过35万名员工,业务遍及150多个国家和地区。作为一家世界领先的科技企业,IBM在招聘...

    22道最常见的数据结构算法面试题

    以上是对给定文件中部分数据结构与算法面试题的解析。这些题目不仅考察了应聘者对数据结构的基本理解和掌握程度,还涉及到了实际编程能力以及解决问题的能力。在准备面试时,建议深入理解每一道题目的解题思路和实现...

    中外名企面试笔试智力题大搜罗

    - "土人祭司问题"和"IBM 面试题:三个女儿的年龄"都是经典的逻辑悖论,要求在有限的信息中寻找唯一正确的答案,体现了逻辑推理和语言理解的重要性。 - "IBM 公司面试题:病狗问题"需要通过逻辑推理和集体行为分析...

Global site tag (gtag.js) - Google Analytics