• 大数据常见面试算法题复习


      

    1、海量日志数据,提取出某日访问百度次数最多的那个IP。

    解:ip个数是4个0到256的数字来表示.所以他是2^32个.

    扫描一下日志:直接把所有第一个数字是n的放到一个文件n里面.这样我们有256个文件了.

    对每一个小文件,他里面找到访问百度次数最多的ip(可以字典计数).然后得到256个ip.在256个ip里面找最大的.整体效率O(N)

    2.假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个。一个查询串的重复度越高,说明查询它的用户越多,也就是越热门。),请你统计最热门的10个查询串,要求使用的内存不能超过1G。

    解:用长度为10的小根堆(给一个字符串他的频率如果他比栈顶大就插入堆,否则就舍弃)和trie树.把字符串记录都给trie树,然后对应的value是出现的次数.

    (也就是扫描到已经有的就加上去).这个结构搜索速度快.建立结构的同时维护一个长度为10的小根堆即可(每修改一个记录或者加入一个记录就更新一下小根堆).最后弹出小根堆结果即可.

    3、在2.5亿个整数中找出不重复的整数,注,内存不足以容纳这2.5亿个整数。

    经典bitmap题目.bitmap去重最快.

  • 相关阅读:
    Hadoop 2.5.1集群安装配置
    Hadoop 2.5.1编译
    CloudStack安装
    Swift安装
    频率分布折线图与总体密度曲线
    频率直方图(hist)
    分位数(quantile)
    茎叶图(stem)
    盒图(boxplot)
    R语言学习
  • 原文地址:https://www.cnblogs.com/zhangbo2008/p/9228550.html
Copyright © 2020-2023  润新知