导航:首页 > 网络数据 > baidu大数据面试题

baidu大数据面试题

发布时间:2023-07-16 02:04:21

『壹』 「每日一道大数据面试题系列」spark如何调优

如果面试时被问到spark任务如何调优,我们该如何回答呢?

下面我们从四大方面回答这个问题,保证吊打面试官。

一、spark性能调优

1、分配更多的资源

比如增加执行器个数(num_executor)、增加执行器个数(executor_cores)、增加执行器内存(executor_memory)

2、调节并行度

spark.default.parallelism

3、重构RDD架构以及RDD持久化

尽量去复用RDD,差不多的RDD可以抽取成一个共同的RDD,公共RDD一定要实现持久化

4、广播变量

SparkContext.broadcast方法创建一个对象,通过value方法访问

5、使用kryo序列化

SparkConf中设置属性:spark.serializer: org.apache.spark.serializer.kryoSerializer

6、使用fastutil优化数据格式(代替java中的Array、List、Set、Map)

7、调节数据本地化等待时长

调节参数: spark.locality.wait

二、JVM调优

降低cache操作的内存占比 1.6版本之前使用的是静态内存管理

spark中堆内存被划分为两块:

一块是专门来给RDD作cachepersist持久化的 StorageMemory,另一块是给spark算子函数运行使用的,存放函数中自己创建的对象。

1.6版本之后采用统一内存管理机制

storage和execution各占50%,若己方不足对方空余可占用对方空间

可尝试调节executor堆外内存

spark.yarn.executor.memoryOverhead = 2048m

调节连接等待时长

spark.core.connection.ack.wait.timeout = 300

三、shuffle数据倾斜调优

1、预聚合源数据,对hive源表提前进行聚合操作,在hive聚合之后,spark任务再去读取

2、检查倾斜的key是否是脏数据,可以提前过滤

3、提高shuffle操作rece的并行度

4、使用随机key实现双重聚合

5、将rece端 join转换成map端 join

6、sample采样倾斜key,单独进行join后在union

7、使用随机数以及扩容表进行join

四、算子调优

1、使用mapPartition提升map类操作的性能

2、filter过后使用coalesce减少分区数量

3、使用foreachPartition优化写数据性能

4、使用repartition解决sparkSql低并行度的性能问题

5、receByKey替换groupByKey实现map读预聚合


『贰』 大数据技术Hadoop面试题

单项选择题

1.下面哪个程序负责HDFS数据存储。

a)NameNode

b)Jobtracker

c)Datanode

d)secondaryNameNode

e)tasktracker

2.HDfS中的block默认保存几份?

a)3份

b)2份

c)1份

d)不确定

3.下列哪个程序通常与NameNode在一个节点启动?

a)SecondaryNameNode

b)DataNode

c)TaskTracker

d)Jobtracker

4.Hadoop作者

a)MartinFowler

b)KentBeck

c)Dougcutting

5.HDFS默认BlockSize

a)32MB

b)64MB

c)128MB

6.下列哪项通常是集群的最主要瓶颈

a)CPU

b)网络

c)磁盘

d)内存

7.关于SecondaryNameNode哪项是正确的?

a)它是NameNode的热备

b)它对内存没有要求

c)它的目的是帮助NameNode合并编辑日志,减少NameNode启动时间

d)SecondaryNameNode应与NameNode部署到一个节点

多选题

8.下列哪项可以作为集群的管理工具

a)Puppet

b)Pdsh

c)ClouderaManager

d)d)Zookeeper

9.配置机架感知的下面哪项正确

a)如果一个机架出问题,不会影响数据读写

b)写入数据的时候会写到不同机架的DataNode中

c)MapRece会根据机架获取离自己比较近的网络数据

10.Client端上传文件的时候下列哪项正确

a)数据经过NameNode传递给DataNode

b)Client端将文件切分为Block,依次上传

c)Client只上传数据到一台DataNode,然后由NameNode负责Block复制工作

11.下列哪个是Hadoop运行的模式

a)单机版

b)伪分布式

c)分布式

12.Cloudera提供哪几种安装CDH的方法

a)Clouderamanager

b)Tarball

c)Yumd)Rpm

判断题

13.Ganglia不仅可以进行监控,也可以进行告警。()

14.BlockSize是不可以修改的。()

15.Nagios不可以监控Hadoop集群,因为它不提供Hadoop支持。()

16.如果NameNode意外终止,SecondaryNameNode会接替它使集群继续工作。() 1 2 3

『叁』 面试问你们大数据项目的数据结构是怎样的

一些最常见的编程面来试问自题:

1.数组编码面试问题

数组是最基本的数据结构,它将元素存储在一个连续的内存位置。这也是面试官们热衷的话题之一。以下是一些热门的基于数组的编程面试问题:

1.如何在一个1到100的整数数组中找到丢失的数字?(方法)

2.如何在给定的整数数组中找到重复的数字? (方法)

3.如何在未排序整数数组中找到最大值和最小值? (方法)

4.如何找到数组所有和等于一个给定数的数对? (方法)

5.如果一个数组包含多重复制,那么如何找到重复的数字? (方法)

6.在Java中如何从给定数组中删除多重复制? (方法)

7.如何使用快速排序算法对整数数组进行排序? (方法)

8.如何从数组中删除多重复制? (方法)

9.如何在Java中对数组进行反向操作? (方法)

10.如何在不使用任何库的情况下从数组中删除多重复制? (方法)

这些问题不仅可以帮助你提高解决问题的能力,还可以提高你对数组数据结构的认识。

『肆』 大数据面试题及答案谁能分享一下

大数据时代才刚刚开始。随着越来越多的公司倾向于大数据运营,人才需求达到历史最高水平。这对你意味着什么?如果您想在任何大数据岗位上工作,它只能转化为更好的机会。您可以选择成为数据分析师,数据科学家,数据库管理员,大数据工程师,Hadoop大数据工程师等。在本文中,慧都网将介绍与大数据相关的前10大数据面试问题。

以下是最重要的大数据面试问题以及具体问题的详细解答。对于更广泛的问题,答案取决于您的经验,我们将分享一些如何回答它们的提示。

10个大数据面试入门级问题

无论何时进行大数据采访,采访者都可能会询问一些基本问题。无论您是大数据领域的新手还是经验丰富,都需要基础知识。因此,让我们来介绍一些常见的基本大数据面试问题以及破解大数据面试的答案。

1.您对“大数据”一词有何了解?

答:大数据是与复杂和大型数据集相关的术语。关系数据库无法处理大数据,这就是使用特殊工具和方法对大量数据执行操作的原因。大数据使公司能够更好地了解其业务,并帮助他们从定期收集的非结构化和原始数据中获取有意义的信息。大数据还允许公司采取数据支持的更好的业务决策。

2.大数据的五个V是什么?

答:大数据的五个V如下:

『伍』 数据分析师常见的面试问题

关于数据分析师常见的面试问题集锦

1、你处理过的最大的数据量?你是如何处理他们的?处理的结果。

2、告诉我二个分析或者计算机科学相关项目?你是如何对其结果进行衡量的?

3、什么是:提升值、关键绩效指标、强壮性、模型按合度、实验设计、2/8原则?

4、什么是:协同过滤、n-grams, map rece、余弦距离?

5、如何让一个网络爬虫速度更快、抽取更好的信息以及更好总结数据从而得到一干净的数据库?

6、如何设计一个解决抄袭的方案?

7、如何检验一个个人支付账户都多个人使用?

8、点击流数据应该是实时处理?为什么?哪部分应该实时处理?

9、你认为哪个更好:是好的数据还是好模型?同时你是如何定义“好”?存在所有情况下通用的模型吗?有你没有知道一些模型的定义并不是那么好?

10、什么是概率合并(aka模糊融合)?使用sql处理还是其它语言方便?对于处理半结构化的数据你会选择使用哪种语言?

11、你是如何处理缺少数据的?你推荐使用什么样的处理技术?

12、你最喜欢的编程语言是什么?为什么?

13、对于你喜欢的统计软件告诉你喜欢的与不喜欢的3个理由。

14、sas, r, python, perl语言的区别是?

15、什么是大数据的诅咒?

16、你参与过数据库与数据模型的设计吗?

17、你是否参与过仪表盘的设计及指标选择?你对于商业智能和报表工具有什么想法?

18、你喜欢td数据库的什么特征?

19、如何你打算发100万的营销活动邮件。你怎么去优化发送?你怎么优化反应率?能把这二个优化份开吗?

20、如果有几个客户查询oracle数据库的效率很低。为什么?你做什么可以提高速度10倍以上,同时可以更好处理大数量输出?

21、如何把非结构化的数据转换成结构化的数据?这是否真的有必要做这样的转换?把数据存成平面文本文件是否比存成关系数据库更好?

22、什么是哈希表碰撞攻击?怎么避免?发生的频率是多少?

23、如何判别maprece过程有好的负载均衡?什么是负载均衡?

24、请举例说明maprece是如何工作的?在什么应用场景下工作的很好?云的安全问题有哪些?

25、(在内存满足的情况下)你认为是100个小的哈希表好还是一个大的哈希表,对于内在或者运行速度来说?对于数据库分析的评价?

26、为什么朴素贝叶斯差?你如何使用朴素贝叶斯来改进爬虫检验算法?

27、你处理过白名单吗?主要的规则?(在欺诈或者爬行检验的情况下)

28、什么是星型模型?什么是查询表?

29、你可以使用excel建立逻辑回归模型吗?如何可以,说明一下建立过程?

30、在sql, perl, c++, python等编程过程上,待为了提升速度优化过相关代码或者算法吗?如何及提升多少?

31、使用5天完成90%的精度的解决方案还是花10天完成100%的精度的解决方案?取决于什么内容?

32、定义:qa(质量保障)、六西格玛、实验设计。好的与坏的实验设计能否举个案例?

33、普通线性回归模型的缺陷是什么?你知道的其它回归模型吗?

34、你认为叶数小于50的决策树是否比大的好?为什么?

35、保险精算是否是统计学的一个分支?如果不是,为何如何?

36、给出一个不符合高斯分布与不符合对数正态分布的数据案例。给出一个分布非常混乱的数案例。

37、为什么说均方误差不是一个衡量模型的好指标?你建议用哪个指标替代?

38、你如何证明你带来的算法改进是真的有效的与不做任何改变相比?你对a/b测试熟吗?

39、什么是敏感性分析?拥有更低的敏感性(也就是说更好的强壮性)和低的预测能力还是正好相反好?你如何使用交叉验证?你对于在数据集中插入噪声数据从而来检验模型的.敏感性的想法如何看?

40、对于一下逻辑回归、决策树、神经网络。在过去XX年中这些技术做了哪些大的改进?

41、除了主成分分析外你还使用其它数据降维技术吗?你怎么想逐步回归?你熟悉的逐步回归技术有哪些?什么时候完整的数据要比降维的数据或者样本好?

42、你如何建议一个非参数置信区间?

43、你熟悉极值理论、蒙特卡罗逻辑或者其它数理统计方法以正确的评估一个稀疏事件的发生概率?

44、什么是归因分析?如何识别归因与相关系数?举例。

45、如何定义与衡量一个指标的预测能力?

46、如何为欺诈检验得分技术发现最好的规则集?你如何处理规则冗余、规则发现和二者的本质问题?一个规则集的近似解决方案是否可行?如何寻找一个可行的近似方案?你如何决定这个解决方案足够好从而可以停止寻找另一个更好的?

47、如何创建一个关键字分类?

48、什么是僵尸网络?如何进行检测?

49、你有使用过api接口的经验吗?什么样的api?是谷歌还是亚马逊还是软件即时服务?

50、什么时候自己编号代码比使用数据科学者开发好的软件包更好?

51、可视化使用什么工具?在作图方面,你如何评价tableau?r?sas?在一个图中有效展现五个维度?

52、什么是概念验证?

53、你主要与什么样的客户共事:内部、外部、销售部门/财务部门/市场部门/it部门的人?有咨询经验吗?与供应商打过交道,包括供应商选择与测试。

54、你熟悉软件生命周期吗?及it项目的生命周期,从收入需求到项目维护?

55、什么是cron任务?

56、你是一个独身的编码人员?还是一个开发人员?或者是一个设计人员?

57、是假阳性好还是假阴性好?

58、你熟悉价格优化、价格弹性、存货管理、竞争智能吗?分别给案例。

59、zillow’s算法是如何工作的?

60、如何检验为了不好的目的还进行的虚假评论或者虚假的fb帐户?

61、你如何创建一个新的匿名数字帐户?

62、你有没有想过自己创业?是什么样的想法?

63、你认为帐号与密码输入的登录框会消失吗?它将会被什么替代?

64、你用过时间序列模型吗?时滞的相关性?相关图?光谱分析?信号处理与过滤技术?在什么样的场景下?

65、哪位数据科学有你最佩服?从哪开始?

66、你是怎么开始对数据科学感兴趣的?

67、什么是效率曲线?他们的缺陷是什么,你如何克服这些缺陷?

68、什么是推荐引擎?它是如何工作的?

69、什么是精密测试?如何及什么时候模拟可以帮忙我们不使用精密测试?

70、你认为怎么才能成为一个好的数据科学家?

71、你认为数据科学家是一个艺术家还是科学家?

72、什么是一个好的、快速的聚类算法的的计算复杂度?什么好的聚类算法?你怎么决定一个聚类的聚数?

73、给出一些在数据科学中“最佳实践的案例”。

74、什么让一个图形使人产生误解、很难去读懂或者解释?一个有用的图形的特征?

75、你知道使用在统计或者计算科学中的“经验法则”吗?或者在商业分析中。

76、你觉得下一个20年最好的5个预测方法是?

77、你怎么马上就知道在一篇文章中(比如报纸)发表的统计数字是错误,或者是用作支撑作者的论点,而不是仅仅在罗列某个事物的信息?例如,对于每月官方定期在媒体公开发布的失业统计数据,你有什么感想?怎样可以让这些数据更加准确?

;

『陆』 面试题-关于大数据量的分布式处理

面试题-关于大数据量的分布式处理
题目:生产系统每天会产生一个日志文件F,数据量在5000W行的级别。文件F保存了两列数据,一列是来源渠道,一列是来源渠道上的用户标识。文件F用来记录当日各渠道上的所有访问用户,每访问一次,记录一条。
请问如何快速计算出各渠道上新增的用户?
问题分析:首先本次面试的是有关于分布式数据处理以及数据分析的职位,所以相关的面试题目可能会偏向于使用分布式的思想去解决。但无奈本人当时反应太慢,实在没向分布式处理方向思考。
方案一:
本题最直观的一个处理方法就是,直接拿着当日新增的5000W条访问记录一条一条的去匹配历史访问用户。若存在历史访问记录,则忽略;若不存在访问记录,则保存为新增记录。很明显,假若历史访问用户有2亿条记录,则需要和2亿条数据比较5000W次。比较次数可想而知。
由于本人一直在做基于数据库的数据处理工作,很容易就想到将历史数据保存在数据库的一张表中,并对来源渠道和用户标识这两个字段建立索引,然后遍历日志文件F(5000W次)。根据日志文件F中的每一行去匹配数据库中的历史访问记录。由于历史数据表有索引,单次查询的速度也非常快。但是需要5000W次的数据库查询,很明显效率低下。
方案二:
既然多次单一查询无法满足要求,于是可以先通过一种数据导入技术将当日新增数据导入到数据库的另一张表中,并和历史数据做左外关联。若能关联成功,则表示此用户已存在;若关联失败,则表示此用户不存在。
此方案暂且不说5000W条记录的大表与2亿条记录的大表关联效率有多高以及使用到的数据库缓冲区的资源有多少,单就5000W条访问记录导入数据库表,都是一个不小的时间花费。
方案三:
很明显,面试时方案二的回答并未达到面试官的预期,最初被遗憾的PASS掉。一家很有潜力,自己很看好的公司,并计划做为自己未来发展方向的职位,就这样丢下我,扬长而去了。
这几天又看了下分布式相关的介绍,突然想到这道题。一下子醒悟过来,其实还是因为对题目要考察的点分析得不够透彻。当时以为只是仅仅考数据处理效率的一个题目,其实考的是一种将复杂问题拆分为简单问题的拆分思想。了解到这一层,一种新的方式立马在脑海中浮现出来。具体如下:
假如现在有N(N>=2)个存储块,并存在一个函数f(来源渠道,用户标识),对于给定的一组(来源渠道,用户标识),总能将其分发到一个固定的存储块内。那么可以使用此函数将5000W行访问记录尽量均匀的分发至N个存储块上,并同时使用此函数将历史访问记录也分发至这些存储块上。由于相同的一组记录,肯定会被分配至同一个存储块,所以比较时,只需要分别比较各个存储块上当日新增记录与历史访问用户,然后将N个存储块上比较的结果汇总,即可得到最终结果。
假设历史访问用户数据已通过函数f(来源渠道,用户标识)被分发至了N个历史文件H1、H2、…、HN。则详细处理步骤如下:
1、将F中的内容使用函数f(来源渠道,用户标识),分发至文件F1、F2、…、FN内。(可开M(M>=2)个并行,且若N-M越大,同时向同一文件写入数据的概率越小)
2、将文件F1、F2、…、FN内的访问记录去重。(可开N个并行分别处理对应的N个文件)。
3、将文件Fn(1=<n<=N)去重后的结果与对应的历史文件Hn比较得出新增用户结果Rn。(可开N个并行分别处理对应的N个文件且当N足够大时,实际要处理数据的量级就会相当小)。
4、合并第3步得到的结果R1、R2、…、RN即可得到当日新增用户。(可并行)
5、为使历史数据文件H1、H2、…、HN中的数据最全,将结果R1、R2、…、RN分别写入对应的历史文件中。(可并行)
本方案主要有以下优点:
1、数据的分发、处理、合并都可并行处理,明显提高了处理效率。
2、由于每个存储块上的新增数据,只需要与它对应存储块上的历史数据比较即可,大大减少了比较次数。(对于当日每一条记录来说,都只需要与大约历史的N分之一条数据去比较)
3、基本不需要考虑历史全量数据的保存及获取问题。
本方案缺点:
1、处理方案明显变的复杂许多,不仅需要处理数据的分发,处理,还需要一个并行的快速收集方法。
2、可能需要多台服务器并行处理。
本方案难点:
1、一个稳定(对于相同的一组来源渠道和用户标识,必定会被分发至同一存储块)、快速(根据一条来源渠道和用户标识数据,可以快速的计算出它将要被分发至的存储块)、均匀(当日新增数据及历史数据都能尽量均匀的被分发至N个存储块,最理想的情况是每个存储块上分发到的数据都是总数据的N分之一)的分发函数至关重要。
2、如何分发、并行处理及汇总数据。

『柒』 大数据分析师面试题:Redis的耐久化战略

【导读】众所周知,大数据分析师的面试流程与其他行业的不大一样,比如你面试一份文员工作,只需要携带简历就可以了,不过要想面试成功大数据分析师,不仅需要携带简历,还要做好考试的准备,这是每一个大数据分析师的入职必经流程,今天小编就来和大家说说大数据分析师面试题:Redis的耐久化战略,希望对各位考生有所帮助。

一、RDB介绍

RDB 是 Redis
默许的耐久化计划。在指定的时间距离内,实行指定次数的写操作,则会将内存中的数据写入到磁盘中。即在指定目录下生成一个mp.rdb文件。Redis
重启会通过加载mp.rdb文件恢复数据。

可以在redis.windows.conf配备文件中修正save来进行相应的配备

注意事项

60秒内10000条数据则保存

这儿有三个save,只需满意其间任意一条就可以保存

比方:

(1)在redis中保存几条新的数据,用kill
-9粗暴杀死redis进程,模仿redis缺点失常退出,导致内存数据丢掉的场景(或许在,也或许不在,根据save的状况)

(2)手动设置一个save检查点,save 5 1

写入几条数据,等候5秒钟,会发现自动进行了一次mp rdb快照,在mp.rdb中发现了数据

失常停掉redis进程,再从头发起redis,看方才刺进的数据还在

二、AOF介绍

AOF :Redis 默许不打开。它的呈现是为了补偿RDB的缺乏(数据的不一致性),所以它采用日志的方法来记载每个写操作,并追加到文件中。Redis
重启的会根据日志文件的内容将写指令早年到后实行一次以结束数据的恢复作业。(appendonly yes)

注意事项注意事项

可以在redis.windows.conf中进行配备

打开AOF

将appendonly 的no 改为 yes

下面是文件名可以运用默许的文件名,也可以自己改

注意事项

appendfsync运用默许的everysec就可以了

以上就是小编今天给大家整理发送的关于大数据分析师面试题:Redis的耐久化战略的相关内容,希望对各位考生有所帮助,想知道更多关于数据分析师的基本要求有哪些,关注小编持续更新数据分析师岗位解析。

『捌』 大数据开发人员面试常会被问什么问题

1、你自身的优点
这个问题不仅仅是在大数据面试当中常常被问,在各行各业的面试中都经常出现。所以面试者要尽可能说一些和工作相关的优点,比如“学习能力强”“能抗住压力”等,再举一个自己之前工作的例子进行证明,这会让面试官觉得很真实。
2、为什么要离开上家公司
其实面试官问这种问题的时候,就是在看你人品。很多人觉得说上家公司不好的话才是好的,其实不是的,离职见人品,如果你能在面试官面前说上家公司的不好,也能在下家公司说这家公司的不好。所以在面试官问及这个问题的时候,最好结合自身的发展来说。
3、未来几年的规划
回答这个问题的时候,不要说自己不知道、不清楚,会显得你这个人没有目标和方向。所以如果应聘者对这个问题不知道怎么回答的时候,可以跟面试官交流一下现在大数据行业的职业目标以及准备做些什么去实现这个目标,至少要让面试官看到应聘者对选择这个职业的热情,甚至是对选择这份工作的热情。

阅读全文

与baidu大数据面试题相关的资料

热点内容
flash效果工具 浏览:555
正在打印的文件怎么取消打印 浏览:901
电脑网络不行关掉哪些 浏览:104
word从第三页开始编页码 浏览:335
iphone来电通专业版 浏览:329
哪些搜题app下架了 浏览:239
ios数据库文件怎么打开 浏览:203
遥感卫星数据哪里下载 浏览:676
哪些神经网络在数据挖掘中的运用 浏览:259
安卓60v4a全局音效 浏览:241
打好的文件找不到了咋办 浏览:252
gpt分区win7升级win10 浏览:919
怎样用qq影音压缩文件 浏览:204
装修需求市场在哪个网站 浏览:662
亚马逊数据报告在哪里 浏览:757
pdf文件怎样把a4打成a3 浏览:599
编程课能学到什么程度 浏览:753
电脑删软件卸载显示找不到文件 浏览:763
gho文件夹找不到了 浏览:101
小米文件助手在哪里 浏览:653

友情链接