❶ 数据分析师面试题目和答案:动手题
【导读】众所周知,随着社会的发展,数据分析师成为了炙手可热的热门执业,一方面是其高薪待遇另一方面就是其未来广阔的发展前景。一般情况下用人单位会给问答题和动手题来检测应聘者的真实实力,可以说面试笔试是非常重要的一个环节。它可以直接测验你对数据分析具体理论的掌握程度和动手操作的能力。为此小编就以此为例和大家说说2020年数据分析面试解答技巧:动手题,希望对大家有所帮助。
动手题
1. 我给你一组数据,如果要你做数据清洗,你会怎么做?
实际上,这一道题中,面试官考核的是基本的数据清洗的准则,数据清洗是数据分析必不可少的重要环节。你可能看到这个数据存在 2 个问题:典韦出现了 2
次,张飞的数学成绩缺失。
针对重复行,你需要删掉其中的一行。针对数据缺失,你可以将张飞的数学成绩补足。
2. 豆瓣电影数据集关联规则挖掘
在数据分析领域,有一个很经典的案例,那就是“啤酒 +
尿布”的故事。它实际上体现的就是数据分析中的关联规则挖掘。不少公司会对这一算法进行不同花样的考察,但万变不离其宗。
如果让你用 Apriori 算法,分析电影数据集中的导演和演员信息,从而发现两者之间的频繁项集及关联规则,你会怎么做?
以上就是小编今天给大家整理发送的关于“数据分析师面试题目和答案:动手题”的相关内容,希望对大家有所帮助。想了解更多关于数据分析及人工智能就业岗位分析,关注小编持续更新。
❷ 大数据面试题及答案谁能分享一下
大数据时代才刚刚开始。随着越来越多的公司倾向于大数据运营,人才需求达到历史最高水平。这对你意味着什么?如果您想在任何大数据岗位上工作,它只能转化为更好的机会。您可以选择成为数据分析师,数据科学家,数据库管理员,大数据工程师,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。
欢迎咨询慧都在线客服,我们将帮您转接大数据专家团队,并发送相关资料给您!
以上就是大数据面试题及答案,希望我的回答对您有帮助!
❸ 十大经典思维面试题 十大经典思维面试问题有哪些
1、“请你自我介绍一下”思路:这是面试的必考题目。介绍内容要与个人简历相一致。表述方式上尽量口语化。要切中要害,不谈无关、无用的内容。条理要清晰,层次要分明。事先最好以文字的形式写好背熟。
2、“谈谈你的家庭情况”思路:况对于了解应聘者的性格、观念、心态等有一定的作用,这是招聘单位问该问题的主要原因。简单地罗列家庭人口。宜强调温馨和睦的家庭氛围。宜强调父母对自己教育的重视。宜强调各位家庭成员的良好状况。宜强调家庭成员对自己工作的支持。宜强调自己对家庭的责任感。
3、“你有什么业余爱好?”思路:业余爱好能在一定程度上反映应聘者的性格、观念、心态,这是招聘单位问该问题的主要原因。最好不要说自己没有业余爱好。不要说自己有那些庸俗的、令人感觉不好的爱好。最好不要说自己仅限于读书、听音乐、上网,否则可能令面试官怀疑应聘者性格孤僻。最好能有一些户外的业余爱好来“点缀”你的形象。
4、“你最崇拜谁?”思路:最崇拜的人能在一定程度上反映应聘者的性格、观念、心态,这是面试官问该问题的主要原
因。不宜说自己谁都不崇拜。不宜说崇拜自己。不宜说崇拜一个虚幻的、或是不知名的人。不宜说崇拜一个明显具有负面形象的人。所崇拜的人人最好与自己所应聘的工作能“搭”上关系。最好说出自己所崇拜的人的哪些品质、哪些思想感染着自己、鼓舞着自己。
5、“你的座右铭是什么?”思路:座右铭能在一定程度上反映应聘者的性格、观念、心态,这是面试官问这个问题的`主要原
因。不宜说那些医引起不好联想的座右铭。不宜说那些太抽象的座右铭。不宜说太长的座右铭。座右铭最好能反映出自己某种优秀品质。参考答案——“只为成功找方法,不为失败找借口”
6、“谈谈你的缺点”思路:不宜说自己没缺点。不宜把那些明显的优点说成缺点。不宜说出严重影响所应聘工作的缺点。不宜说出令人不放心、不舒服的缺点。可以说出一些对于所应聘工作“无关紧要”的缺点,甚至是一些表面上看是缺点,从工作的角度看却是优点的缺点。
7、“谈一谈你的一次失败经历”思路:不宜说自己没有失败的经历。不宜把那些明显的成功说成是失败。不宜说出严重影响所应聘工作的失败经历,所谈经历的结果应是失败的。宜说明失败之前自己曾信心白倍、尽心尽力。说明仅仅是由于外在客观原因导致失败。失败后自己很快振作起来,以更加饱满的热情面对以后的工作。
8、“你为什么选择我们公司?”思路:面试官试图从中了解你求职的动机、愿望以及对此项工作的态度。建议从行业、企业和岗位这三个角度来回答。参考答案——“我十分看好贵公司所在的行业,我认为贵公司十分重视人才,而且这项工作很适合我,相信自己一定能做好。”
9、“对这项工作,你有哪些可预见的困难?”思路:不宜直接说出具体的困难,否则可能令对方怀疑应聘者不行。可以尝试迂回战术,说出应聘者对困难所持有的态度——“工作中出现一些困难是正常的,
也是难免的,但是只要有坚忍不拔的毅力、良好的合作精神以及事前周密而充分的准备,任何困难都是可以克服的。”
10、“如果我录用你,你将怎样开展工作”思路:如果应聘者对于应聘的职位缺乏足够的了解,最好不要直接说出自己开展工作的具体办法。可以尝试采用迂回战术来回答,如“首先听取领导的指示和要求,然后就有关情况进行了解和熟悉,接下来制定一份近期的工作计划并报领导批准,最后根据计划开展工作。”
❹ 大数据面试题以及答案整理(一)
一、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的服务器
❺ 大公司笔试面试有哪些经典算法题目
大公司的笔试面试一般是针对你所面试的岗位进行一些专业知识的考核,不会出现想考公员里面的行测似得,当然也有哪些逆向思维的计算题。
❻ 数据分析师常见的7道面试题及答案
1、海量日志数据,提取出某日访问网络次数最多的那个IP。
首先是这一天,并且是访问网络的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几个)及相应的频率。然后再在这1000个最大的IP中,找出那个频率最大的IP,即为所求。
或者如下阐述:
算法思想:分而治之+Hash
1.IP地址最多有2^32=4G种取值情况,所以不能完全加载到内存中处理;
2.可以考虑采用“分而治之”的思想,按照IP地址的Hash(IP)24值,把海量IP日志分别存储到1024个小文件中。这样,每个小文件最多包含4MB个IP地址;
3.对于每一个小文件,可以构建一个IP为key,出现次数为value的Hashmap,同时记录当前出现次数最多的那个IP地址;
4.可以得到1024个小文件中的出现次数最多的IP,再依据常规的排序算法得到总体上出现次数最多的IP;
2、搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。
假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个。一个查询串的重复度越高,说明查询它的用户越多,也就是越热门。),请你统计最热门的10个查询串,要求使用的内存不能超过1G。
典型的TopK算法,还是在这篇文章里头有所阐述,
文中,给出的最终算法是:
第一步、先对这批海量数据预处理,在O(N)的时间内用Hash表完成统计(之前写成了排序,特此订正。July、2011.04.27);
第二步、借助堆这个数据结构,找出TopK,时间复杂度为N‘logK。
即,借助堆结构,我们可以在log量级的时间内查找和调整/移动。因此,维护一个K(该题目中是10)大小的小根堆,然后遍历300万的Query,分别和根元素进行对比所以,我们最终的时间复杂度是:O(N)+N’*O(logK),(N为1000万,N’为300万)。ok,更多,详情,请参考原文。
或者:采用trie树,关键字域存该查询串出现的次数,没有出现为0。最后用10个元素的最小推来对出现频率进行排序。
3、有一个1G大小的一个文件,里面每一行是一个词,词的大小不超过16字节,内存限制大小是1M。返回频数最高的100个词。
方案:顺序读文件中,对于每个词x,取hash(x)P00,然后按照该值存到5000个小文件(记为x0,x1,…x4999)中。这样每个文件大概是200k左右。
如果其中的有的文件超过了1M大小,还可以按照类似的方法继续往下分,直到分解得到的小文件的大小都不超过1M。
对每个小文件,统计每个文件中出现的词以及相应的频率(可以采用trie树/hash_map等),并取出出现频率最大的100个词(可以用含100个结点的最小堆),并把100个词及相应的频率存入文件,这样又得到了5000个文件。下一步就是把这5000个文件进行归并(类似与归并排序)的过程了。
4、有10个文件,每个文件1G,每个文件的每一行存放的都是用户的query,每个文件的query都可能重复。要求你按照query的频度排序。
还是典型的TOPK算法,解决方案如下:
方案1:
顺序读取10个文件,按照hash(query)的结果将query写入到另外10个文件(记为)中。这样新生成的文件每个的大小大约也1G(假设hash函数是随机的)。
找一台内存在2G左右的机器,依次对用hash_map(query,query_count)来统计每个query出现的次数。利用快速/堆/归并排序按照出现次数进行排序。将排序好的query和对应的query_cout输出到文件中。这样得到了10个排好序的文件(记为)。
对这10个文件进行归并排序(内排序与外排序相结合)。
方案2:
一般query的总量是有限的,只是重复的次数比较多而已,可能对于所有的query,一次性就可以加入到内存了。这样,我们就可以采用trie树/hash_map等直接来统计每个query出现的次数,然后按出现次数做快速/堆/归并排序就可以了。
方案3:
与方案1类似,但在做完hash,分成多个文件后,可以交给多个文件来处理,采用分布式的架构来处理(比如MapRece),最后再进行合并。
5、给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?
方案1:可以估计每个文件安的大小为5G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。
遍历文件a,对每个url求取hash(url)00,然后根据所取得的值将url分别存储到1000个小文件(记为a0,a1,…,a999)中。这样每个小文件的大约为300M。
遍历文件b,采取和a相同的方式将url分别存储到1000小文件(记为b0,b1,…,b999)。这样处理后,所有可能相同的url都在对应的小文件(a0vsb0,a1vsb1,…,a999vsb999)中,不对应的小文件不可能有相同的url。然后我们只要求出1000对小文件中相同的url即可。
求每对小文件中相同的url时,可以把其中一个小文件的url存储到hash_set中。然后遍历另一个小文件的每个url,看其是否在刚才构建的hash_set中,如果是,那么就是共同的url,存到文件里面就可以了。
方案2:如果允许有一定的错误率,可以使用Bloomfilter,4G内存大概可以表示340亿bit。将其中一个文件中的url使用Bloomfilter映射为这340亿bit,然后挨个读取另外一个文件的url,检查是否与Bloomfilter,如果是,那么该url应该是共同的url(注意会有一定的错误率)。
Bloomfilter日后会在本BLOG内详细阐述。
6、在2.5亿个整数中找出不重复的整数,注,内存不足以容纳这2.5亿个整数。
方案1:采用2-Bitmap(每个数分配2bit,00表示不存在,01表示出现一次,10表示多次,11无意义)进行,共需内存2^32*2bit=1GB内存,还可以接受。然后扫描这2.5亿个整数,查看Bitmap中相对应位,如果是00变01,01变10,10保持不变。所描完事后,查看bitmap,把对应位是01的整数输出即可。
方案2:也可采用与第1题类似的方法,进行划分小文件的方法。然后在小文件中找出不重复的整数,并排序。然后再进行归并,注意去除重复的元素。
7、腾讯面试题:给40亿个不重复的unsignedint的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中?
与上第6题类似,我的第一反应时快速排序+二分查找。以下是其它更好的方法:
方案1:oo,申请512M的内存,一个bit位代表一个unsignedint值。读入40亿个数,设置相应的bit位,读入要查询的数,查看相应bit位是否为1,为1表示存在,为0表示不存在。
方案2:这个问题在《编程珠玑》里有很好的描述,大家可以参考下面的思路,探讨一下:
又因为2^32为40亿多,所以给定一个数可能在,也可能不在其中;
这里我们把40亿个数中的每一个用32位的二进制来表示
假设这40亿个数开始放在一个文件中。
❼ 大数据分析面试问什么
基本工具
包括规定动作和自选动作两类。
1.1 规定动作
SQL查询:JOIN ON、DISTINCT、GROUP BY、ORDER BY等等。从数据库中提取数据是数据分析的第一步。
1.2 自选动作
根据简历来问,简历上写什么就问什么,会问得比较深入。简历作为敲门砖,撰写也是非常重要的,切不可写的过于夸张和造假,奉劝各位不要作死,毕竟不作死都有可能会死。Python、Stata、R、SPSS、SAS、EViews都算比较常见的数据分析工具。
2.逻辑思维
主要分为两方面,对业务逻辑的理解能力和行文的逻辑水平。
2.1业务逻辑
虽然一个业务看似流程简单清晰,但产生数据的复杂程度往往超过大多数人的想象。对业务逻辑的考察主要通过相关项目经历。
2.2行文逻辑
毕竟最终产出是一份份报告,可能是HTML邮件也能是PDF。
3.理论储备
也分为规定动作和可选动作。
3.1 规定动作
主要是基础的统计学理论,如方差、协方差、算数平均数、几何平均数、中位数、众数、分位值、双峰数据、长尾数据、假设检验、期望迭代法则、贝叶斯原理等。
3.2 自选动作
根据简历来问,简历上写什么hr一定会问什么。
4.对细节的敏感度
作为数据分析师,每天要关注大量数据指标。对细节的敏感度是非常必要的。这主要分为两方面,对统计口径的敏感度和对数据的敏感度。
4.1 统计口径
统计口径一致是确保数据可比性的基础,这非常考验数据分析师的敏感度和行业经验。
4.2 数据
面试者对数据异常波动、离群值、平均数没有代表意义等情况的迅速识别能力。比如已知然寿司套餐单价1,500,酒水单价300,平均客单价2,500,能不能马上想到这可能是双峰数据或者长尾数据,抑或既双峰又长尾的数据?
5.学习能力
互联网行业瞬息万变,光数据的存储就有Oracle、MySQL、Hadoop、Spark、Hive、Impala、谷哥哥三驾马车等一大堆奇奇怪怪的东西。互联网行业的从业者经常要面对新需求、新工具、新方法。能否迅速掌握新知识,解决新问题面试者必须证明给hr看。主要考察的方式是了解过往项目经历,或者出作业题(比如Sci-Hub)。
6.排版和简单UI设计
数据分析报告必须简洁、清晰、重点突出。主要考察方式是出作业题让面试者限时交一份slides(就是PPT啦)出来。
7.价值观
主要看工作热情、态度、道德水平等等,这方面的问题比较随机。
❽ 招聘数据分析师时一般会出哪些面试题
下面给你整理了一部分应聘数据分析师会遇到的问题:
1、你处理过的最大的数据量?你是如何处理他们的?处理的结果。
2、告诉我二个分析或者计算机科学相关项目?你是如何对其结果进行衡量的?
3、什么是:提升值、关键绩效指标、强壮性、模型按合度、实验设计、2/8原则?
4、什么是:协同过滤、n-grams, map rece、余弦距离?
5、如何让一个网络爬虫速度更快、抽取更好的信息以及更好总结数据从而得到一干净的数据库?
6、如何设计一个解决抄袭的方案?
7、如何检验一个个人支付账户都多个人使用?
8、点击流数据应该是实时处理?为什么?哪部分应该实时处理?
9、你认为哪个更好:是好的数据还是好模型?同时你是如何定义“好”?存在所有情况下通用的模型吗?有你没有知道一些模型的定义并不是那么好?
10、什么是概率合并(AKA模糊融合)?使用SQL处理还是其它语言方便?对于处理半结构化的数据你会选择使用哪种语言?
11、你是如何处理缺少数据的?你推荐使用什么样的处理技术?
12、你最喜欢的编程语言是什么?为什么?