您现在的位置是:首页 > 正文

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

2024-04-01 04:06:49阅读 2

大概校招的时候面了几家互联网公司,主要方向是java后端和大数据开发,最近整理下发出来

美团

一面

  1. 聊你最熟悉的项目和技术。
  2. 项目中为什么要使用spark。
  3. spark怎么划分stage,宽窄依赖,聊源码
  4. spark提交一个作业的执行流程(单机模式)
  5. spark driver节点,worker以及master节点遇到故障如何解决。
  6. spark checkpoint原理
  7. 聊JVM内存划分与GC算法。
  8. JVM中为什么需要使用分代收集算法,有什么好处。
  9. 手撕代码:
    输入一个链表和一个定值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,后来感觉我对分布式计算感兴趣,面试官帮我转岗到实时计算组,接着二面。

二面

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

三面

  1. 自我介绍
  2. 深挖项目。
  3. 如何理解大数据,它解决了什么问题。
  4. 在一个很大的m*n的数组中,每一行有序,每一列无序,如何求其topk。
  5. 进程之间如何通信。
  6. 操作系统页的概念,每一页的大小是多少,为什么是这么多。
  7. 一台机器可以建立的连接是否是无限的,影响它的因素有哪些?
  8. TCP断开连接时的time_wait状态?
  9. 确定一个TCP连接的5元组。
  10. 还有什么向问我的嘛?
  11. 如何理解实时计算。

过了几天,问了下,说是没HC了,给我转分布式存储,不过需要重新面试,就没再继续面了。

滴滴(面试通过)

一面

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

二面

  1. redis的工作模型。
  2. redis如何处理过期数据。
  3. redis中hash类型求数据大小快还是将所有数据读出来快。
  4. 数据库与缓存读写一致性问题。
  5. 如果以上问题回答的不太完美,你会怎么办。
  6. spark的通信模型,集群发生故障是怎么办。
  7. spark的执行流程。
  8. java中有哪些锁。
  9. synchronized为什么是重量级锁。
  10. 如果工作中提出不合理的需求你会怎么办。
  11. 怎么看待加班。
  12. 实习时间。

过了几天面试官说面试通过,过几天老板会和我商量入职时间,然后过了几天。。。。HC被锁了。。

蘑菇街(offer)

一面

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

二面

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

三面

  1. 你有哪些优势
  2. 大学期间对你影响最大的人
  3. 你有哪些优点和缺点。
  4. 对前面的面试自我感觉怎么样。
  5. 期望薪资
  6. 实习时间。

最终拿到offer。

总结: 菜是原罪!!!

网站文章

  • python3连接mysql数据库

    python3连接mysql数据库

    一、前置准备工作 安装mysql服务器(安装简单,基本是一路下一步,也可以自行百度查看安装教程) 注:本例基于MySQL服务端8.0.16版本的安装 https://dev.mysql.com/downloads/installer/ 二、安装成功后,打开Navicat Premium连接测试 三、连接...

    2024-04-01 04:06:43
  • 安装nginx和fastdfs报错记录

    因为之前nginx是用apt-get方式安装的,添加模块找了很久方法没找到,所以卸载了重装,卸载的方式是通过下面命令找到所有nginx相关的文件,然后rm -rf 或者rm -fsudo find ...

    2024-04-01 04:06:03
  • 湖南大学计算机考研分数线2019,湖南大学2019年考研分数线公布

    2019年硕士研究生招生考试考生进入复试的初试成绩基本要求经学校招生工作领导小组研究决定,湖南大学2019年硕士研究生招生考试考生进入复试的初试成绩基本要求和有关事项公布如下:一、学术学位报考学科门类总分单科(满分=100分)单科(满分>100分)哲学[01]3005090经济学[02]3355590法学[03]3205090教育学[04](不含体育学[0403])35555180体育学[0...

    2024-04-01 04:05:51
  • Learn Authoring pack

    Learn Authoring pack

    Learn Authoring Pack是一个为learn.microsoft.com的作者提供帮助的扩展工具包。它包含多个子扩展,其中之一是Learn Markdown,提供Markdown创作支持...

    2024-04-01 04:05:14
  • 除了Copilot还有这些AI代码辅助工具

    除了Copilot还有这些AI代码辅助工具

    aixcoder支持多种编程语言,包括Java、Python、C++、Php、JavaScript、TypeScript、Go等,也支持多种编辑器,如IntelliJ IDEA、Eclipse、PyC...

    2024-04-01 04:05:08
  • Java选择结构:学生成绩的等级划分

    【描述】编写程序,获取用户输入分数,按照100分制,90分以上成绩为A,80~90为B,70~80为C,60~70为D,60以下为E,将分数转换为A、B、C、D或E的形式打印输出(如果数据非法,则输出...

    2024-04-01 04:05:02
  • upload-labs第11~12关 00截断

    upload-labs第11~12关 00截断

    第九关 文件名后缀改为php,并在后面加上. .(点+空格+点) 第十关 可以双写绕过,后缀改为pphphp 第十一关 查看提示: 可以用%00进行截断 前提条件: php 版本 < 5.3.4...

    2024-04-01 04:04:55
  • Android国际化本地化遇见的坑

    项目中需要做国际化,设置好之后切换语言不起作用,最终发现是build文件写死了语言:resConfigs “zh-rCN” 如果要添加语言需要增加语种,例如:resConfigs “zh”, “en-rUS”

    2024-04-01 04:04:18
  • Luogu十月月赛整理

    前言: 这就是上次心态做崩的那次比赛,由于太弱现在也仅仅做出来三道,第一道是纯模拟题,但要注意几个点,否则是AC不了的;第二道是一个思维题,第三道是一个图论题,用到了DFS和SPFA算法还有差分约束;...

    2024-04-01 04:04:09
  • 黑马程序员——c语言学习---数据结构

    -----------android培训、java培训、java学习型技术博客、期待与您交流!------------ 本节来讨论c语言主要的数据结构,包括数组、结构体、共用体、枚举。首先从数组开始。 1、数组 数组为同一类型的基本数据的集合。我们知道,基本数据类型都占据一定的内存空间,基本数据类型的定义,实际上就是内存地址的分配过程,同样的,数组作为基本数据类型的集合,在创建时也必须进行

    2024-04-01 04:04:02