您的位置:首页 > 大数据

2019年美团,滴滴,蘑菇街Java大数据面经分享!

2019-08-03 13:51 369 查看

作者:不清不慎!目前从事Java大数据开发相关的工作,对大数据spark等分布式计算领域有着浓厚的兴趣,欢迎一起交流,一起进步。


大概在三月份开始面了几家互联网公司,主要方向是java后端和大数据开发,最近整理学习资料,都快秋招了,发的有点晚了,不过还是想分享一下。美团,滴滴,蘑菇街等公司的面经。


美团


一面


聊你最熟悉的项目和技术。项目中为什么要使用spark。spark怎么划分stage,宽窄依赖,聊源码spark提交一个作业的执行流程(单机模式)spark driver节点,worker以及master节点遇到故障如何解决。spark checkpoint原理聊JVM内存划分与GC算法。JVM中为什么需要使用分代收集算法,有什么好处。手撕代码:输入一个链表和一个定值x,要求将值小于x的所有节点置换到x的左侧,值大于x的所有节点置换到x右侧,另外需要保持原有前后关系。比如:输入:1->4->3->2->5->2 and x = 3,输出:1->2->2->3->4->5.其中:1/2/2小于3,4/5大于3,而且输入的前后顺序也是1/2/2,4/5一面刚开始是分布式存储团队,主要技术栈是hadoop,hbase以及hive,后来感觉我对分布式计算感兴趣,面试官帮我转岗到实时计算组,接着二面。


二面


自我介绍聊项目,项目中有哪些难点,解决了什么问题?spark streaming集群如何做容灾处理。spark checkpoint原理。了解哪些海量数据去重的方法。flink和spark的区别?flink了解哪些,它的基本架构原理如何设计一个多级缓存系统,需要考虑到哪些问题?redis和zookeeper做分布式锁的区别,还有其他方式做分布式锁吗?一道算法:给定一个栈,使用O(1)的时间复杂度计算栈中的最小元素。了解哪些机器学习算法?做过相关项目吗?团队间协作需要注意哪些问题?如何后面让你做同样的一个系统,你会从之前的项目中吸取怎么样的经验。
三面


自我介绍深挖项目。如何理解大数据,它解决了什么问题。在一个很大的m*n的数组中,每一行有序,每一列无序,如何求其topk。进程之间如何通信。操作系统页的概念,每一页的大小是多少,为什么是这么多。一台机器可以建立的连接是否是无限的,影响它的因素有哪些?TCP断开连接时的time_wait状态?确定一个TCP连接的5元组。还有什么向问我的嘛?如何理解实时计算。过了几天,问了下,说是没HC了,给我转分布式存储,不过需要重新面试,就没再继续面了。


滴滴(面试通过)


一面 3ff7


自我介绍介绍项目。说说JVM gc算法,垃圾回收器。聊下java并发包的一些常用工具类聊spark源码。有什么想问的。
二面


redis的工作模型。redis如何处理过期数据。redis中hash类型求数据大小快还是将所有数据读出来快。数据库与缓存读写一致性问题。如果以上问题回答的不太完美,你会怎么办。spark的通信模型,集群发生故障是怎么办。spark的执行流程。java中有哪些锁。synchronized为什么是重量级锁。如果工作中提出不合理的需求你会怎么办。怎么看待加班。实习时间。过了几天面试官说面试通过,过几天老板会和我商量入职时间,然后过了几天。。。。HC被锁了。。


蘑菇街(offer)


一面


项目介绍,项目中的难点与亮点spark sql的UDF,UDAF函数的实现。Hive中如何实现UDF。hashmap源码中有哪些成员变量,什么时候适合增大负载因子,什么时候适合减小。java中float类型,类型转换。字符串的匹配。
二面


自我介绍java中有哪些锁java CAS,看过native方法源码没有什么是死锁,代码中出现了死锁怎么解决。求一颗二叉树中topk大的元素。java volatile关键字。spark执行流程。如何解决数据倾斜。实习时间,倾向的岗位。
三面


你有哪些优势大学期间对你影响最大的人你有哪些优点和缺点。对前面的面试自我感觉怎么样。期望薪资实习时间。最终拿到offer。


总结:菜是原罪!!鲁迅先生说:无论什么事,如果不断收集材料,积之十年,总可成一学者!日常积累和沉淀非常重要!


有道无术,术可成;有术无道,止于术欢迎大家关注Java之道公众号
好文章,我在看❤️

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: