1. 大数据面试要准备哪些
一、大数据面试要准备一些应试须知:
1、让面试官记住你的名字。很多人在介绍自己名字的时候仅仅只有简单的一句“我叫某某某”,直到你的自我介绍完毕,面试官也没有记住你的名字,如果后续的自我介绍中没有突出的表现,那么这样的自我介绍注定是失败的。
2、告诉面试官和应聘职位相关的工作经历。在自我介绍自己的工作经历时,一定要注意哪些经历是和应聘职位相关,对应聘有帮助,哪些是毫无意义的。例如应聘技术人员的职位,我们主要讲从事本职工作的经历,如果有从事其他行业的经历,比如从事过销售,组织,管理工作的,也可以略微提一下,往往会对应聘起到一定的帮助。
3、在面试官面前展现性格阳光的一面。性格也是面试官需要考察的一项,一般来说活泼、外向的性格始终会受到大家的亲睐,所以我们在面试官面前一定要展示性格阳光的一面,即使内向,也不能表现出来。
4、简单的介绍一下自己的未来规划。未来规划这一项是为了告诉面试官,我是一个有计划、有目标、有理想的人,我参加面试是因为我对这份工作比较热爱,而不是为了混口饭吃而应聘这项工作。很多老板最怕找到以混日子为目的的员工。
5、注意扬长避短。扬长避短也就是说在面试时尽量选择自己好的方面来说,只说自己的优点,避免谈及自己的缺点。从人性的角度来讲,人们总是对负面的新闻感兴趣,因此在面试时,面试官会千方百计的发现你的缺点,你的弱项,如果我们主动将缺点暴露给对方,那么产生的影响往往是负面的。
细节决定成败,一个简单的自我介绍虽然只有短短的几分钟,但是其内容却包罗万象,因此在面试时自我介绍的完美与否是举足轻重的。
二、大数据面试要准备一些常见的面试题:
1、你会java语言吗?熟悉到什么程度?
2、你最喜欢的编程语言是什么?为什么?
3、处理过的最大的数据量?你是如何处理他们的?处理的结果如何。
2、在处理大数据过程中,如何保证得到期望值?
3、如何让一个网络爬虫速度更快、抽取更好的信息以及更好总结数据从而得到一干净的数据库?
4、点击流数据应该是实时处理?为什么?哪部分应该实时处理?
6、如何把非结构化的数据转换成结构化的数据?这是否真的有必要做这样的转换?把数据存成平面文本文件是否比存成关系数据库更好?
7、如何判别maprece过程有好的负载均衡?什么是负载均衡?
8、Spark和Hive的区别,以及Spark和Hive的数据倾斜调优问题?
9、Hive和Hbase的区别?
10、MapRece的思想,以及MapRece调优问题?
11、你所了解的开源网站?
12、有两个集群,每个集群有3个节点,使用hive分析相同的数据,sql语句完全一样,一个集群的分析结果比另外一个慢的多,给出造成这种现象的可能原因?
13、Hbase的优化?
14、集群的版本,以及集群的瓶颈问题?
15、CRM项目,怎么跟Spark结合?
16、如何创建一个关键字分类?
17、海量日志数据,提取出某日访问网络次数最多的那个IP?
18、Hadoop和Spark处理数据时,出现内存溢出的处理方法?
19、有一个1G大小的一个文件,里面每一是一个词,词的大小不超过16字节,内存大小限制大小1M,返回频率最高的50个词。
20、你是如何处理缺少数据的?你是推荐使用什么样的处理技术,或者说你是用什么样的技术处理呢?
2. 大数据面试题及答案谁能分享一下
大数据时代才刚刚开始。随着越来越多的公司倾向于大数据运营,人才需求达到历史最高水平。这对你意味着什么?如果您想在任何大数据岗位上工作,它只能转化为更好的机会。您可以选择成为数据分析师,数据科学家,数据库管理员,大数据工程师,Hadoop大数据工程师等。在本文中,慧都网将介绍与大数据相关的前10大数据面试问题。
以下是最重要的大数据面试问题以及具体问题的详细解答。对于更广泛的问题,答案取决于您的经验,我们将分享一些如何回答它们的提示。
无论何时进行大数据采访,采访者都可能会询问一些基本问题。无论您是大数据领域的新手还是经验丰富,都需要基础知识。因此,让我们来介绍一些常见的基本大数据面试问题以及破解大数据面试的答案。
1.您对“大数据”一词有何了解?
答:大数据是与复杂和大型数据集相关的术语。关系数据库无法处理大数据,这就是使用特殊工具和方法对大量数据执行操作的原因。大数据使公司能够更好地了解其业务,并帮助他们从定期收集的非结构化和原始数据中获取有意义的信息。大数据还允许公司采取数据支持的更好的业务决策。
2.大数据的五个V是什么?
答:大数据的五个V如下:
Volume -Volume表示体积大,即以高速率增长的数据量,即以PB为单位的数据量
Velocity -Velocity是数据增长的速度。社交媒体在数据增长速度方面发挥着重要作用。
Variety -Variety是指不同的数据类型,即各种数据格式,如文本,音频,视频等。
Veracity -Veracity是指可用数据的不确定性。由于大量数据带来不完整性和不一致性,因此产生了准确性。
Value -价值是指将数据转化为价值。通过将访问的大数据转换为价值,企业可以创造收入。
YARN的两个主要组成部分:
ResourceManager-该组件接收处理请求,并根据处理需要相应地分配给各个NodeManager。
NodeManager-它在每个单个数据节点上执行任务
7.为什么Hadoop可用于大数据分析?
答:由于数据分析已成为业务的关键参数之一,因此,企业正在处理大量结构化,非结构化和半结构化数据。在Hadoop主要支持其功能的情况下,分析非结构化数据非常困难
存储
处理
数据采集
此外,Hadoop是开源的,可在商用硬件上运行。因此,它是企业的成本效益解决方案。
8.什么是fsck?
答:fsck代表文件系统检查。它是HDFS使用的命令。此命令用于检查不一致性以及文件中是否存在任何问题。例如,如果文件有任何丢失的块,则通过此命令通知HDFS。
9. NAS(网络附加存储)和HDFS之间的主要区别是什么?
答:NAS(网络附加存储)和HDFS之间的主要区别 -
HDFS在一组计算机上运行,而NAS在单个计算机上运行。因此,数据冗余是HDFS中的常见问题。相反,复制协议在NAS的情况下是不同的。因此,数据冗余的可能性要小得多。
在HDFS的情况下,数据作为数据块存储在本地驱动器中。在NAS的情况下,它存储在专用硬件中。
10.格式化NameNode的命令是什么?
答:$ hdfs namenode -format。
欢迎咨询慧都在线客服,我们将帮您转接大数据专家团队,并发送相关资料给您!
以上就是大数据面试题及答案,希望我的回答对您有帮助!
3. 大数据技术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
4. 大数据开发工程师面试主要面试哪些内容
只要数据量级大(或者是数据复杂度,或者是其他方面的量级大)到普通的处理方法无法处理地实际上都可以算作是大数据开发,只不过一般大数据开发目前招聘的很多都是做数据处理的。有如下几个方向:1)数据挖掘是大数据处理地一个方向,这里做数据挖掘要有一些统计学基础才能做,目前数据挖掘的方向其实不是很明确,和人工智能,机械学习也有一些关系,如果是做数据挖掘,基本的数据会由数据平台部或数据运维部门提供2)数据平台的开发(这里的平台开发在不同公司的内容又不一样,小公司可能是根据公司业务做一套完整的数据分析系统,大公司这个职位可能是一些开源组件的二次开发)3)大数据运维方向:比如hadoop,spark集群的运维,涉及到ha等内容4)大数据分析方向:有的公司会将职责细化,招聘一些专业的分析人员,去写hql或者是其它类sql来对数据进行分析最后,其实大数据平台相关工作的划分并不清晰,行业里没有统一标准,大公司小公司情况不同。关于技术方向更是用什么的都有,比如有的公司用spark,有的用impala,还有的用clickhouse等,最近flink也逐渐进入大家的视野。所以在找工作时应该要考虑的是自己的强项是什么,同时在选择工作时要考虑到这个工作在做了三五年后,从这家公司出来还能不能找到工作。我个人的建议是如果你会java,那不要脱离java(scala)语言去做大数据开发,也不要专业只去做数据分析工作,大数据行业目前仍旧有一些泡沫(个人看法),很多组件仍旧是基于java的,一旦脱离java语言本身,那源码阅读,二次开发都会有问题,同时生产环境自动化去执行一些代码也是需要语言支持的,或者最差的预估,如果大数据行业严重缩水(比如某些公司可以分析,可以挖掘的内容有限),可以随时转到java服务器开发方向。
5. 大数据开发人员面试常会被问什么问题
1、你自身的优点
这个问题不仅仅是在大数据面试当中常常被问,在各行各业的面试中都经常出现。所以面试者要尽可能说一些和工作相关的优点,比如“学习能力强”“能抗住压力”等,再举一个自己之前工作的例子进行证明,这会让面试官觉得很真实。
2、为什么要离开上家公司
其实面试官问这种问题的时候,就是在看你人品。很多人觉得说上家公司不好的话才是好的,其实不是的,离职见人品,如果你能在面试官面前说上家公司的不好,也能在下家公司说这家公司的不好。所以在面试官问及这个问题的时候,最好结合自身的发展来说。
3、未来几年的规划
回答这个问题的时候,不要说自己不知道、不清楚,会显得你这个人没有目标和方向。所以如果应聘者对这个问题不知道怎么回答的时候,可以跟面试官交流一下现在大数据行业的职业目标以及准备做些什么去实现这个目标,至少要让面试官看到应聘者对选择这个职业的热情,甚至是对选择这份工作的热情。
6. 面试题-关于大数据量的分布式处理
面试题-关于大数据量的分布式处理
题目:生产系统每天会产生一个日志文件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、如何分发、并行处理及汇总数据。
7. 2021年大数据工程师面试内容包括哪些
【导语】近年来,大数据发展如火如荼,很多人都选择学习大数据专业或者转行大数据,大数据里又包含很多就业岗位,所以在进行岗位选择的时候,还是需要大家合理选择,为了帮助大家更好的进入大数据行业执业,下面就把2021年大数据工程师面试内容给大家进行一下具体介绍。
1、自我介绍
一般上来就是自我介绍,谈下工作经历和项目经验,面试官会根据你的项目经验对你进行技术面试。在自我介绍时,一定要抓住核心说,不要太啰嗦,尽量放大自己的价值,让面试官感受到你对工作的热情,以及以后对公司贡献的能力。
2、数仓开发知识技能
(1)Java是必问的,不过问的不深,把Javase部分吃透,足以应付Java部分的面试。
(2)Hadoop生态,Yarn、Zookeeper、HDFS这些底层原理要懂,面试经常被问。
(3)Maprece的shuffle过程这个也是面试被常问的。
(4)Hbase和HIve,搞大数据这些不懂真的说不过去。
(5)Mysql、Oracle和Postgres数据库操作要回,Sql要会写。
(6)linux操作系统,这个简单得命令必须要懂,会写shell脚本更好了。
(7)Kettle或Sqoop这种数据处理工具至少要会一个。8,数据仓库建模、数据模型的问题。
3、技术方面知识技能
(1)SparkSql和SparkStreaming,底层原理、内核、提交任务的过程等等,尽量深入内幕,这个经常会跟MapRece作比较的。当然也要了解Storm和Flink,Flink这个建议要学会,以后用处会越来越广。
(2)Redis、Kafka、ElasticSearch这些都得懂原理,深入了解,会使用,会操作,会调优。
(3)impala和kylin这些尽量也要了解会用
(4)Python这个要是有能力,有精力,建议也要往深处学习,我目前正在自学中。
(5)集群的问题,包括一些简单的运维知识。
(6)大数据数据倾斜的问题,包括Spark JVM内存调优问题等等。
关于2021年大数据工程师面试内容,就给大家介绍到这里了,希望对大家能有所帮助,当然进入大数据行业,还需要大家在平时不断进行技能提升,这样才能更好的拥有一席之地。
8. 大数据面试题以及答案整理(一)
一、Map端的shuffle
Map端会处理输入数据并产生中间结果,这个中间结果会写到本地磁盘,而不是HDFS。每个Map的输出会先写到内存缓冲区中,当写入的数据达到设定的阈值时,系统将会启动一个线程将缓冲区的数据写到磁盘,这个过程叫做spill。
在spill写入之前,会先进行二次排序,首先根据数据所属的partition进行排序,然后每个partition中的数据再按key来排序。partition的目的是将记录划分到不同的Recer上去,以期望能够达到负载均衡,以后的Recer就会根据partition来读取自己对应的数据。接着运行combiner(如果设置了的话),combiner的本质也是一个Recer,其目的是对将要写入到磁盘上的文件先进行一次处理,这样,写入到磁盘的数据量就会减少。最后将数据写到本地磁盘产生spill文件(spill文件保存在{mapred.local.dir}指定的目录中,Map任务结束后就会被删除)。
最后,每个Map任务可能产生多个spill文件,在每个Map任务完成前,会通过多路归并算法将这些spill文件归并成一个文件。至此,Map的shuffle过程就结束了。
二、Rece端的shuffle
Rece端的shuffle主要包括三个阶段,、sort(merge)和rece。
首先要将Map端产生的输出文件拷贝到Rece端,但每个Recer如何知道自己应该处理哪些数据呢?因为Map端进行partition的时候,实际上就相当于指定了每个Recer要处理的数据(partition就对应了Recer),所以Recer在拷贝数据的时候只需拷贝与自己对应的partition中的数据即可。每个Recer会处理一个或者多个partition,但需要先将自己对应的partition中的数据从每个Map的输出结果中拷贝过来。
接下来就是sort阶段,也称为merge阶段,因为这个阶段的主要工作是执行了归并排序。从Map端拷贝到Rece端的数据都是有序的,所以很适合归并排序。最终在Rece端生成一个较大的文件作为Rece的输入。
最后就是Rece过程了,在这个过程中产生了最终的输出结果,并将其写到HDFS上。
读:
1、跟namenode通信查询元数据,找到文件块所在的datanode服务器
2、挑选一台datanode(就近原则,然后随机)服务器,请求建立socket流
3、datanode开始发送数据(从磁盘里面读取数据放入流,以packet为单位来做校验)
4、客户端以packet为单位接收,现在本地缓存,然后写入目标文件
写:
1、与namenode通信请求上传文件,namenode检查目标文件是否已存在,父目录是否存在
2、namenode返回是否可以上传
3、client请求第一个 block该传输到哪些datanode服务器上
4、namenode返回3个datanode服务器ABC
5、client请求3台dn中的一台A上传数据(本质上是一个RPC调用,建立pipeline),A收到请求会继续调用B,然后B调用C,将真个pipeline建立完成,逐级返回客户端
6、client开始往A上传第一个block(先从磁盘读取数据放到一个本地内存缓存),以packet为单位,A收到一个packet就会传给B,B传给C;A每传一个packet会放入一个应答队列等待应答
7、当一个block传输完成之后,client再次请求namenode上传第二个block的服务器
9. 常见大数据公司面试问题有哪些
1、您对“大数据”一词有什么了解?
答: 大数据是与复杂和大型数据集相关的术语。关系数据库无法处理大数据,这就是为什么使用特殊的工具和方法对大量数据执行操作的原因。大数据使公司能够更好地了解其业务,并帮助他们从定期收集的非结构化和原始数据中获取有意义的信息。大数据还使公司能够根据数据做出更好的业务决策。
2、告诉我们大数据和Hadoop之间的关系。
答: 大数据和Hadoop几乎是同义词。随着大数据的兴起,专门用于大数据操作的Hadoop框架也开始流行。专业人士可以使用该框架来分析大数据并帮助企业做出决策。
注意: 在大数据采访中通常会问这个问题。 可以进一步去回答这个问题,并试图解释的Hadoop的主要组成部分。
3、大数据分析如何有助于增加业务收入?
答:大数据分析对于企业来说已经变得非常重要。它可以帮助企业与众不同,并增加收入。通过预测分析,大数据分析为企业提供了定制的建议。此外,大数据分析使企业能够根据客户的需求和偏好推出新产品。这些因素使企业获得更多收入,因此公司正在使用大数据分析。通过实施大数据分析,公司的收入可能会大幅增长5-20%。一些使用大数据分析来增加收入的受欢迎的公司是-沃尔玛,LinkedIn,Facebook,Twitter,美国银行等。
10. 大数据开发面试题有什么
大数据开发的面试题有spark开发,hadoop应用等内容,具体开发岗,分析工程师有不同的内容,千锋网有很多相关面试题。