美团、滴滴实习生面经(滴滴offer,Java后台开发岗)

笔者是大三本科生,一直以来在考研和参加工作两个想法之间徘徊,最终在今年3月份下定决心参加工作,之后参加了春招,投的全部是java后台开发岗实习生。
在春招过程中投了不少公司,有京东、头条、网易、美团、滴滴,前三家都挂在了笔试环节,美团顺利通过笔试,参加面试已经是4月底的事了。滴滴是没有经历笔试直接进入了面试环节。先说美团。

美团一面
4月底收到面试通知去到望京美团大厦进行第一次面试。大概问题如下:(顺序不分前后)
1.自我介绍(每次面试第一个环节)
2.项目介绍
3.项目中redis的作用
4.数据库隔离级别,不同隔离级别存在的问题(脏读、不可重复读、幻读),出现的原因
5.悲观锁(Innodb的行锁和MyISAM的表锁)和乐观锁(MVCC多版本并发控制)
6.单例模式(饿汉、懒汉、双重校验锁及其修正、静态内部类、枚举),线程安全性以及原因
7.手写生产者消费者模式
8.递归算法的编程题
9.Java集合(有点忘了具体内容)

总体来说美团一面答出来90%左右,面试官说他是大数据部门的,因此web方面开发的内容问的比较少,spring、mybatis这类常见框架都没有问

美团二面
美团二面是电面,问题如下:
1.自我介绍
2.项目介绍,每个中间件的使用(redis缓存,rabbitmq异步处理请求)
3.项目优化思路
4.HashTable和HashMap的区别,为什么不推荐使用HashTable,有什么可以代替它的?(ConcurrentHashMap)
5.Mysql存储引擎、事务隔离级别、锁
6.垃圾收集器
7.JVM类加载机制
8.classloader的双亲委派模型
9….忘了,大概就这么多

二面的过程还是很不错的,感觉问到的问题也都答了出来,但是过了好久没收到通知,后来发短信问才知道是挂了。这里要吐槽美团的面试太拖了,一面和二面拖了好多天。接下来说滴滴,滴滴没有参加笔试,直接进入了面试环节,在投简历过后十多天收到的面试通知,而且滴滴效率很高。

滴滴一面(5月14号)
1.自我介绍
2.画出项目的架构图(笔者画了一个超级简单的图,也没啥逻辑,之前没画过)
3.介绍项目内容,分析优化过程以及为什么要这么做,有更好的方案吗(大家的项目都不一样,我这里就不多说细节了,比如:如何防止用户多次点击某个按钮)
4.画出springmvc框架大致处理请求的流程并解释
5.jvm类加载机制
6.jQuery遍历一个list的方法(回答$,forEach(),问还有其他方案吗,回答的直接for循环,对jQuery了解比较少,只会ajax这一块)
7.docker相关(学过一点也忘了,直接回答不好意思不知道,面试官说这个挺重要)
8.数据库隔离级别、存储引擎、mysql默认隔离级别(Repeatable Read)
9.Mysql索引,面试官写了一条sql语句,问使用到了哪些索引,为什么
10.Mybaitis和Hibernate区别
11.集合相关

一面面试官人很不错,虽然略带严肃,但是每次我说错了都会笑着说你再想想。面完之后就去叫二面面试官过来了

滴滴二面
二面面试官是一个大叔,进来以后全程在笑,我也只能跟着苦笑~~

1.自我介绍
2.谈谈项目
3.谈谈对spring boot的使用
4.Spring Security有哪些重要的Filter(只答上来一个UsernamePasswordAuthenticationFilter,笔者在17年寒假写的security项目,有点忘了),之后又问了几个相关问题,苦笑着说不知道
5.说说https的握手(说了一半,面试官指导着说完了后半部分)
6.spring的特性(ioc、aop)
7.aop如何实现的?有哪几种方式(答出来一个代理模式,使用反射)
8.mvc好处,前后端分离优缺点

二面大概记得这些,这个大叔全程在笑,整个面试过程也是比较轻松,笔者10.30开始的一面,二面结束大概12点,面试官就叫我去楼下吃饭,吃完回来进行三面。

滴滴三面
本来以为滴滴三面就是leader面了,不会问太多技术,结果上来就开始问技术,有点懵逼,快速调整了一下。

1.java的8种基本数据类型(byte、short、char、int、float、long、double、bool)
2.给出两个Integer,问他们的引用是否相等(考IntegerCache,-128到127的Integer对象会被缓存,因此相等)
3.StringBuffer和StringBuilder的区别
4.连续的String拼接JVM是如何完成的(回答在编译器被优化为StringBuild再进行append())
5.ArrayList的底层实现
6.在白板上用数组实现一个简单的ArrayList
7.白板上实现一个二分查找,可以怎样优化?(这里和面试官进行了讨论)

二面面试官是可爱搞笑型(褒义)的,而三面面试官是一个温柔的大叔,面试开始就告诉我他已经很久没写代码了,在面试过程中对我错误的纠正也一直在说他有点忘记了,回去你自己查一下这一块,让人感觉很舒服。

总体来说一面面试官考基础+框架使用,二面面试官比较偏应用一些,考应用层协议以及一些比较流行的框架,而三面面试官就是纯基础了,面试官讲框架这些会只是锦上添花,不会也没关系,基础最重要,基础是长时间积累的(吐槽:前面面试官都在问框架!)。
三面结束之后HR告诉我四面面试官不在,让我回去等通知,这时候心里有点忐忑(因为美团被拒那个事),但是回去第二天就收到通知周三(5月16号)去面试。本来以为四面是HR面试,但是后来去了才发现是leader面

滴滴四面(5月16日)
1.自我介绍
2.实习日期相关
3.项目介绍(说我项目经历太少)
4.未来打算(考研or工作,回答工作)
5.你觉得你的优点是什么(喜欢敲代码)
6.最近在看什么技术(dubbo、docker),dubbo的优点(服务治理)

四面很短,大概十多分钟就结束了,之后在回学校的公交车上接到HR通知说四次面试的面试官评价都不错,面试通过了,offer审核完毕就会发放。

整体来看基础最重要,这里面包括java基础、集合源码、多线程、算法和数据结构这些,进阶的jvm虚拟机也需要有了解(《JVM虚拟机》这本书的垃圾收集器和类加载机制部分一定要精读几遍)。不管是什么岗位,常用的算法都得熟练,面试过程会考,笔试的编程题部分更会考!
每次面试开始前的自我介绍不要紧张,这是一个开启两个人交流的铺垫,不然一上来就开始问难免你会紧张。所以说内容不多重要,介绍自己来自哪个大学,什么专业,喜欢哪些技术,说短了也没关系,不要太长就ok,你在说的过程中也是面试官读你简历的过程。笔者每次都只是说十几秒,我来自xx大学xx专业,平常喜欢java后台技术的研究,没了。感觉面试官还没看完简历~哈哈

希望我的面试经历能够给小伙伴们带来一定的帮助。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值