招聘频道
当前位置:首页 > 名企招聘 > 求职技巧 > Java大数据面试常见的几大算法问题

Java大数据面试常见的几大算法问题

时间:2017-11-02 18:42:31作者:魔据大数据学院

目前Java大数据的人才稀缺,很多想进入大数据行业的人们经过了大数据培训学成出来,只剩下最后一步就能顺利进入大数据行业,就是Java大数据面试。很多IT人才技术操作很优秀,没有可挑剔的,但是就是在面试时总卡壳,同时毕业的学员都已经收到好几个offer了,但是这部分学员就是吃吃得不到企业的青睐,这是为什么呢,原因有很多,其中之一就是Java大数据面试题不过关,Java大数据面试常见的几大算法问题都有哪些,下面分享一些面试题的干货。

1、递归和迭代

对程序员来说,递归应该是一个与生俱来的思想(a built-in thought),可以通过一个简单的例子来说明。

问题: 有n步台阶,一次只能上1步或2步,共有多少种走法。

步骤1:找到走完前n步台阶和前n-1步台阶之间的关系。

为了走完n步台阶,只有两种方法:从n-1步台阶爬1步走到或从n-2步台阶处爬2步走到。如果f(n)是爬到第n步台阶的方法数,那么f(n) = f(n-1) + f(n-2)。

步骤2: 确保开始条件是正确的。

f(0) = 0;

f(1) = 1;

最直接的想法是将递归转换为迭代,对于这个例子来说,迭代花费的时间更少。

 

Java大数据面试常见的几大算法问题

Java大数据面试常见的几大算法问题

2、海量日志数据,提取出某日访问百度次数最多的那个IP

可以给出的方案是:IP的数目还是有限的,最多2^32个,所以可以考虑使用hash将ip直接存入内存,然后进行统计。

具体讲解一下该方案:前提条件是同一天,并且是访问百度的日志中的IP取出来,逐个写到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP及相应的频率。然后再在这1000个最大的IP中,找出那个频率最大的IP,就是所求的答案。

3、这是一道腾讯的面试题:给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中?

这道题有两种解决方案:

方案一:申请512M的内存,一个bit位代表一个unsigned int值。读入40亿个数,设置相应的bit位,读入要查询的数,查看相应bit位是否为1,为1表示存在,为0表示不存在;

方案二:给定一个数可能在也可能不在其中,把40亿个数中的每一个用32位的二进制来表示假设这40亿个数开始放在一个文件中。

然后将这40亿个数分成两类: 1.最高位为0 2,最高位为1 并将这两类分别写入到两个文件中,其中一个文件中数的个数<=20亿,而另一个>=20亿;与要查找的数的最高位比较并接着进入相应的文件再查找,再然后把这个文件为又分成两类: 1.次最高位为0 2.次最高位为1,并将这两类分别写入到两个文件中,其中一个文件中数的个数<=10亿,而另一个>=10亿;与要查找的数的次最高位比较并接着进入相应的文件再查找。以此类推,就可以找到了,而且时间复杂度为O(logn)。

Java大数据求职需要做哪些准备想要顺利进入名企的小伙伴,建议大家经常看看大数据相关面试题,尤其是一线知名企业的大数据问题,细细研究一下,勤加练习,多加操作,对提升自己的面试能力相当有用,比如魔据大数据的学员,在接受过大数据的系统培训后,掌握了大部分的大数据技能,不过这还不够,魔据就业指导老师除了教授面试时的一些可操控技能,比如面试礼仪、面试技巧等可以察言观色的技术外,还有更重要的就是内在知识结构了。魔据大数据讲师为给大家分析讲解大数据常见面试题,不仅能提高学员在面试过程中的知识应答技能,而且在学员进入到企业还能把这些技能理论应用到企业里。

魔据大数据保证学员百分百的就业,不仅为学员精修简历,教授面试技巧,还为学员分析面试过程中遇到的问题,魔据老师都会为大家耐心解决,如果学员一经成功入职了,但由于种种因素不想在该企业了,魔据就业老师仍然会为学员免费指导就业,为学员服务到底。

相关推荐:

Java大数据都能应用到什么领域

北京好的线下Java大数据培训班推荐

线下Java大数据培训班的优缺点分析


学习大数据敬请关注魔据教育微信二维码。
魔据教育微信二维码

【版权与免责声明】如发现内容存在版权问题,烦请提供相关信息发邮件至kefu@mojuedu.com,我们将及时沟通与处理。本站内容除非来源注明魔据教育,否则均为网友转载,涉及言论、版权与本站无关。

全国咨询热线:400-690-5006,值班手机:18501996998(7*24小时)

在线咨询:李老师QQ(226594285),陈老师QQ(428683440)

企业合作服务专线:010-82340234-821, 院校合作洽谈专线:010-82340234

Copyright 2001-2017 魔据教育 - 北京华育兴业科技有限公司 版权所有,京ICP备17018991号-2

免费在线咨询立即咨询

免费索取技术资料立即索取

大数据技术交流QQ:226594285

电话咨询010-82340234