首先讲真,感谢美团给我面试的机会,感谢帮忙内推的小伙伴,楼主渣渣双非学校小硕,投过简历无数,简历被挂无数,几乎都是石沉大海,所以每次面试都感觉弥足珍贵,本来上周面完就该发个面经的,但想想还是等定下来再写吧,今天收到了电话通知,所以过来发个贴,好了,废话不多说,不管最后去不去美团,先把面经弄出来再说。
虽然感觉自己挺菜的,但是为了面试我也是准备了很久很久,刷了很多面试题,作为阅读福利我就把我整理的复习资料分享给大家吧,需要的可私信领取!
技术一面
一面基本上面的还算基础没有过多的刁难不过问题量特别大
1、自我介绍芭拉芭拉,大致说了下实习和自己平时自己喜欢做的事情
2、我们先聊聊java基础知识吧,说出Object类的常用方法?
大致讲了上面这些个方法并说了下各个方法的作用。。。。
3、刚刚说到object的常用方法,这些方法你应该都很熟悉吧,那你说说你对equal和hashcode这两个方法的认识?主要谈了下两个的作用以及当重写equal方法时候一定要记得重写hashcode方法,然后面试官就问了为什么,然后就继续芭拉芭拉。
然后面试官紧接着问两个对象如果equals那么这两个对象的hashcode一定相等么回答是!那如果两个对象的hashcode相等那么这两个对象是否一定equals?回答不一定!理由其实就是关于讲重写这两个方法的情况。
4、多线程用过吧?写过一些demo,那你说说多线程之间的通信,回答用waitsleepnotifynotifyAll配合使用然后就问wait和sleep一样吗?回答不一样,然后芭拉芭拉谈了下,关于对象锁的释放,是否需要唤醒。
5、嗯,刚刚谈到了锁,一下面试官就扯出了锁,看你简历上sshmybatis都熟悉,那你知道悲观锁和乐观锁吧?答知道,然后讲了下两个的区别以及应用场景
6、你平时数据库一般用的什么mysql那你说说在工作中一般用的什么数据库引擎答mysql默认的是InnoDB存储引擎敢情面试官想给我使绊子来着,接着就让说InnoDB和MyISAM之间使用场景问题了,然后就就着这两种存储引擎的区别以及优缺点芭拉芭拉说了一通
7、平时是怎么处理事务的,讲下对事物的了解
8、看你简历上讲了分库分表谈谈两个的使用以及在工作中怎么去设计这里主要是结合自己实习的项目来说的
9、mybatis缓存以及谈谈你们项目为什么用springmvc+mybatis而不用Hibernate?主要是说说一级缓存二级缓存然后讲讲mybatis相对于Hibernate来说的优点好处之类
10、项目里用到了redis为什么用它?芭拉芭拉讲了一通业务需要缓存数据实现会话缓存的机制之类
11、.java如何实现多态讲了下重载和重写
12、谈谈java的垃圾回收机制从java提供垃圾回收机制说起,谈到了回收时机何时回收以及几个常用的垃圾回收算法,然后面试官问了解G1吗,听过但没具体了解了,实话实说,就没再继续了。。
从session一直到cookie,芭拉芭拉说了下各自的实现原理以及缓存机制
14、谈谈三次握手四次挥手以及为什么是三次为什么是四次一定要是四次吗?结合网络中那两个图来就行了,肯定不一定是四次具体原因大家知道。
15、如果让你设计一个大型网站,你觉得哪些东西是需要考虑的为什么?谈了负载谈了缓存谈了框架然后面试官继续问就这些吗然后继续扯服务器接着扯
好吧问得差不多了今天到这里吧,这两天手机保持通畅,然后问我有什么问题要问的,然后我就问了团队,问了面试情况,问了招聘最后会考虑学校吗实在没底因为看小哥聊得挺好所以才敢问的。。。。
技术二面
1、三次握手四次挥手(其实没搞明白为毛mt这么喜欢问这个问题之前看面经好的童鞋提到了这个问题还有就是没让自我介绍我以为是要走过场了)
2、sql注入了解么谈了下注入的原理以及登录功能模块中sql注入的实现
于是自觉地从Collection聊到listarrayListvectorLinkedListsetmapHashMaphashtable都通通扯了一遍,语速太快感觉就跟背书一样面试官笑逗了,就说小伙子背的不错吗面试宝典没少看吧我无语!!
接着就继续说,你刚刚说的那些都是比较浅的东西,我问个比较基础的吧,你知道HashMap的数据结构和实现原理吧?数组和链表的结合体顺便谈了下底层数组Entry实现原理这块主要是说了下hashing、put和get的实现过程,以及当遇到空值以及当两个键有相同hashcode值的处理。。。然后问我知道ConcurrentHashMap不于是又讲了下这个和synchronizedMap的区别以及效率问题。
4、谈谈volatile然后又问知道ThreadLoca不。
5、写代码:解决生产者消费者问题用了Semaphore手写的代码大概花了一些时间跟面试官讲了下实现。。。
6、问设计模式,百问不爽的答单例模式让说了四种单例模式的实现办法?饿汉式饱汉式枚举然而我只说了这三种。。。
又是一通,比较了各个算法的优劣和问题之类的。。。再问G1,幸亏一面后来去看了下,于是说了下大概的认知。。。
8、Java内存泄露的问题大致又扯了下垃圾回收然而好像不是面试官要的答案尴尬。
9、谈redis和mem***d10、用过NIO么,没用过(我是讲真话没用过不敢说用过)跳过
11、聊getpost,