大数据面试之新浪面试题

学长1
一面

1)自我介绍
叫什么名字,来自哪里,本科哪个学校,硕士哪个学校,大数据做了多长时间,对Hadoop生态圈以及Spark生态圈中的哪些技术比较了解(很简单的一句就带过了),说完大概2min

2)技术部分
(1)让我介绍下Sqoop,说他没见过
我说Sqoop我用的不熟,知道怎么用,可以简单地给他介绍一下。然后就说Sqoop是HDFS、关系型数据、HBase它们三者之间传输数据用的,很方便。
(2)让我介绍MapReduce的运行过程
二话不说要笔要纸,手绘MapReduce从InputFormat到OutputFormat的流程,一边画图一边说。

3)项目部分
(1)让我介绍项目我都是给他要笔要纸,手绘架构图。
离线:data->flume->kafka->hdfs->hadoop/spark->mysql->前端展示
实时:data->flume->kafka->Spark Streaming->mysql->前端展示
kafka到hdfs是自定义的consumer
(2)为什么要使用Kafka,可不可以用Flume直接将数据放在HDFS上
我说可以用Flume将数据直接放在HDFS上,但是很少有人这么干,为什么要用Kafka我没有深入研究过(当时没想到咋说)
(3)让我介绍下项目中的指标,都是怎么实现的
我就挨个把我写上的项目指标说了下是什么意思,是怎么实现的(我简历上每个项目就写了几个指标,我感觉比较熟的),最后我说还有其他的很多指标,我做的就这些。

4)手写算法部分
(1)让我写链表的反转
我说链表没咋接触过,老师换个吧
(2)接下来让我手写单例
分分钟写了个双端检测单例
5)是否有问题问面试官
(1)最后说有没有问题要问他
问1:我就问他们大数据是做什么,一天的数据量有多大
答1:他给我说他们是做反垃圾的,一天的数据量上T了
问2:我就又问他们怎么定义的垃圾数据
答2:他就给我说一切影响用户体验的数据都是垃圾数据,比如说在用户的评论下面打广告之类的
然后我就说暂时没有了,他就让我在那等着了

二面
1)自我介绍
还是一面那一套

2)技术部分
(1)介绍MapReduce的运行过程
还是上面的一套。不过在我一边画图一边说的时候有人给他发消息,貌似挺着急,然后我就停下来了,他说不好意思他回个消息,我就说不着急,等您忙完咱再聊。

3)项目部分
(1)项目框架介绍
老一套
(2)问我写的公司做什么的
我说做电商的
(3)他又问具体都卖什么
我说什么都卖,就跟京东和淘宝似的,只不过规模小很多
(4)问我上家公司做大数据的有多少人
我说十多个吧
(5)问我公司在哪
我说在丰台
(6)问我一天的数据量有多大
我说APP端有十多个G,将近20多个G,浏览器端大概有四五十G
(7)又问我一天的访问量有多少
我当时心里就按照费老师说的10w个人1G的量大概算了下,说了个数

4)手写算法部分
(1)手写二分查找
二分是基于一个排好序的数组,我就问他数组排序用不用写,他说不用,然后就分分钟写完,最后我还说用不用手写MapReduce的WordCount以及Spark的WordCount的,一点问题没有。
(2)让我用Shell写一个脚本,对文本中无序的一列数字排序
我说Shell简单的我可以,比如说写个脚本,Crontab周期性调度一下,复杂的我得查下资料,也就没写
5)是否有问题问面试官
(1)最后说他没问题了,我有什么要问他的没
我说要我不,他笑了,然后他说除了这个
(2)我当时也没想到什么问题,就问了嘴他们的集群有多大
他说成千上万台

三面
1)自我介绍
(1)自我介绍
老一套
(2)问我哪一年毕业的,公司有多少人
我实话实说,说还没有毕业就去实习了,我说二三百人
(3)问我为什么要做这个,什么专业的
专业我实话实说的,然后说15年底16年初的时候原油价格暴跌,说以前行情好的时候最高一桶原油120美元,巅峰能达到160,我找工作那年最低的时候25,行情特别差,自己比较喜欢编程,硕士毕业的东西都是用MATLAB实现的,然后就自己学的Java,找的这个工作,进去以后领导让做大数据,就跟着老师傅干了。

2)技术部分
(1)问我Kafka用的那个版本
0.11
(2)问我ZooKeeper的常用命令
我说Status(基本全忘了,就这个记得很清楚),他说还有呢,我说ls,然后我又说忘的差不多了,但是我知道它的命令和Linux命令差不多,都是那一套,那老师也就没再问。
(3)问我myisam和innodb的区别
我就按照阳哥讲的,先说了下myisam不支持主外键,不支持事物,它是表锁,不适合高并发,而innodb则不是,然后他又问我还有没,我说了解就这么多,他也没再问
(4)他又问我一句如果单线程访问,myisam和innodb那个性能好一点
我说myisam吧,因为它不支持事物,要快一些
然后他又问我一个问题,我没答上来,我忘了那个问题是啥了
(5)问我Redis常用的命令
我顿了一两秒甩了一句keys*,他笑着说可以可以
(6)问我为什么要用Redis
我就说Redis是内存型数据库,以前访问量没那么大的时候关系型数据库完全可以胜任,但是在高并发的情况下访问量一大,关系型数据就不行了,所以就有了Redis
(7)问我了解HBase不
我说了解不多,就知道它是一个非关系型数据库,它也就没再问
(8)然后问我机械硬盘和SSD硬盘的差别了解不
我说SSD读写快,然后他说是,他又问我底层了解不,为什么SSD读写快,我没答出来,他又说从硬盘读取数据首先要干什么,我说寻址(然后突然一下子好像明白了,就跟他扯了扯)
(9)然后他又问我机械硬盘每秒读取次数多少知道不
我说我不知道,没研究这么深,但是我说我知道我们大数据读取数据的时候寻址不超过10ms(我当时心里这样想的,这些东西我没接触过,我要往大数据上靠,要引导他去问我大数据的东西),结果他说知道这个能算出来机械硬盘1秒能读多少次,然后我好想明白了,就1s/10ms呗,他说是,也就100来次

3)项目部分
(1)问我一天的数据量有多大
我还是按照原来的那个说的,他说不到100G单机就能搞定吧,我说公司就这么定的,然后尴尬不失礼貌地笑了笑(跟尽际老师学的)
然后就看着简历问了一些问题
(2)问我Azkaban一天调度多少个任务
我说三五百个吧
(3)然后他问我这么一个问题,他说你做这些项目需要埋点日志的对吧,然后说如果后台的人不愿意给你加这个埋点,嫌麻烦,你怎么办
我愣了一会,随口说了句,吃顿饭,那老师当场笑了,然后他说这算是个办法,他又说如果这个人没时间,没工夫跟你吃饭,你怎么办,我当时傻笑了两下,没回答。
4)场景题,手写SQL
场景1:是这样的,一张表三个字段,分别是学生名字、科目名字、科目得分,让我用sql把总分最高的找出来
我说我数据掌握不太好,试着写写。
我用了个子查询,先按学生分组,然后求每个学生的总分数
然后在外部查询中求最大的
我一开始在子查询中直接对用聚合函数求的sum_score排序了,他看了以后说能这么做么,我说我忘了,然后我又说子查询不行的话咱们就在外部查询排序呗,然后反问他可以吧,他说可以的
5)平时学习习惯
CSDN、博客园、Apache官网
6)是否有问题问面试官
(1)最后他说他差不多了,我有什么要问他的没
我问了下他业务方面的一些,也没想到啥,随便问的
(2)最后我又问他,他刚才问我埋点日志后台的人不给加怎么办
他给我说这个需要各个组协调好,不然别干活了,就扯了一会

四面
1)自我介绍
老一套
2)技术部分
(1)介绍MapReduce的运行流程
本来我说给他手画的,他不让,说介绍就行。我就从InputFormat开始到OutputFormat给他说了一遍。
然后他就说按着简历来问
(2)让我说下myisam和innodb的区别
老一套
(3)然后看着简历说你知道HDFS的存储过程,我说需不需要我说一下
然后我就把海哥hadoop存储过程那几个图给他说了一遍
3)项目部分
让我介绍下我写的三个项目都是干啥的,我就没画图,给他介绍了下每个项目具体是做啥的,怎么做的(什么领导层要看指标啊啥的)
4)平时学习习惯
还是CSDN、博客园、Apache官网,说都是晚上和周六周天自己学的
(1)问我喜不喜欢技术
我说很喜欢,我说了以后他说为什么喜欢,我就说我搭建起来一个集群很有成就感,能在我女朋友面前炫耀一番。。。
(2)问我喜欢跟人打交道还是喜欢跟机器打交道
我按照实际情况说了下,说比较宅,比较喜欢跟机器打交道,还说从小就比较喜欢玩小霸王游戏机之类的。。。

五面HR
教训:和HR接触不要激动,不要表现的很倾向来她们公司,因为后面工资可能不好谈,要不到理想的价位。
1)自我介绍
老一套
2)人事高频问题
(1)有没有别的offer,面试几家了
我说这周一开始投的简历,在等百度的offer,上午面试的58到家,但是58到家做Hive比较多,我了解不多
(2)问我什么时候辞职的
我说十一月初
(3)问我为什么现在才找工作
说回家一趟,大半年没回家了,这两天刚回来
(4)上家薪资多少
我就按照我心里的想法和马老师说的大概说了个数
然后说什么他们很严格,如果不行会马上辞退啥的,最后说看我能力可以,问我啥时候可以上班,让我准备下薪资流水和离职证明

学长2
1)技术部分
(1)Kafka吞吐量怎么优化
(2)Hive底层,SQL、表关联、窗口函数、聚合函数、一堆场景题
(3)Join对应的MR
(4)一张小表Join一张大表 在MR上怎么JOIN
(5)map()阶段聚合
(6)Spark job流程
2)项目部分
(1)上个月用户访问次数最大的IP
(2)TopN
(3)日活实时统计
(4)SparkStreaming的活动窗口大小,数据重复怎么办?
(5)数据仓库ODS -》 DWD 用什么写的脚本?
3)算法部分
(1)二分查找
(2)字符串反转

学长3
1)技术部分
(1)HDFS的小文件处理。
(2)Hive调优,数据倾斜问题
(3)Spark任务提交流程
(4)MR任务提交Yarn流程
(5)HDFS的读写流程,Shuffle流程,Shuffle过程的归并排序具体怎么做。
(6)是否用了currenthashmap,高并发问题就高枕无忧了
(7)线程池了解吗?
(8)怎么判断一个Kafka消费者挂了
(9)了解Redis,MySQL吗,MySQL的索引了解吗?
(10)select。。。for update是什么锁?
(11)MySQL底层文件存储
(12)读过哪些框架的源码?
(13)JVM底层原理
(14)Spark的distinct()算子底层
(15)布隆过滤器
(16)Zookeeper的作用,Zookeeper单独的事务,Nginx的作用,只做收集数据吗?
(17)说一下Kafka的架构,描述hw leo,Kafka的优化,怎么做幂等,你们做业务幂等性,为什么消费者怎么看到hw。消息的一致性能解决什么问题,kafka事务怎么理解。
(18)Spark的Shuffle过程
(19)HBase怎么预分区
(20)Redis有多少曹,Redis的持久化,你们在项目中怎么用Redis的,如何防止雪崩。
(21)mysql update一条语句,需要走那些流程。
(22)了解ES吗?
(23)Yarn执行一个任务用了多少core
(24)produce给Kafka的一个topic发送消息,topic的一个分区挂掉,他的副本也全部挂掉,这个topic还能用吗
(25)有没有用JavaAPI去读Kafka的数据
(26)Spark读取Kafka数据的方式?
(27)Hive的内表和外表的区别,Hive为什么要做分区,Hive的元数据存在哪?
(28)列式存储和关系型数据库的区别
(29)Java中正则表达式用到哪些类?
(30)unlock和synchronzed的区别?
(31)编写SparkSQL的步骤?
2)项目部分
(1)写实时项目遇到了哪些问题
(2)拉链表的创建,连续三天登陆
(3)你们公司日活,月活,留存多少?你们团队多少人?
(4)为什么加最后一层Flume,不能直接Flume到HDFS吗?
(5)分析指标,对APP有什么影响。提升了百分之多少?
(6)有没有访问Kafka的所有Topic的权限
(7)有没有做Hive表的权限管理。
3)算法部分
(1)归并排序
(2)删除单链表的一个节点
4)情景题:
(1)Spark:如果消费Kafka中的数据时,某个分区内数据因为种种原因丢失了一条(也可理解成因为某些条件被过滤了),现在需要重新把这条数据纳入计算结果中。怎么解决?
(2)a left join b on a.id = b.id and b.age = 20
a left join b on a.id = b.id where b.age = 20
的结果有什么区别
5)平时学习习惯
(1)你最近在研究什么?

学长4
1)项目介绍
介绍一下项目,你主要负责哪部分,最精通什么
2)技术部分
(1)HDFS读写机制,DataNode怎么保证数据可靠性,原理是什么(答副本,说不对)
(2)MR的过程详细说一下
(3)使用MR写出Join过程
(4)日常开发哪里用到Java多线程,怎么写
(5)说一下并发和同步,单例必须加同步锁么?为什么
(6)说一下MR的底层源码,你研究了哪部分?
(7)说说Spark的底层源码吧

学长4



在这里插入图片描述

大数据面试之新浪面试题相关推荐

  1. 【最全的大数据面试系列】Hadoop面试题大全(一)

  2. 【名企面试经验-新浪-校招提前批】【数据平台研发工程师】

    offer 一面: 1.介绍项目 2.算法基础知识 3.Java基础知识 4.如何排查线程死锁 5.对大数据的看法 6.如果能过愿意提前来实习吗 二面: 1.介绍了团队情况和具体做的事情,然后就是瞎聊 ...

  3. 大数据面试之360面试题

    大数据面试之360面试题 学长1 1)技术部分 (1)常用的Linux命令,Shell的awk.sed.sort.cut是用来处理什么问题的? (2)Hive有自带的解析json函数,为什么还要自定义 ...

  4. 大数据面试-06-大数据工程师面试题

    3.14 1.一个Hadoop环境,整合了HBase和Hive,是否有必要给HDFS和Hbase都分别配置压缩策略?请给出对压缩策略的建议. hdfs在存储的时候不会将数据进行压缩,如果想进行压缩,我 ...

  5. python人工智能面试题爱奇艺面试题_【爱奇艺Python面试】爱奇艺大数据面试 python-看准网...

    爱奇艺大数据面试 python 通知的今天上午11点爱奇艺一轮面试,今天!周末!周末!周末!竟然还要面试,内心很无语,上个星期人家腾讯还是周一面试呢,但是,想想宿舍的一个小伙伴今天上午9点半的面试,庆 ...

  6. 大数据面试求职经验总结

    写在前面:空杯心态,多投多改,把握好校招机会,它是你最容易通往大厂的机会. 面试经验分享: 1. 提前了解应聘公司信息,知道该公司是做什么的,发展情况,招聘的岗位的要求等 : 2.面试不要说自己是培训 ...

  7. 大数据面试3分钟自我介绍_大数据面试要注意哪些方面?大数据面试准备三大攻略...

    大数据面试要注意哪些方面?一般来说,求职者要做好自我介绍.面试提问和专业考题三大方面的准备.下面是小编专门为大数据求职者整理的面试攻略,希望对大家找工作有所帮助. 一.大数据面试的自我介绍. 面试一开 ...

  8. 2021超全大数据面试宝典,吐血总结十万字,大数据面试收藏这一篇就够了

    本文最新版已发布至公众号[五分钟学大数据] 获取此套面试题最新pdf版,请搜索公众号[五分钟学大数据],对话框发送 面试宝典 扫码获取最新PDF版: 版本 时间 描述 V1.0 2020-02-18 ...

  9. 依托大数据的财务管理新路径

    互联网技术是人类社会的一项重大变革,在此情况下海量信息充斥在网络中,大数据时代到来.企业管理在海量信息的帮助下发展迅速,尤其是财务管理,在数据支撑下管理起来方便快捷,企业能通过广阔的网络渠道获取所需信 ...

最新文章

  1. HTML事件的执行顺序
  2. linux php7 安装redis扩展(php7可以使用自测)
  3. 【2021云边协同大会】阿里云周哲畅聊边缘云基础设施创新发展及场景化实践
  4. ubuntu下解压和压缩命令
  5. Android开发者指南(4) —— Application Fundamentals(二)
  6. .NET Core快速入门教程 5、使用VS Code进行C#代码调试的技巧
  7. python面向对象编程从零开始_Python面向对象编程从零开始,从没对象到有对象
  8. 跑腿同学校园小程序源码-已测试
  9. JUnit5 测试套件示例
  10. redis的数据持久化方案
  11. [转]关于ORA-00979 不是 GROUP BY 表达式错误的解释
  12. Symantec 赛门铁克招聘 Security Response Manager
  13. 七本前端(javascript、css)最著名工具书免费下载
  14. 软件开发培训要学多久?怎么学?软件开发培训班多少钱?
  15. j2ee与j2se对比
  16. Borůvka (Sollin) 算法求 MST 最小生成树
  17. Android基于安卓手机个人理财系统
  18. One Billion Customers
  19. OA系统面试时如何介绍的思路
  20. 关于电脑安装新硬盘,出现无法是识别设备,03F0问题解答。

热门文章

  1. MYSQL主从部署(Censo:6)
  2. 响铃:718 Apple产品京东超级品牌日,如何反映互联网营销大趋势?
  3. Python爬虫抓取某音乐网站MP3(下载歌曲、存入Sqlite)
  4. JavaScript设计模式——工厂模式
  5. 强化学习训练Agent走直线
  6. 密码学---公钥密钥---背包密码体制
  7. iOS查询iTunes中国商店的APP信息
  8. 结合黏菌觅食行为的改进多元宇宙算法
  9. 电脑连不上网,排查原因
  10. 大学生性价比计算机推荐,快开学了 大学生该如何选择一款高性价比电脑?