`
liguocai2009
  • 浏览: 31287 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

[转]大数据处理三小题。Can you? ^_^

 
阅读更多





无挑战,不工作之三 - 开发工程师招聘




1:概述题

都知道数据库使用索引能够提高效率,为什么,用自己的理解简单描述。

这道题是后面n多题的基础。


2:实战题

引用
2.1
借了一道据说是腾讯面试的题目,和我当年在某公司商业分析部招聘的题目几乎一样,这道题很有代表性,拿出来说一下。
现在有个文件里有40亿条无重复整型数,为4字节无符号数,或者说,0 到 2的32次方。下面要求你写一个程序,列出所有 0 -2的32次方里,该文件不存在的整数。注意你的系统可用内存是有限的,也许只有1G或2G。如果这40亿条有重复,有什么区别?

 

引用
2.2
一个很典型常见问题,对用户做地区判定,比如新浪首页,百度新闻首页,会根据不同地区用户显示当地的新闻;比如百度,谷歌搜索结果会根据不同用户地区显示不同广告。这个是基于用户ip地址的,ip地址区间是国际组织分配的,非常散列,并不是严谨的顺序, 现在已知有10万段的ip地址对应段。在高并发情况下,如何在用户访问的时候快速返回该用户对应的地区,给出你的方法和要点。注意,效率是考核的关键,如果一秒钟无法实现超过1000次不同ip的查询结果(单台双至强服务器只做该查询的情况下),效率肯定不行的。

 

引用
2.3
又一个典型问题,目前政府有屏蔽词表,每个网站都要遵守,发帖的时候会自动替换屏蔽词;另一个场景是诸如新浪新闻等媒体往往有商业词表,发新闻的时候会自动建立关键词铆接。这个相当于一个简单的基于词典的分词系统,下面的问题就是,如何实现一个快速有效的,基于自定义词典精确匹配的分词系统,一是要满足每
天几万篇,几十万篇文章发布的要求;另一个必须的要求是,当词库倍增扩展时(比如10万词),效率的影响不允许是线性降低的。




如果您愿意接受挑战,与我们一起创业,创造大局面,欢迎将您的答案发送到 caozheng@gmail.com

,谢谢。优秀的答案我会尽可能回复,谢谢。

原文 : http://hi.baidu.com/caoz/blog/item/2902baa153984b86471064fd.html

 

 

分享到:
评论
4 楼 liguocai2009 2011-12-15  
ZeaLoVe 写道
ZeaLoVe 写道
第一题用编程珠玑的位图法轻松搞定。。。

定义一个bool数组 a[] 大小就2的32次方+1,然后全部初始化为0, 0表示数字没出现,1表示数字出现了。然后读入文件,出现数字N就把a[N]=1 重复的情况也差不多。读完文件后,扫描一次a数组就行了,输出里面等于0的数字就是文件中没出现的。
时间复杂度 O(2N)因为文件读入可能会有点慢。空间需要2的32次方/8 byte 大约0.5G

大概这样,不知道我的理解OK不?

关键是40亿个整数到内存就是14G+了?
而且存放结果用了2^32/8*2^30 = 0.5G.
如何利用读取和判断成了关键。

前面有提示,说要用到索引的思想哦。
3 楼 ZeaLoVe 2011-12-08  
ZeaLoVe 写道
第一题用编程珠玑的位图法轻松搞定。。。

定义一个bool数组 a[] 大小就2的32次方+1,然后全部初始化为0, 0表示数字没出现,1表示数字出现了。然后读入文件,出现数字N就把a[N]=1 重复的情况也差不多。读完文件后,扫描一次a数组就行了,输出里面等于0的数字就是文件中没出现的。
时间复杂度 O(2N)因为文件读入可能会有点慢。空间需要2的32次方/8 byte 大约0.5G

大概这样,不知道我的理解OK不?
2 楼 liguocai2009 2011-12-08  
看起来哥挺专业的,有什么好的大数据处理资料介绍一下?我们公司现在处理大量数据的时候老是内存溢出,然后宕机。往往都是一个arrayList放了20万+条数据。。。
1 楼 ZeaLoVe 2011-12-05  
第一题用编程珠玑的位图法轻松搞定。。。

相关推荐

    peakfit数据处理软件

    PeakFit helps you separate overlapping peaks by statistically fitting numerous peak functions to one data set, which can help you find even the most obscure patterns in your data. The background can ...

    mysql中错误:1093-You can’t specify target table for update in FROM clause的解决方法

    发现问题 最近在处理一些数据库中数据的时候,写了下面的这一条sql语句: UPDATE f_student SET school_id = 0 WHERE id > ( SELECT id FROM f_student ...上面的sql是想将某个区间的...[Err] 1093 – You can't sp

    高级java笔试题-My_Note:我的笔记

    高级java笔试题 If you have any questions about My_Note, you can create issues. My Note 技术路线 文章收藏 .NET 程序集 值类型和引用类型 ...历史数据处理 & 集群 & 分布式 SQL Server Oracle Mys

    matlab_GPS基本原理_信号的模拟、捕获、追踪,以及数据的处理,极限的解算,周跳的探测及整周模糊度的接算_GPS原理课件

    GPS信号的模拟、捕获、追踪,以及数据的处理,极限的解算,周跳的探测及整周模糊度的接算。有用的资料与大家共享后才能体现其价值,希望同仁们也能及时共享比较好的资料,大家一同探讨、进步。(ncludes a full set ...

    语言程序设计课后习题答案

    虽然结构化程序设计方法具有很多的优点,但它仍是一种面向过程的程序设计方法,它把数据和处理数据的过程分离为相互独立的实体。当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新...

    Surfer_V9.8.669.0汉化注册版2

    part1和part2的压缩分卷2 ... Virtually all aspects of your maps can be customized to produce exactly the presentation you want. Producing publication quality maps has never been quicker or easier. $699

    Surfer_V9.8.669.0汉化注册版1

    共三个压缩包 ... Virtually all aspects of your maps can be customized to produce exactly the presentation you want. Producing publication quality maps has never been quicker or easier. $699

    内存管理内存管理内存管理

    coder.developer.[designer].ArchitecturE.manager.^_^... posts - 29, comments - 121, trackbacks - 27 My Links Home Contact Login News !!! Article Categories ..OT .Mixed Asp...

    如何形象化地理解“ AI、大模型、GPT ”?

    正如爱因斯坦所言:"If you can ’ t explain it simply, you don ’ t understand it well enough(如果你不能简单地解释,那就说明你理解不够)"。 今天,我尝试把 AI 与人类学习和成长的类比,通过将 AI 与人们...

    matlab导入excel代码-utl_import_data_from_excel_sheet_with_headers_and_foote

    join合并大数据分析宏oracle teradata mysql sas社区stackoverflow statistics人工智慧AI Python R Java Javascript WPS Matlab SPSS Scala Perl CC#Excel MS Access JSON图形映射NLP自然语言处理机器学习igraph ...

    测试培训教材

    This allows you to build a more advanced test set execution flow, in which you can filter tests in a test set during execution, based on the status or type of each test. VAPI-XP is also fully ...

    数据库设计,建模和部署工具BDBPro3.1-setup_EN

    When you apply it to other database platforms, the system will transform the data type and deal with the grammar 当你将它应用于其他数据库平台,该系统将变换的数据类型和处理与语法 differences under ...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    2.4 数据类型 PHP支持整数、浮点数、字符串、数组和对象。变量类型通常不由程序员决定而由PHP运行过程决定(真是好的解脱!)。但是类型也可以被函数cast或者settype()明确的设定。 数值 数值类型可以是整数或是...

    Surfer_V9.8.669.0汉化注册版part3

    共三个压缩包 ... Virtually all aspects of your maps can be customized to produce exactly the presentation you want. Producing publication quality maps has never been quicker or easier. $699

    Android代码-LingoRecord是一款更好的Android刻录机

    LingoRecord is a better recorder for Android, you can easily process pcm data from it. Features 多线程机制保证处理能力和 PCM 数据的完整性。 抽象出 AudioProcessor 来注入 Recorder 中以支持录音和...

    hadoop权威指南 第三版 英文版

    设置java环境变量,写MRUnit测试单元(第五章介绍),还有一些更深入的特性,比如输出的提交,分布式缓存等(第8章),任务内存监控(第9章),第4章新增了通过mapreduce job处理avro 数据,第5章介绍了用oozie运行...

    uboott移植实验手册及技术文档

    实验三 移植U-Boot-1.3.1 实验 【实验目的】 了解 U-Boot-1.3.1 的代码结构,掌握其移植方法。 【实验环境】 1、Ubuntu 7.0.4发行版 2、u-boot-1.3.1 3、FS2410平台 4、交叉编译器 arm-softfloat-linux-gnu-...

    P300,SSVEP脑电信号采集到分析处理教学

    make sure you are properly grounded (you can close after checking) Run python offline_experiment.py (do not click space yet) Run python lsl-record on another tab; it should detect the marker stream ...

    C++MFC教程

    CompareNoCase 不区分大小写比较 MakeUpper 改为小写 MakeLower 改为大写 CStringArray:用来表示可变长度的字符串数组。数组中每一个元素为CString对象的实例。下面介绍几个成员函数: Add 增加CString Remove...

    MyQQ(DosQQ) 超小的精简QQ DEV-C++ 源码

    You can get the latest version of this software (including its source code) at http://home.xxsyzx.com 注意:本软件以及源代码仅供学习研究使用。所用协议皆属个人业余的黑匣分析结果。 Developer List: 小...

Global site tag (gtag.js) - Google Analytics