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。

总结:菜是原罪!!!鲁迅先生说:无论什么事,如果不断收集材料,积之十年,总可成一学者!日常积累和沉淀非常重要!
喜欢文章记得点个赞,感谢支持!

原文地址:https://blog.51cto.com/14442094/2423095

时间: 2024-08-03 18:45:22

2019年美团、滴滴、蘑菇街Java岗9次面试总结的相关文章

2019大厂Java岗面试题全曝光,刷完这1020道,金三银四大厂等你

2019大厂Java岗面试题全曝光,刷完这1020道,金三银四大厂等你 前言: 本文收集整理了各大厂常见面试题N道,你想要的这里都有 内容涵盖:Java.MyBatis.ZooKeeper.Dubbo.Elasticsearch.Memcached.Redis.MySQL.Spring.Spring Boot.Spring Cloud.RabbitMQ.Kafka.Linux 等技术栈,希望大家都能找到适合自己的公司,开开心心的撸代码. 看面试题可以是为了面试,也可以是对自己学到的东西的一种查漏

「Java岗」阿里150道面试题:JVM+并发+SpringBoot+Netty+Redis等

前言在过2个月即将进入9月了,然而面对今年的大环境而言,跳槽成功的难度比往年高了很多,很明显的感受就是:对于今年的java开发朋友跳槽面试,无论一面还是二面,都开始考验一个Java程序员的技术功底和基础.对源码解读和核心原理理解也是成了加分项,特别是对 Java 的一些核心基础知识点掌握的不够或者没有体系方向的朋友面试也成了一个苦恼的事情. 今天在这分享目前国内公司Java面试常问的问题包括JVM,并发编程和数据结构,分布式,SpringBoot,Netty,Redis缓存等.正所谓知己知彼,只

(java web后端方向)如何让你的简历为你争取到更多的面试机会,内容来自java web轻量级开发面试教程

我们在做培训时,会发现一个不合理的情况,一些程序员能力不错,在公司里也是技术牛人,但发出去的简历往往会石沉大海,没有回复.对于刚毕业的大学生或工作年限在2年之内的程序员,这个情况会更严重. 这种情况下,其实不是你的能力有问题,而是简历筛选人(往往是人事或技术面试官)无法从简历上看出你很牛,或者即使能从简历上感觉到你能力很强,但会感觉到你的能力和公司的需求不匹配.不管是哪种情况,结果都一个,你甚至得不到技术面试的机会. 笔者在这里,将根据面试多个候选人(至今有100以上)的经验,来向大家展示准备简

数据库面试技巧,通过JDBC展示自己专业性,摘自java web轻量级开发面试教程

这篇文章是我之前写的博文 数据库方面的面试技巧,如何从建表方面展示自己能力 和 面试技巧,如何通过索引说数据库优化能力,内容来自Java web轻量级开发面试教程是一个系列的,通过面试官的视角和大家分享在数据库方面的面试经验,这些内容都来摘自  java web轻量级开发面试教程. 之前的两篇文章点击量都还行,也感谢管理员放入首页,这鼓舞到了我,也让我更有信心和大家分享我的经验. 我们知道,最终我们是要通过jdbc来连接并访问数据库的,也就是说,最近面试官一定会通过JDBC方面的技能来考核候选人

java web轻量级开发面试教程读书笔记:建索引时我们需要权衡的因素

场景一,数据表规模不大,就几千行,即使不建索引,查询语句的返回时间也不长,这时建索引的意义就不大.当然,若就几千行,索引所占的空间也不多,所以这种情况下,顶多属于"性价比"不高. 场景二,某个商品表里有几百万条商品信息,同时每天会在一个时间点,往其中更新大概十万条左右的商品信息,现在用where语句查询特定商品时(比如where name = 'XXX')速度很慢.为了提升查询效率可以建索引,但当每天更新数据时,又会重建索引,这是要耗费时间的. 这时就需要综合考虑,甚至可以在更新前删除

Java web轻量级开发面试教程读书笔记:数据库方面,如何准备面试

如果在面试或与资深人事交流的过程中,你能有效合理地展示出本章所给出的一些知识点,那么对你的评价就会是"对数据库有深入了解",甚至能加上"有设计数据表的经验",即便你说有过3年商业项目数据库操作的经验,那么别人也能相信. 相反,如果一个工作经验满3年的程序员或许动手编程能力不差,但无法在交流沟通过程中证明这点,或者干脆不知道怎么证明,那么对他的评价往往可能是"数据库层面,有过商业项目的经验,但只会些基本的增删改查(顶多再加上会视图存储过程等技术),无法独立担

CSDN日报20170320——《Java 程序员的面试经历和题库》

[程序人生]Java 程序员的面试经历和题库 作者:nuaazhaofeng 最近打算换城市了,受不了北京的雾霾了,所以准备逃离啦.所以一直在面试中,整理了下最近遇到的一些面试题,供大家参考.其中会包含一些面试的小经验,如果您是面霸,希望能给予指导.自己不是大牛,如果您是大牛,也可以忽略之.我面试的岗位是Java后端开发工程师. [Python]7行Python代码的人脸识别 作者:半吊子全栈工匠 随着去年alphago 的震撼表现,AI 再次成为科技公司的宠儿.AI涉及的领域众多,图像识别中的

面试技巧,如何通过索引说数据库优化能力,内容来自Java web轻量级开发面试教程

上星期写了一个篇文章,数据库方面的面试技巧,如何从建表方面展示自己能力,承蒙管理员抬举,放入首页,也承蒙各位厚爱,两天内收获了将近770个点击,也一度进入48小时热榜. 为了感谢管理员和大家的支持,再根据我的面试经验原创一篇关于索引方面如何推销自己的文章.这内容也来自我写的书 java web轻量级开发面试教程. 如果我们需要招个Java方面的高级程序员,一方面看年限(本科3年),具体到数据库方面的技能要求,包括如下三个方面: 第一,是否会基本的增删改查,存储过程等技能,是否会用些group b

Java常用英语汇总(面试必备)

Java常用英语汇总(面试必备) abstract (关键字)             抽象 ['.bstr.kt] access                            vt.访问,存取 ['.kses]‘(n.入口,使用权) algorithm                     n.算法 ['.lg.riem] annotation                     [java]代码注释 [.n.u'tei..n] anonymous