【数据挖掘】百度2015大数据云计算研发笔试卷

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 百度2015年大数据云计算研发笔试卷的题目总结,涵盖了Hadoop、Spark、MPI计算框架特点、TCP连接建立过程、数组最大和问题、二分查找实现以及灯泡开关问题,提供了部分题目的解析和伪代码。

来自牛客网,答案是我总结的

1、请简要描述一下Hadoop, Spark, MPI三种计算框架的特点以及分别适用于什么样的场景

(1)Hadoop

特点:Hadoop是离线计算,基于磁盘,每次运算之后的结果需要存储在HDFS里面,下次再用的话,还需要读出来进行一次计算,磁盘IO开销比较大。底层基于HDFS存储文件系统。
适用场景:适用于离线数据处理和不需要多次迭代计算的场景,并且Hadoop只有Map和Reduce两种接口,相对于Spark来说太少了。

(2)Spark

特点:是一种可以基于内存,迭代的计算框架
适用场景:适用于多次迭代的计算模型,诸如各种机器学习算法 ,数据过于繁杂,并且需要让计算通过迭代,并在内存中,极大地提高效率的场景

(3)MPI

特点:是一种基于消息传递的并行计算框架。可以理解为是更原生的一种分布式模型
适用场景:适用各种复杂应用的并行计算。支持MPMD( 多程序多数据) ,开发复杂度高

2、请解释tcp连接建立过程,如果可能,请结合相应系统调用函数解释交互过程

tcp通过三次握手协议来建立连接,客户端A向服务器B主动发送请求连接,服务器B收到请求后,发送一个确认给A,A收到B点确认后,还要向B发送一次确认。这时完成三次握手,A进入连接准备状态,B接收到A的确认后,也进入连接准备状态,客户端与服务器开始传送数据。

3、给定一个整数的数组,相邻的数不能同时选,求从该数组选取若干整数,使得他们的和最大,要求只能使用o(1)的空间复杂度。要求给出伪码。

def maxNum(nums: List[int]) -> int:

res = 0

for i in range(len(nums)):

​ if i>0:

​ res+=i

​ else:

​ i+=1

return res

4、二分查找是常用的编程方法,请用完整代码实现该函数(不许调用库函数)
void *bsearch(const void *key, const void *base, size_t nel, size_t width, int (*compar) (const void *, const void *));

#include<iostream>
using namespace std;

void * bsearch(const void *key, const void *base, size_t nel, size_t width, int (*cmp)(const void *, const void *)){
    void *mid = NULL;
    int sign;
    while (nel > 0) {

        mid = (char *)base + width*(nel/2);
        sign = cmp(key, mid);
        if (sign == 0) return mid;//找到 
        if (nel == 1) break;
        else if (sign < 0)
            nel /= 2;//下取整 
        else {
            base = mid;
            nel -= nel/2;//上取整 
        }

    }
    return NULL;
}

int compare(const void *val1, const void *val2) {
    int iVal1 = *(int*)val1;
    int iVal2 = *(int*)val2;
    if (iVal1 > iVal2) {
        return 1;
    }
    else if (iVal1 == iVal2) {
        return 0;
    }
    return -1;
}
AI 代码解读

5、有编号1~100个灯泡,起初所有的灯都是灭的。有100个同学来按灯泡开关,如果灯是亮的,那么按过开关之后,灯会灭掉。如果灯是灭的,按过开关之后灯会亮。
现在开始按开关。
第1个同学,把所有的灯泡开关都按一次(按开关灯的编号: 1,2,3,…100)。
第2个同学,隔一个灯按一次(按开关灯的编号: 2,4,6,…,100)。
第3个同学,隔两个灯按一次(按开关灯的编号: 3,6,9,…,99)。

问题是,在第100个同学按过之后,有多少盏灯是亮着的?这些灯的编号是多少?要求给出解题思路或给出伪码。

解析:用0 代表 灯灭 1 代表灯亮

用一个[100]×[100]的array数组储存每个人按的状态 index 由1—100 初始值为0

$array[i][j]​代表第i个人按了第j盏灯。最后矩阵的列求和,得到是偶数的则是熄灯状态,奇数的是开灯状态。

结果为,10盏,1,4,9,16,25,36,49,64,81,100

import numpy as np
arr =  np.zeros([101,101])
for i in range(1,101):
    for j in range(1,101):
        if j%i==0:
            arr[i][j] =1 
res = np.sum(arr,axis =0)
for i in range(1,101):
    if res[i]%2!=0:
        print(i)
AI 代码解读
相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
BetterBench
+关注
目录
打赏
0
1
1
0
158
分享
相关文章
你以为大数据只是存?其实真正的“宝藏”藏在这招里——数据挖掘!
你以为大数据只是存?其实真正的“宝藏”藏在这招里——数据挖掘!
53 1
云端智链:挖掘云计算中的大数据潜能
云端智链:挖掘云计算中的大数据潜能
110 21
随着云计算和大数据技术的发展,Hyper-V在虚拟化领域的地位日益凸显
随着云计算和大数据技术的发展,Hyper-V在虚拟化领域的地位日益凸显。作为Windows Server的核心组件,Hyper-V具备卓越的技术性能,支持高可用性、动态迁移等功能,确保虚拟机稳定高效运行。它与Windows深度集成,管理便捷,支持远程管理和自动化部署,降低管理成本。内置防火墙、RBAC等安全功能,提供全方位安全保障。作为内置组件,Hyper-V无需额外购买软件,降低成本。其广泛的生态系统支持和持续增长的市场需求,使其成为企业虚拟化解决方案的首选。
阿里云云计算ACA、大数据ACA、人工智能ACA三门认证升级调整公告
阿里云云计算ACA、大数据ACA、人工智能ACA三门认证升级调整公告
大数据与云计算:无缝结合,开启数据新纪元
大数据与云计算:无缝结合,开启数据新纪元
476 11
物联网、大数据、云计算、人工智能之间的关系
物联网、大数据、云计算、人工智能之间的关系是紧密相连、相互促进的。这四者既有各自独立的技术特征,又能在不同层面上相互融合,共同推动信息技术的发展和应用。
2608 0
云计算与大数据平台的数据库迁移与同步
本文详细介绍了云计算与大数据平台的数据库迁移与同步的核心概念、算法原理、具体操作步骤、数学模型公式、代码实例及未来发展趋势与挑战。涵盖全量与增量迁移、一致性与异步复制等内容,旨在帮助读者全面了解并应对相关技术挑战。
257 3
企业内训|大数据产品运营实战培训-某电信运营商大数据产品研发中心
本课程是TsingtaoAI专为某电信运营商的大数据产品研发中心的产品支撑组设计,旨在深入探讨大数据在电信运营商领域的应用与运营策略。通过密集的培训,从数据的本质与价值出发,系统解析大数据工具和技术的最新进展,深入剖析行业内外的实践案例。课程涵盖如何理解和评估数据、如何有效运用大数据技术、以及如何在不同业务场景中实现数据的价值转化。
160 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问