计算机基础知识面试

问:你会hadoop吗?

答:会一点点,有了上次教训,不敢声称自己会

问:那你给我说说mapreduce

答:我说这是分布式处理,举了个例子,讲的很浅显

问:其实mapreduce大概就这个思想吧,你说的过于简单了,实际上处理还是很复杂的

答:是的,我还只懂些皮毛

MapReduce:通常来讲,我们的笔记本电脑可以同时干很多事儿,比如听音乐,编辑Word文档,下载电影,这些都可以同时进行,为什么呢?因为这些程序任务所处理的数据量规模小。而对于大规模的数据处理任务来说,就不是一台电脑同时做许多任务了,而是许多电脑同时做一件任务的逻辑关系。假如你写了一个程序,然后让你的电脑来跑一个比较大的数据量(例如把百度百科上所有的词条分析一遍…),那么你的电脑需要很长很长的时间来做这件事…大多数情况下,数据还没跑完,你的电脑就被累死了(死机…)。那么怎么办?就有人考虑到了用许多台电脑来同时完成这个任务。这就引入了并行计算的概念。

许多电脑同时做一件复杂的任务,涉及很多问题:比如,这个任务首先要分解成许多子任务,然后这些小任务要在这些电脑上面去分配,然后这些电脑完成了任务之后反馈的结果还要汇总,同时还要考虑如果这些电脑的故障异常等问题怎么去解决…MapReduce就是这样的一个编程模型
这些PC机器分为三类,第一类称为Master,Master是负责调度的,相当于工地的工头。第二类叫Worker,相当于干活儿的工人。Woker进一步分为两种,一种Worker叫Mapper,另一种叫Reducer。假设我们有一个巨大的数据集,里面有海量规模的元素,元素的个数为M,每个元素都需要进行同一个函数处理。于是Master将M分成许多小份,然后每一份分给一个Mapper来做,Mapper干完活儿(执行完函数),将自己那一份儿活儿的结果传给Reducer。Reducer之后统计汇总各个Mapper传过来的结果,得到最后的任务的答案。

那你平时用python语言,都比较常用哪些包啊

OpenCV,numpy,scipy,pandas,tensorflow,sklearn。。。

 冒泡排序、快速排序、归并排序。还有排序的时间复杂度 空间复杂度

 冒泡排序、快速排序、归并排序
 



 
 



 

posted on 2018-06-19 16:39  Aaron12  阅读(200)  评论(0编辑  收藏  举报

导航