十余家公司大数据开发面经

背景介绍
楼主5月初入职滴滴实习,7月底得知今年滴滴不好转正,遂离职复习巩固 基础+项目 备战秋招。因为准备的时间比较早,有幸赶上了各大厂的提前批面试,面试岗位是大数据开发工程师,因为牛客上关于大数据的面经一直很少,所以写一篇大数据面经造福后来人,也记录一下这段难忘的时光。我本科是水利水电专业,研究生转入软件工程,编程语言用Java,做过一个大数据开发的项目,以Kafka作为数据总线,所以Kafka的问题会涉及的比较多,实习期间主要是写hive sql,所以会有比较难的sql题,大家可以结合自己的项目和实习经历进行针对性复习。下面的面经只涉及技术,hr面就不写了,因为不同公司会有重复的问题,重复的问题也不写了。个人觉得不错的大数据学习网站:http://dblab.xmu.edu.cn/blog/

腾讯IEG(offer)
一面(全程问基础):
1、介绍项目
2、String、StringBuffer、StringBuilder的区别,怎么理解String不变性
3、==和equals的区别,如果重写了equals()不重写hashCode()会发生什么
4、volatile怎么保证可见性,synchronized和lock的区别,synchronized的底层实现
5、sleep和wait的区别,sleep会不会释放锁,notify和notifyAll的区别
6、了不了解线程的局部变量,讲讲线程池参数
7、什么情况会发生死锁,死锁的处理方法
8、Cookie和Session的区别,怎么防止Cookie欺骗
9、从用户在浏览器输入域名,到浏览器显示出页面的过程
二面(全程怼项目,压力面):
1、看你写过UDF,谈谈对UDF的理解,写UDF的目的,代码怎么写的
2、改造hive表后怎么进行数据一致性校验的,有没有自动化流程
3、看你读过kafka源码,讲讲kafka broker的源码里面你最熟悉的类,以及这个类的主要方法,用的什么设计模式
4、项目里面从数据采集到最终的数据可视化,每个环节都有可能丢数据,怎么判断数据有没有丢,如果丢了如何定位到在哪一个环节丢的
5、项目里面为什么要用kafka stream做实时计算,而不是用spark或者flink,kafka sql和spark sql了解过吗
6、项目里面用到了时序数据库opentsdb,为什么要用这个,有没有跟其它的时序数据库对比过
7、平时逛不逛社区,有没有参与过开源项目
三面(接着怼项目):
1、看你写了实时计算的程序,你怎么保证计算的结果肯定是对的
2、数据接入的时候,怎么往kafka topic里面发的,用的什么方式,起了几个线程,producer是线程安全的吗
3、kafka集群有几台机器,怎么确定你们项目需要用几台机器,有评估过吗,吞吐量测过吗
4、spark streaming是怎么跟kafka交互的,具体代码怎么写的,程序执行流程是怎样的,这个过程中怎么确保数据不丢
5、kafka监控是怎么做的,kafka中能彻底删除数据吗,怎么做的
面委会(全程聊天):
平时是怎么学习的,爱看哪些博客,怎么看待加班,有没有成为leader的潜力

网易考拉(offer)
一面:
1、sql题:学生成绩表,把每科最高分前三名统计出来
2、算法题:二维数组中的查找
3、kafka如何保证高吞吐的,了不了解kafka零拷贝,具体怎么做的
4、sql有几种join,map join了解过没
5、hbase中row key该怎么设计
6、hdfs文件上传流程,hdfs的容错机制
7、怎么解决hive数据倾斜问题
二面(全程写写写):
1、算法题:二维矩阵相乘
2、算法题:链表中环的入口
3、写一下mysql binlog的数据格式,怎么进行数据清洗的
4、写一个正则表达式进行手机号匹配
5、讲一下数据仓库层级的划分,每层的作用

美团新到店(offer)
去了北京美团公司里面试,一上午面完,第二天通知高分通过
一面(简单的聊了聊,10min):
1、介绍项目,以及滴滴的实习经历
2、JVM内存的划分
3、垃圾收集算法
4、数据建模,星型模型和雪花模型
5、数仓层级的划分,怎么对接到mysql拿数据
二面:
1、sql题:写一条sql删除订单表中重复的记录
2、sql题:一张网页浏览信息表,有两列,一列是网页ip,一列是浏览网页的用户(比如a或者b、c、d直到z),求这些网页被a和b或者a和c或者b和c两两组合访问的次数
3、hive数据倾斜产生的原因,怎么解决
4、设计学生成绩管理系统,符合第三范式要求,并绘出UML图
5、算法题:斐波那契数列
6、spark程序的运行流程
7、spark streaming从kafka中读数据的两种方式
8、讲讲数据库索引,B树和B+树
9、Elasticsearch的索引,单field索引和多field的联合索引
10、linux查看某文件的大小,vim中怎么替换内容
11、海量数据的Count问题(单机),如果把大文件hash成不同的小文件,此时小文件装不下某个key对应的数据,该怎么办
12、智力题:8升水,有一个5L的杯子和3L的杯子,怎么得到4升水
三面:
1、osi七层模型,三次握手和四次挥手,为什么两次握手不行
2、kafka怎么保证高吞吐量,项目中有测过吞吐量吗,相比于其它MQ,为什么会选择kafka,kafka怎么保证exactly once语义
3、了解hbase吗,hbase为什么查询速度快
4、hive sql怎么转换成底层的MapReduce程序,以及shuffle的过程
5、算法题:被围绕的区域,leetcode第130题原题
6、智力题:一头母牛每年生一头小母牛,每头小母牛从第四年开始,每年也会生一头小母牛,写个公式求第n年会有多少头牛

小米(offer)
一面:
1、java和python的区别,对面向对象的理解,和面向过程相比有什么区别
2、java为什么不能多继承
3、讲一下java抽象类和接口
4、java中为什么要写非static方法
5、volatile和synchronized的区别
6、算法题:跳台阶问题
7、算法题:树的非递归后序遍历
8、设计题:一个停车场有一些大车位和小车位,大车只能停大车位,小车既能停大车位又能停小车位,实现这种场景下的调度系统
二面:
1、算法题:输入一个字符串,输出该字符串中字符的所有排列

贝壳(offer)
一面:
1、synchronized的底层实现
2、线程等待时位于哪个区域,具体讲一下
3、谈谈对kafka的理解,能讲多少讲多少
4、算法题:二分查找
5、快排的时间复杂度和空间复杂度,最优情况和最差情况分别是多少,是稳定排序吗,快排为什么快
二面:
1、介绍项目,项目中涉及到了一些算法,介绍一下
2、两道算法题:路径问题,leetcode上63题和64题原题
3、写正则表达式匹配电话号码
4、智力题:一张圆桌子,我和面试官轮流往桌子上放硬币(随便放),直到桌子放不下为止,最后一个放硬币的人赢,如果我先放,怎么保证我肯定赢

华为(offer)
一轮玄学面:
面试官是做安卓的,瞧不起大数据,觉得大数据很虚,我跟他bb了一堆。然后问我有没有女朋友,我说以前有,现在分了;问我什么时候谈的,什么时候分的,我说本科谈的,毕业分了;问我为什么要分,此处省略一万字......问我现在想没想过再谈,我说毕竟转专业过来的,想趁在校期间利用好短暂的时光提升自己的技术水平(其实因为找不到);然后面试官说以后工作了就不好找咯,我说您说的有道理............

快手(offer)
一面:
1、jvm类加载机制,类加载器,双亲委派模型
2、java实现多线程的方式
3、spark怎么划分stage,宽窄依赖,各包括哪些***作
4、zookeeper怎么保证原子性,怎么实现分布式锁
5、写个快排,为什么要用三数取中法,好处是什么
二面:
1、sql题:找出单科成绩高于该科平均成绩的同学名单(无论该学生有多少科,只要有一科满足即可)
2、sql题:找出单科成绩高于该科平均成绩的同学名单(该学生所有科都必须满足)
3、算法题:求数组中连续子数组的最大和
4、算法题:使用最小花费爬楼梯,leetcode746题原题
三面:
1、讲一下java IO
2、算法题:输入n个整数,找出其中最大的k个数
3、算法题:给一个整数数组和一个目标值,找出数组中和为目标值的两个数

完美世界(offer)

京东广告部(四面完没了消息)

阿里菜鸟(三面完已回绝)
阿里的面试还是比较重视基础的,应该是bat里面问基础问的最多的
一面:
1、HashMap和HashTable的区别,HashMap怎么解决hash冲突,jdk1.8后对HashMap的改进
2、讲讲ConcurrentHashMap,ConcurrentHashMap怎么保证线程安全,HashTable怎么保证线程安全
3、HashSet的底层实现,是不是线程安全的
4、ArrayList和LinkedList的区别,是不是线程安全的
5、讲讲设计模式,最常用哪种设计模式,单例模式的实现方式
6、进程和线程,Java实现多线程的方式,什么是线程安全,怎么保证多线程线程安全
7、可重入锁的可重入性是什么意思,哪些是可重入锁
8、为什么要用线程池,线程池的好处
9、JVM垃圾处理方法,对象什么时候进入老年代,什么时候进行FullGC
10、Java堆溢出问题怎么处理,内存泄漏和内存溢出的区别
11、智力题:50个红球和50个黑球往两个桶里放,然后自己去抽,怎么样才能使抽到红球的概率最高
二面:
1、讲讲数据库存储引擎
2、介绍一下索引,索引设置的规则,聚簇索引和非聚簇索引的区别,索引的最左前缀原则
3、用过redis吗,redis支持哪些数据类型,redis与mysql的区别
4、了解垃圾收集器吗,分别介绍介绍
5、jvm调优做过没,-Xms和-Xmx分别指什么
6、算法题:输入两个字符串,输出它们合并排序后的结果
三面:
1、讲讲数据库的范式
2、Linux进程通信和线程通信
3、线程池的参数
4、什么是内部类,什么是匿名内部类
5、设计题:一个市有9个消防站,现在要新增3个消防站,这3个消防站应该放在哪里

另:
欢迎探讨相关技术;欢迎探讨人生规划;欢迎在逆境中昂起头颅、继续阔步向前!
#腾讯##网易##美团##面经##小米##贝壳找房#
全部评论
前排膜大佬,亲眼见证了大佬的offer收割历程,怀念与大佬一起实习合租的快乐时光
2 回复
分享
发布于 2018-09-14 20:19
求发大佬的子雨大数据资料🙏
1 回复
分享
发布于 2019-04-16 15:39
联易融
校招火热招聘中
官网直投
终于看到一个跟我一样从水利水电转计算机专业的了😄😄
点赞 回复
分享
发布于 2019-05-06 21:48
没有大数据项目支持,能找到大数据的工作吗还
点赞 回复
分享
发布于 2019-07-28 09:08
这是我见过大数据面经里面最有深度的面经
1 回复
分享
发布于 2020-08-30 11:18
华为是大厂面试中最搞笑的
6 回复
分享
发布于 2019-05-07 09:34
博哥你告诉我怎么才能成为你这样的大佬
点赞 回复
分享
发布于 2018-09-14 20:28
优秀!
点赞 回复
分享
发布于 2018-09-14 20:30
博哥你是如何做到如此优秀的
点赞 回复
分享
发布于 2018-09-14 20:34
大佬优秀,沾沾喜气
点赞 回复
分享
发布于 2018-09-14 20:38
大佬优秀,沾沾喜气
点赞 回复
分享
发布于 2018-09-14 20:38
沾沾喜气!
点赞 回复
分享
发布于 2018-09-14 20:43
请问楼主,自学大数据开发都要准备哪方面知识,谢谢!
点赞 回复
分享
发布于 2018-09-14 20:45
快手offer能转让吗老哥 ╥﹏╥...
点赞 回复
分享
发布于 2018-09-14 20:48
大佬优秀,沾沾大佬的喜气
点赞 回复
分享
发布于 2018-09-14 20:51
厉害了,前排膜
点赞 回复
分享
发布于 2018-09-14 20:54
大佬大佬,沾沾大佬喜气
点赞 回复
分享
发布于 2018-09-14 20:54
优秀
点赞 回复
分享
发布于 2018-09-14 20:56
膜拜大佬
点赞 回复
分享
发布于 2018-09-14 21:18
陈独秀都没你秀
点赞 回复
分享
发布于 2018-09-14 21:19

相关推荐

17 13 0 0,又是一次失败的笔试,也不能说不会,但****死活每题就过一点数据,优化耗了不少时间,有些题都没来得及细做,想看看大家发的解题思路,但奇怪的是,今天笔完nk上没相关帖子1.核心在于连边判断无向连通图,并统计个数,这个用的图的深度遍历,一开始提上去OOM了,仔细想了想,应该是图的存储结构有问题,我用了二维数组来存,由于点的个数太多,所以显然这里会生成一个大对象,造成oom,提交只过了17。于是优化存储方式,改成链式存储法,想着这次能节省不少空间,搞了半天,所有给的用例自测都通过了,一提交还**17😅2.核心在于判断一个数组内最长的连续子数组,核心部分用了快慢双指针,几个用例也全过了,提交**才过13。想着是不是有益出呢?改成用long存结果还是**13😅3.核心在于求图的连通分量,也是深度遍历,写的差不多了提交,一看过了0😋,自测用例有1个没过,后面发现了问题,但没时间改完,寄寄4.看着这B题,题目就长的不行,最后时间不够,选做的第三题,寄寄这笔试也太恶心了,不让用本地IDE,nk平台上的补全也不好使。最恶心的是前两个题,我觉得根本没问题,应该能a掉,但是汤姆死活过不了。有没有参加这场笔试的牛子呢?牛子们都是怎么解的?求个分享 #牛客在线求职答疑中心# #牛客解忧铺#
投递字节跳动等公司9个岗位 牛客在线求职答疑中心 牛客解忧铺
点赞 评论 收藏
转发
笔试 3.231. 给定一个0 1矩阵m*n,问0和1数量相等的2*2的区域有几个 // AC2. 给定一个字符串,问至少删除几次可以使得得到的串不含偶数长度的回文子串 // AC3. 给定一个排列,有些涂成了红色有些涂成了白色,只能交换两个红色的元素,问至少交换几次可以使得排列非递减 //  93.33%4和5忘了,没做出来一面 3.27问得比较都是偏理解的问题,没怎么问八股,比如mybatis如何实现与数据库的连接的,前端请求发来之后会到哪里(我答了springMVC执行流畅,但是他想问的是在计算机网络里的经过),根据简历里的项目问了redis的数据类型有哪些,zset底层如何实现的,然后聊了聊其他话题。代码题是给定一个数组nums,统计nums[i] + nums[j] + nums[k] == 0的三元组对i≠j≠k,三层循环的话会超时。二面 4.1自我介绍完先撕代码,大数加法,数用字符串存的。之后的提问都是先问宽泛一点的,然后根据回答会往细里问。先问的说出三个你认为Java在互联网公司广泛使用的原因。我答的OO,JVM,网络编程。问了OO的好处,如何避免垃圾回收,网络编程里问的springboot框架,controller的bean是单例还是多例,单例的话是怎样解决线程安全的。然后又问了我熟悉的中间件,具体问了mysql的索引好处,怎么实现的,为什么用B+树。再是项目介绍,问了评价指标如何。再就是聊学习技术之外的,然后出了个智力题,如何把一张纸均分三等分(当时拿张纸折了半天,比撕代码的时间还长...没搞出来),最后反问。二面还没结果,不知道有没有HR面,我爱美团,保佑美团收我🙏#面经#
点赞 评论 收藏
转发
104 1139 评论
分享
牛客网
牛客企业服务