互联网招聘求职专区程序员上班这点事儿

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

2018-05-19  本文已影响885人  6b440373157d

笔者是大三本科生,一直以来在考研和参加工作两个想法之间徘徊,最终在今年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如何实现的?有哪几种方式(答出来一个代理模式,使用反射)

二面大概记得这些,这个大叔全程在笑,整个面试过程也是比较轻松,笔者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.你觉得你的优点是什么(喜欢敲代码)

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

整体来看基础最重要,这里面包括java基础、集合源码、多线程、算法和数据结构这些,进阶的jvm虚拟机也需要有了解(《JVM虚拟机》这本书的垃圾收集器和类加载机制部分一定要精读几遍)。不管是什么岗位,常用的算法都得熟练,面试过程会考,笔试的编程题部分更会考! 

每次面试开始前的自我介绍不要紧张,这是一个开启两个人交流的铺垫,不然一上来就开始问难免你会紧张。所以说内容不多重要,介绍自己来自哪个大学,什么专业,喜欢哪些技术,说短了也没关系,不要太长就ok,你在说的过程中也是面试官读你简历的过程。笔者每次都只是说十几秒,我来自xx大学xx专业,平常喜欢java后台技术的研究,没了。感觉面试官还没看完简历~哈哈

希望我的面试经历能够给小伙伴们带来一定的帮助。也感谢牛客网让我看到滴滴的实习招聘信息!

点击作者姓名与作者大佬交流~

作者:rammelzzz

来源:

牛客网(www.nowcoder.com)

- 互联网名企笔试真题

- 校招求职笔经&面经

- 程序员/产品/运营求职实习信息

- 程序员/产品/运营学习交流社区

上一篇下一篇

猜你喜欢

热点阅读