爱奇艺2018秋季校招hadoop工程师(第二场)

题目

一、单选题

1、有个exam任务,打算采用linux crontab,每10分钟运行一次,下面哪项正确?()

A、*/10 * * * * exam

B、10/* * * * * exam

C、* * */10 * * exam

D、* */10 * * * exam

2、现有/root/testfile文件,需要对该文件做一个file的软连接,下面正确的做法是()

A、ln -s /root/testfile file

B、ln /root/testfile file

C、ln -s file /root/testfile

D、ln file /root/testfile

3、以下关于Hadoop说法正确的是:()

A、Hadoop支持数据的随机读写

B、因为HDFS中采用了备份的机制, 所以不存在单点故障

C、Hadoop默认调度器策略为FIFO

D、NameNode负责管理metadata,client端每次读写请求, NameNode都需要从磁盘中读取或者写入metadata信息。

4、以下函数调用会选择哪个重载函数()

func(1,2);

A、int func(int a)

B、int func(int a, char b);

C、int func(int a, float b);

D、int func(int a, char *b);

5、以下哪个方法不是用于模型选择的()

func(1,2);

A、交叉验证

B、AIC

C、BIC

D、维特比算法

6、关于以下目标函数说法错误的是( )

A、当λ为无穷大的时候, f(x)为线性函数

B、当λ为0, 则f(x)为任意能完全拟合样本点的函数

C、对于一般的λ而言,存在最优解,最优解为自然三次样条曲线(natural cubic spline)

D、对于一般的λ而言, 存在最优解, f(x)为线性函数

7、Linux下哪个命令可以用于判断host1主机是否能够访问host2主机的端口( )

A、ping

B、ifconfig

C、telnet

D、netstat

8、以下关于操作系统,说法错误的是( )

A、用管程实现进程同步时,管程中的过程是不可中断的

B、多道程序的执行失去了封闭性和再现性,因此多道程序系统不需要封闭性和再现性

C、使用SPOOLING技术可以实现虚拟设备

D、当 CPU 处于管态时,它可以执行计算机系统中的全部指令

9、有一个算法的递推关系式为:T(n) = 9 T(n / 3) + n,则该算法的时间复杂度为( )

A、O(n^3)

B、O(nlogn)

C、O(n)

D、O(n^2)

10、由下面5个点:1,1,2,3,5构成的哈夫曼树的带权路径长度为( )

A、23

B、24

C、25

D、26

二、编程题

1、牛牛和羊羊都很喜欢青草。今天他们决定玩青草游戏。

最初有一个装有n份青草的箱子,牛牛和羊羊依次进行,牛牛先开始。在每个回合中,每个玩家必须吃一些箱子中的青草,所吃的青草份数必须是4的x次幂,比如1,4,16,64等等。不能在箱子中吃到有效份数青草的玩家落败。假定牛牛和羊羊都是按照最佳方法进行游戏,请输出胜利者的名字。

2、牛牛和羊羊非常无聊.他们有n + m个共同朋友,他们中有n个是无聊的,m个是不无聊的。每个小时牛牛和羊羊随机选择两个不同的朋友A和B.(如果存在多种可能的pair(A, B),任意一个被选到的概率相同。),然后牛牛会和朋友A进行交谈,羊羊会和朋友B进行交谈。在交谈之后,如果被选择的朋友之前不是无聊会变得无聊。现在你需要计算让所有朋友变得无聊所需要的时间的期望值。

3、牛牛得到一个长度为n的整数序列V,牛牛定义一段连续子序列的幸运值为这段子序列中最大值和次大值的异或值(次大值是严格的次大)。牛牛现在需要求出序列V的所有连续子序列中幸运值最大是多少。请你帮帮牛牛吧。

三、简答题

1、Hadoop的两大核心组成部分是什么?简要说明两大核心的体系结构?

参考答案

一、单选题

1~5:AACBD

6~10:DCBDC

二、编程题

1、

#include<stdio.h>
int dp[10],n,x,i,j;
int main(){
   for(i=1;i<10;i++){
       int flag=0;
       for(j=1;j<=i;j*=4)
           if(dp[i-j]==0) flag=1;
       dp[i]=flag;
   }
   for(scanf("%d",&n),i=0;i<n;i++)
       scanf("%d",&x),printf("%s\n",dp[x%10]?"niu":"yang");
}

2、

#include<stdio.h>
#include<algorithm>
using namespace std;
int main(){
   int n,i,x,a[100];
   long long res=1,mod=1000000007;
   for(scanf("%d",&n),i=0;i<n;i++) scanf("%d",a+i);
   for(sort(a,a+n),i=0;i<n;i++) res=res%mod*(a[i]-i)%mod;
   printf("%lld",res);
}


3、

#include<stdio.h>
#include<stack>
#include<algorithm>
using namespace std;
int main(){
    int n,i,res=0,x;
    stack<int> s;
    for(scanf("%d",&n),i=0;i<n;i++){
        scanf("%d",&x);
        while(s.size()&&s.top()<=x)
            res=max(res,x^s.top()),s.pop();
        if(s.size()) res=max(res,x^s.top());
        s.push(x);
    }
    printf("%d\n",res);
}

三、简答题

1、

HDFS和MapReduce共同组成了Hadoop分布式系统体系结构的核心。

HDFS采用了主从(Master/Slave)结构模型,一个HDFS集群是由一个NameNode和若干个DataNode组成的。其中NameNode作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作;集群中的DataNode管理存储的数据。HDFS允许用户以文件的形式存储数据。

MapReduce是一种并行编程模式,这种模式使得软件开发者可以轻松地编写出分布式并行程序。在Hadoop的体系结构中,MapReduce是一个简单易用的软件框架,基于它可以将任务分发到由上千台商用机器组成的集群上,并以一种高容错的方式并行处理大量的数据集,实现Hadoop的并行任务处理功能。

个人资料
crazybean
等级:8
文章:61篇
访问:15.7w
排名: 5
上一篇: 爱奇艺2018秋季校招hadoop工程师(第一场)
下一篇: 爱奇艺2018秋季校招hadoop工程师(第三场)
猜你感兴趣的圈子:
爱奇艺笔试面试圈
标签: 牛牛、res、青草、testfile、exam、面试题
隐藏