奇虎面试题

7月20号去北京奇虎面试PHP程序员,笔试题很基础,面试的leader出的算法题很有参考价值:

1. 100万条记录的文本文件,取出重复数最多的前10条。

示例文本:

098
123
234
789
……
234
678
654
123

2. 100亿条记录的文本文件,取出重复数最多的前10条。

刚才是100万的数据,你的计算机可以单批正常处理,现在有100亿的数据,假设由于你的计算机内存、cpu限制,无法单批处理  ……

4 评论

  1. 不是分词,考数据库原理,相当于对一个文本文件,实现如下sql:

    SELECT 字段,COUNT(1)
    FROM TABLE
    GROUP BY 字段
    ORDER BY COUNT(1) DESC
    LIMIT 10

  2. 这个好像是搜索算法,最好是用倒排索引的方法,100万条数据只要分词就好了,要有个字典,这个字典库单台计算机绝对可以排序的。100亿条也是一样的,只要一个料,可以分批分词

发表评论