2019年美团、滴滴、蘑菇街Java岗9次面试总结
大概在三月份开始面了几家互联网公司,主要方向是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了,给我转分布式存储,不过需要重新面试,就没再继续面了。
滴滴(面试通过)
一面
自我介绍
介绍项目。
说说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。
总结:菜是原罪!!!鲁迅先生说:无论什么事,如果不断收集材料,积之十年,总可成一学者!日常积累和沉淀非常重要!
喜欢文章记得点个赞,感谢支持!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
基于阿里云 MaxCompute 构建企业云数据仓库CDW的最佳实践建议
在本文中阿里云资深产品专家云郎分享了基于阿里云 MaxCompute 构建企业云数据仓库CDW的最佳实践建议。 本文内容根据演讲视频以及PPT整理而成。 大家下午好,我是云郎,之前在甲骨文做企业架构师8年,目前是MaxCompute产品经理。在这么长的客户工作过程中,作为产品PD,一定是跟客户在一起的。我经常被一些问题挑战:云郎,我们现在要建数据仓库,我该怎么去规划?云郎,我现在这边是大数据的建设团队,好像数据团队不怎么理我,什么情况?云郎,我们这边现在建了一个平台,现在性能好像有问题,是不是我们哪些地方设计的有问题,还是考虑的不够?可以看到,不同的客户在不同的阶段有不同的问题,在这么多的客户问题里,背后到底隐藏了什么规律?在这里面有没有一些最佳实践,我们可以总结出来,让大家去少走一些弯路,这是我的出发点。既然谈到最佳实践,你一定要知
- 下一篇
Spark on HBase Connector:如何在Spark侧设置HBase参数
前言 X-Pack Spark可以使用Spark on HBase Connector直接对接HBase数据库,读取HBase数据表数据。有时在读取HBase时需要设置HBase的一些参数调整性能,例如通过设置hbase.client.scanner.caching的大小调整读取HBase数据的性能。使用Spark作为客户端查询HBase数据库的客户端需要有传递参数的能力。本文就列举了Spark侧传递HBase参数的方法。注意:本文的案例以X-Pack Spark和云HBase数据库作为背景。 案例描述 提前在HBase中创建一张表,表的格式如下: 表名:hbase_t0 CF: cf1 column1: cf1:col_str column2: cf1:col_int column3: cf1:col_float column4: cf
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS8编译安装MySQL8.0.19
- Docker安装Oracle12C,快速搭建Oracle学习环境