自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 hadoop中的分布式缓存——DistributedCache

分布式缓存一个最重要的应用就是在进行join操作的时候,如果一个表很大,另一个表很小很小,我们就可以将这个小表进行广播处理,即每个计算节点上都存一份,然后进行map端的连接操作,经过我的实验验证,这种情况下处理效率大大高于一般的reduce端join,广播处理就运用到了分布式缓存的技术。DistributedCache将拷贝缓存的文件到Slave节点在任何Job在节点上执行之前,文件在每个Jo

2012-07-12 17:49:33 7728 1

转载 百度的一期笔试题

题目和解答转自百科中的一篇文章,但是具体答案以及给分标准是否权威,不得而知,答案和下面我的分析仅供参考,出现任何后果金子概不负责哦。第一题 简答(30分)1. 请写出C++ STL中vector的相关问题。(20分)(1)在调用成员函数push_back时,其内部的内存分配是如何进行的。(5分)(2)调用成员函数clear时,内部是如何具体实现的,如果想将其内存释放

2012-07-04 10:56:04 1103

原创 百度的一道有关随机数按照指定频率输出的题

输入:N(整数)输入:数据文件A.txt,不超过6条记录,字符串长度不超过15个字节文件格式如下:字符串\t数字\n说明:每行为1条记录;字符串中不含有\t。数字描述的是该字符串的出现概率,小于等于100的整数。多条记录的出现概率之和为100,如果A.txt不满足该条件,程序则退出;如果文件格式错误,程序也退出。要求:编写一个程序,输入为N(正整

2012-06-30 20:38:14 1232

原创 Hadoop-采样器-多输入路径-只采一个文件-(MultipleInputs+getsample(conf.getInputFormat)

之前弄采样器,以为已经结束了工作,结果现在又遇到了问题,因为我的输入有两个文件,设计要求是先只采样其中的大文件(未来是两个文件分别采样的),只有一个输入文件且采样时,使用采样器的代码是:Path input = new Path(args[0].toString());input = input.makeQualified(input.getFileSystem(conf));Input

2012-06-27 15:01:52 4544 2

原创 Hadoop 中的采样器-附主要使用源码

由于最近在研究Hadoop中采样的问题,搞的头很大,今天慢慢有些头绪了。先记录点采样器的问题吧。Hadoop已经内置的若干个采样器, InputSampler 类实现了Sampler接口,该接口的唯一成员方法是getsampler,返回一系列样本键。这个接口通常不直接由客户端调用,二十由InputSampler类的静态方法writePartitionFile()调用,目的是创建一个顺序文件

2012-06-22 22:59:31 4926 1

转载 拥塞控制和流量控制的区别

拥塞控制网络拥塞现象是指到达通信子网中某一部分的分组数量过多,使得该部分网络来不及处理,以致引起这部分乃至整个网络性能下降的现象,严重时甚至会导致网络通信业务陷入停顿,即出现死锁现象。拥塞控制是处理网络拥塞现象的一种机制。流量控制数据的传送与接收过程当中很可能出现收方来不及接收的情况,这时就需要对发方进行控制,以免数据丢失。            流量控制机制:流量控制

2012-08-14 09:09:16 15351

转载 Hadoop中两表JOIN的处理方法

原帖地址:董的博客Dong的这篇博客我觉得把原理写的很详细,同时介绍了一些优化办法,利用二次排序或者布隆过滤器,但在之前实践中我并没有在join中用二者来优化,因为我不是作join优化的,而是做单纯的倾斜处理,做join优化或者查询优化时,上述二者是最基本的优化办法了。1. 概述在传统数据库(如:MYSQL)中,JOIN操作是非常常见且非常耗时的。而在HADOOP中进行JO

2012-08-11 11:04:10 3699

转载 腾讯2012实习生西安地区笔试题

话说腾讯的笔试题和百度笔试题不太一样,腾讯的有很多技术的题,还有一些组合数学的问题,组合数学的题我怕自己弄错,就用二维数组穷举求解的,浪费了很多时间,最后的加试题的那个其实很easy,只不过当时没有时间了,对于当时的我来说很久没有看技术的细节东西了,备受打击。百度的题完全是从思维、设计的角度出发,技术题只有一个就是c语言和c++里面动态分配内存的区别,还好我记得。其实对我自己满有信息了,毕竟偏思维

2012-07-25 16:26:27 7971 4

转载 异常处理——菜鸟的Python笔记

点击打开原帖地址为什么使用异常错误处理、事件通知、特殊情况处理、退出时的行为、不正常的程序流程。简单的示例在没有任何定义x变量的时候:print xprint 1将会抛出NameError异常:NameError: name 'x' is not defined而且1并不会被输出,也就是说程序将被中断。如果讲代码修改如下:try:

2012-07-25 15:55:30 639

原创 python的两道练习题

这两个都是刚学python的时候写的程序,现在挖出来让别人看看,我的程序里面c的痕迹太重了,尤其第一个1.平衡点问题平衡点:比如int[] numbers = {1,3,5,7,8,25,4,20}; 25前面的总和为24,25后面的总和也是24,25这个点就是平衡点;假如一个数组中的元素,其前面的部分等于后面的部分,那么这个点的位序就是平衡点要求:返回任何一个平衡点金

2012-07-24 22:01:13 984 1

原创 100层楼和两个玻璃球的问题

有一栋100层高的大楼,给你两个完全相同的玻璃球。假设从某一层开始,丢下玻璃球会摔碎。那么怎么利用手中的两个球,用什么最优策略知道这个临界的层是第几层???2012年腾讯实习生笔试的时候,有一个智力题跟这个一样,只不过就是描述不一样而已。我记得大概是这样:1到100之间有一个数字,一个人猜,另外一个人给一些辅助信息,如果这个人猜的数比指定的数小,则会告诉他小了,如果比指定的数大了,则会告诉

2012-07-14 21:45:57 30842 4

转载 求无序数组的中位数

转自:http://blog.csdn.net/zdl1016/article/details/4676882中位数即是排过序后的处于数组最中间的元素。 不考虑数组长度为偶数的情况。设集合元素个数为n。简单的想了下:思路1)(这个方法不行,因为面试时真正要求是不排序)            把无序数组排好序,取出中间的元素            时间复杂度 采用普通的比较排

2012-07-12 21:43:58 3739 1

原创 Hadoop中的各种排序

本篇博客是金子在学习hadoop过程中的笔记的整理,不论看别人写的怎么好,还是自己边学边做笔记最好了。1:shuffle阶段的排序(部分排序)shuffle阶段的排序可以理解成两部分,一个是对spill进行分区时,由于一个分区包含多个key值,所以要对分区内的按照key进行排序,即key值相同的一串存放在一起,这样一个partition内按照key值整体有序了。第二部分并不是排

2012-07-12 16:18:09 17544

原创 面试题存储

1、python实现,如何判断今年是否为闰年判断一年是否为闰年的方法:判断闰年条件,满足年份模400为0,或者模4为0但模100不为0. 假设一台处理机一个时刻只允许加工一个任务,一个任务必须连续加工完成。给定任务集合T={T1,T2,…,Tn},任务之间无先后关系。所有任务加工的 最早起始时间为r1=

2012-07-10 21:06:44 2206

原创 某一游戏中有一把武器有1到9个等级,每次升级成功的概率为30%,失败的概率为70%,成功升1级,失败降1级,降到一级不能再降,升到9级不能再升,问1000次内升到9级的概率。

这是腾讯官方微博出题,半小时写出程序可当初级程序员:某一游戏中有一把武器有1到9个等级,每次升级成功的概率为30%,失败的概率为70%,成功升1级,失败降1级,降到一级不能再降,升到9级不能再升,问1000次内升到9级的概率。这个题目我大概在半个小时的时候写出了数学的函数表达式,因为读懂题目就花了很久。,但是经过仔细思考我已经有了思路,这是一道典型的动态规划的题目。问题的解要综合考虑子问题

2012-07-07 11:23:26 9444

原创 STL-顺序容器学习:list

首先要了解list和vector的区别?答:vector的实现是连续线性空间,list则不是,所以list每次插入或者删除一个元素,就配置或释放一个元素空间, 即O(1)。       list 的插入和接合(splice)操作都不会造成原有的list迭代器失效,而在vector中则不成立,因为vector的插入操作可能造成记忆体重新配置,导致原有的迭代器全部失效而list本身

2012-07-06 17:51:50 671

原创 STL-学习笔记:关联容器

set:所有元素都会根据元素的键值自动被排序不能通过set的迭代器改变set的元素值。map:所有元素都会根据元素的键值自动被排序,map的所有元素都是pair,同时拥有key 和 value.map 不允许两个元素拥有相同的键值。注意:不能通过map的迭代器改变map的元素键值,因为键值涉及到map元素的排序规则,任意改变map元素键值将会严重破坏map组织,修改value则是可

2012-07-06 17:06:20 488

原创 STL-学习笔记:顺序容器之deque

vector 和 deque的区别?1、vector是单向开口的连续线性空间,deque是一种双向开口的连续线性空间。2、deque 允许常数时间内对头端进行元素的插入和删除操作。而vector在头端操作效率超级差。3、deque没有容量观念。因为deque是动态地分段连续空间组合而成,随时可以增加一段新的空间并链接起来。deque迭代器:并不是普通指针.deq

2012-07-06 15:38:00 609

原创 随机数问题——基础知识必备

C++标准模板库规范每次插入操作都在O(log m)时间内完成,而遍历集合则需要O(m)时间,所以每次查找并插入一个元素的时间是O(mlog m).一些随机数的库函数:(以下来自百度百科)C库函数 rand():rand()函数是产生随机数的一个随机函数。C语言里还有srand()函数等。  (1)使用该函数首先应在开头包含头文件stdlib.h  #include  (2)在

2012-07-06 15:15:04 1778

原创 STL学习:顺序容器-vector

顺序容器,首先要求元素都是可以排序的,但是容器中的元素未必有序。STL 提供 vector , list, deque, stack ,queue,priority-queue.vector 于array 的区别?答:array是静态空间,一旦配置了就不恩嗯改变,vector 是动态空间,随着元素的加入,它的内部机制会自行扩充空间以容纳新元素。1) vector 的迭代器是普通指针:

2012-07-02 22:01:21 767

原创 优先级队列+堆

优先级队列 是不同于先进先出队列的另一种队列。每次从队列中取出的是具有最高优先权的元素。优先队列是0个或多个元素的集合,每个元素都有一个优先权或值,对优先队列执行的操作有:  Create ( ):创建一个空的优先队列  Size ( ):返回队列中的元素数目  Max ( ):返回具有最大优先权的元素  I n s e rt (x):将x插入队列

2012-07-02 16:19:13 538

原创 快速排序-void qsort ( int a[], int n)

#includeusing namespace std;void qsort(int a[],int n){ if(n<=0) //n=0,表示只有一个元素,不用排序了 return ; int *p=a,*q=a+n; int t=*p;//哨兵 while(p<q) {

2012-06-28 11:57:51 2217

原创 二维子数组之和的最大值

本题目是从一维的扩展过来的,题目:有一个二维M*N的二维数组,求连续的一片子数组(即组成了矩形)之和的最大值。思路一:这么题目最简单的方法都是利用穷举法,设矩阵的四个边界为i_min,i_max(上下边界),j_min,j_max(左右边界)。可以利用四层for循环来穷举子数组的边界值,时间复杂度为(M^2 * N^2),这还不算上求矩形的和。思路二: O(M^2 * N^2)的方法

2012-06-28 10:08:08 2716 2

原创 微软100题-求连续子数组之和的最大值+题目变形

求连续子数组之和的最大值:这个题很早前我就研究过了,百度实习面试的时候问了我一道类似的题目,就是给定两个数组和一个数,在两个数组中各取一个数,使其和为输入的值,也是该题目的一种变形,我上来就给出了一个最优的算法。然后计算时间复杂度,接着就被问的更难了,三个数组。。。  OMG,然后我就晕了,应该先说一个O(n^3)的实现的。然后再优化,但目前我还没有想到合适的优化办法。以上题目如果有什

2012-06-25 16:17:08 3328 2

转载 1000桶酒中含两桶毒酒问题

链接毒酒问题中给出如下问题:国王为10天后的生日宴会准备了1000桶酒,不幸的是,其中两桶被下了毒。为了确定两桶毒酒,有人提议用死刑犯试毒。毒的潜伏期为10天。 问:至少需要多少个死刑犯才能确保找出毒酒?方案如何实行? 这个题目看上去是1000桶酒中含一桶毒酒问题的简单扩展,但是实际上难度远远大于一桶毒酒问题的情况. 利用信息论容易得出至少需要19个死囚

2012-06-25 11:43:21 7302

原创 微软100题-求数组中的逆序对

求数组中的逆序对的个数:在数组a中如果a[i]>a[j].且i称为一个逆序数对,例如数组是7,5 ,6 ,4 则逆序对共有 7,5   7,6  7,4   5,4   6,4  五个逆序对,刚开始的时候没有思路,看了看解答之后发现,还是采用分治的思想,类似于用归并算法实现,空间复杂度为n,需要一个额外的数组来存储,时间复杂度为log2n(2是下标了,懒得打公式了)。具体的图解可看一下何海涛里

2012-06-25 11:27:23 1142

翻译 《编程珠玑》-第二章:寻找兄弟单词+电话簿功能 算法研究

寻找兄弟单词:这是我百度实习笔试的时候一道题目,面试的时候在HR的房间看到了我的试卷,发现这题我只得了两分。。。这两分还是因为我想到了用树结构,不过只是简单的26叉字典树。。。。 当时想到应该没有这么简单,可是时间紧迫阿。题目是这样的:兄弟单词(在《编程珠玑》一书中称为换位词),就是只使用项目的字母,不同的组合构成不同的单词deposit,dopiest,posited,topside就是一组

2012-06-23 11:07:43 1524

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除