大数据培训
美国上市大数据培训机构

400-111-8989

大数据培训

大数据开发求职面试攻略之大数据面试题

  • 发布:达内大数据编辑02
  • 来源:面试题
  • 时间:2018-09-12 09:56

大数据开发求职面试攻略之大数据面试题,数据挖掘这一术语含义广泛,指代一些通常由软件实现的机制,目的是从巨量数据中提取出信息。数据挖掘往往又被称作算法。大数据岗位虽多而竞争异常激烈,如何在职场中脱颖而出?小编分享一些大数据面试题希望可以对你有帮助。

大数据开发求职面试攻略之大数据面试题

1.简述Linux以及Linux命令

cd命令

ls命令

mkdir和rmdir命令

cp命令

mv命令

rm命令

cat命令

tac命令

more命令

head命令

tail命令

touch命令

chown命令

find命令

tar命令

grep命令

source命令

2.Java支持的数据类型有哪些,什么是自动拆装箱

1)8种基本数据类型:

byte 8位 取值范围 -2^7 ~ 2^7 -1

short 16位 取值范围 -2^15 ~ 2^15 - 1

char 16位 取值范围 0 ~ 2 ^16 - 1

boolean 位数不明确 取值 true false

int 32位 取值范围 -2^31 ~ 2^31 - 1

long 64位 取值范围 -2^63 ~ 2^ 63 - 1

float 32位 取值范围 1.4e-45 ~ 3.40e38

double 64位 取值范围 4.9e-324 ~ 1.79e308

2)引用类型,包括类、接口、数组

需要注意的是,String不是基本数据类型,而是引用类型

引用类型声明的变量,是指该变量在内存中实际上存储的是个引用地址,创建的对象实际是在堆中

自动拆装箱,是指基本数据类型和引用数据类型之间的自动转换

如Integer 和 int 可以自动转换; Float和float可以自动转换

3.遍历一个List有哪几种不同的方式

List<String> list =new ArrayList<String>();

list.add("图书");

list.add("水彩笔");

//number1

for (int i=0;i<list.size();i++){

// list.get(i);

}

//number2

Iterator<String> iterator =list.iterator();

while(iterator.hasNext())

{

// iterator.next();

}

//number3

for(String item : list){

//System.out.print(item);

}

4.随机产生20个不能重复的字符并排序

Set noreapeat =new TreeSet();

Random rdm = new Random();

while (noreapeat.size()<20){

int bb =Math.abs(rdm.nextInt())%26+97;

char cc =(char)bb;

noreapeat.add(cc);

}

System.out.print(noreapeat);

5.给定一个字符串(包括字母、数字等),找出这个字符串中首先出现三次的那个英文字符

String str ="dsds221sdsddsds";

int nArr[] = new int[256]; //桶排序

for(int i=0;i<str.length();i++) {

if(++nArr[str.charAt(i)] == 3)

{

char c =str.charAt(i);

if(c>='a'&& c<='z' || c>='A'&&c<='Z')

{

System.out.println(c); break;

}

}

}

6.什么是协同过滤、map reduce 、余弦距离

协同过滤 : 借鉴和你相关人群的观点来进行推荐

map reduce :MapReduce是一种分布式计算模型,Map(映射)"和"Reduce(归约).Map的作用是过滤一些原始数据,Reduce则是处理这些数据,得到我们想要的结果.

map函数:接受一个键值对(key-value pair),产生一组中间键值对。MapReduce框架会将map函数产生的中间键值对里键相同的值传递给一个reduce函数。

reduce函数:接受一个键,以及相关的一组值,将这组值进行合并产生一组规模更小的值(通常只有一个或零个值)。

在统计词频的例子里,map函数接受的键是文件名,值是文件的内容,map逐个遍历单词,每遇到一个单词w,就产生一个中间键值对<w, "1">,这表示单词w咱又找到了一个;MapReduce将键相同(都是单词w)的键值对传给reduce函数,这样reduce函数接受的键就是单词w,值是一串"1"(最基本的实现是这样,但可以优化),个数等于键为w的键值对的个数,然后将这些“1”累加就得到单词w的出现次数。最后这些单词的出现次数会被写到用户定义的位置,存储在底层的分布式存储系统(GFS或HDFS)。

(1)MapReduce库先把user program的输入文件划分为M份(M为用户定义),每一份通常有16MB到64MB,如图左方所示分成了split0~4;然后使用fork将用户进程拷贝到集群内其它机器上。

(2).user program的副本中有一个称为master,其余称为worker,master是负责调度的,为空闲worker分配作业(Map作业或者Reduce作业),worker的数量也是可以由用户指定的。

(3)被分配了Map作业的worker,开始读取对应分片的输入数据,Map作业数量是由M决定的,和split一一对应;Map作业从输入数据中抽取出键值对,每一个键值对都作为参数传递给map函数,map函数产生的中间键值对被缓存在内存中。

(4)缓存的中间键值对会被定期写入本地磁盘,而且被分为R个区,R的大小是由用户定义的,将来每个区会对应一个Reduce作业;这些中间键值对的位置会被通报给master,master负责将信息转发给Reduce worker。

(5)master通知分配了Reduce作业的worker它负责的分区在什么位置(肯定不止一个地方,每个Map作业产生的中间键值对都可能映射到所有R个不同分区),当Reduce worker把所有它负责的中间键值对都读过来后,先对它们进行排序,使得相同键的键值对聚集在一起。因为不同的键可能会映射到同一个分区也就是同一个Reduce作业(谁让分区少呢),所以排序是必须的。

(6)reduce worker遍历排序后的中间键值对,对于每个唯一的键,都将键与关联的值传递给reduce函数,reduce函数产生的输出会添加到这个分区的输出文件中。

(7)当所有的Map和Reduce作业都完成了,master唤醒正版的user program,MapReduce函数调用返回user program的代码。

所有执行完毕后,MapReduce输出放在了R个分区的输出文件中(分别对应一个Reduce作业)。用户通常并不需要合并这R个文件,而是将其作为输入交给另一个MapReduce程序处理。整个过程中,输入数据是来自底层分布式文件系统(GFS)的,中间数据是放在本地文件系统的,最终输出数据是写入底层分布式文件系统(GFS)的。而且我们要注意Map/Reduce作业和map/reduce函数的区别:Map作业处理一个输入数据的分片,可能需要调用多次map函数来处理每个输入键值对;Reduce作业处理一个分区的中间键值对,期间要对每个不同的键调用一次reduce函数,Reduce作业最终也对应一个输出文件。

余弦距离: 两向量之间的夹角, 余弦相似度用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小。相比距离度量,余弦相似度更加注重两个向量在方向上的差异,而非距离或长度上。

7.简述图数据库

常见的有:Neo4j 图形数据库是一种非关系型数据库 Neo4j基于Java实现

最主要的组成有两种,结点集和连接结点的关系

感谢大家阅读由大数据职场分享的“大数据开发求职面试攻略之大数据面试题”希望对大家有所帮助,了解更多专业课程培训内容请关注达内大数据培训机构官网。

免责声明:以上内容仅作为信息传播,文中部分信息来源于互联网,仅供阅读参考。

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:关于Spring面试题讲解2
下一篇:面试时如何判断该公司大数据科学团队实力?
10道算数题帮你学习java语句

10道算数题帮你学习java语句

应届毕业生能面试大数据开发工程师?

应届毕业生能面试大数据开发工程师?

大数据工程师面试时注意事项

大数据工程师面试时注意事项

面试时如何判断该公司大数据科学团队实力?

面试时如何判断该公司大数据科学团队实力?

选择城市和中心
贵州省

广西省

海南省