拿到美团offer,秋招结束了(更新面经)
上周日下午面的,三轮技术面,一轮hr,hr面试就说这周五发offer,具体面经这两天发出来
------------更新分割线-----------------
首先说下本人双非本科生,能拿到offer离不开运气,因为看到很多其他人美团面经,感觉很难,可能是自己面试官人比较好,问的简单。
一面(顺序可能有适当修改):
1、一个数组,有正有负,把正的移到右边,负的移到左边。
2、判断一个链表是否有环(我回答快慢指针,因此引出下一个问题)
3、假设一个节点为100的环形单链表,你这方法要走多少步判断出有环,99个节点呢?
4、tcp三次握手的过程?
5、进程与线程的区别?
6、说说你了解的http状态码,http请求方法?
7、简单说下银行家算法?
8、项目等相关。
9、实现一个生产者和消费者?
然后让我在房间等会,过了几分钟,二面面试官进来。
二面:
1、dubbo怎么实现异步的?(由于项目使用了)
2、dubbo底层怎么通信的?
3、进程和线程的区别?linux有进程和线程的区分吗?
4、中断和异常是什么?有什么区别?
5、tcp三次握手和四次挥手,两次握手会怎么样?
6、说说arp协议,nat协议,局域网是怎么通信的?
7、ip地址和mac地址区别?
8、虚拟内存和虚拟地址是什么?
9、死锁的必要条件?举一个死锁的例子,怎么避免死锁,怎么解决死锁?
10、hashmap、concurrenthashmap、hashtable?
11、项目,具体就不说了。
12、说下dns的过程?
13、最小堆的定义?最小堆的插入与删除的全过程?
14、红黑树的定义?为什么是平衡树?怎么维护平衡?
15、B+树的定义?为什么要用b+树,而不用平衡二叉树?
16、聚集索引和非聚集索引的区别?
17、synchronized的原理?
18、synchronized和lock的区别?
19、如果美团给了你offer,你实习公司又转正了,你还来吗?
然后带我出去,说等会不在这间房间,然后路上问我实习的部门leader是谁,卧槽,他认识我leader。很是尴尬。等了几分钟,三面面试官带我去另一个地方面试。
三面(最难,问的很深入):
1、排序算法的稳定性是指什么?
2、说说常见排序算法的稳定性?选择排序为什么不稳定?归并为什么是稳定的?
3、讲一下堆排序的全过程(这里面试官对每一个参数都会问清楚)?
4、你知道的设计模式(我回答单例,工厂,观察者,装饰者,因此引出更多问题)?
5、你会的单例(我回答懒汉,恶汉,静态内部类,枚举,双重检查)?
6、说说双重检查,volatile关键字的作用,因此也问了内存可见性和重排序?
7、说说原子类实现原理?(cas)?
8、说说cas需要哪些参数,操作系统对应的命令是什么?为什么能保证原子性?
9、volatile和cas有什么关联?什么时候可以互相替代?(一脸闷逼)
10、观察者模式有什么用?怎么实现的?
11、java类库那个是用装饰者模式(io)?
12、装饰着模式和***模式有什么区别?(一脸懵逼)
13、给你一个64G的内存,你会怎么设置堆大小?
14、说说cms收集器的过程?
15、平时线上项目出现问题怎么排查?
16、hash冲突有哪些解决方法?简单说下再哈希法?怎么保证多个hash函数不会出现死循环?(很懵逼)
17、类加载机制?怎么破坏单例(这里应该想让我用类加载机制来破坏)?
面完了,又让我在当前房间等,过了几分钟,hr进来
四面(hr)
具体就不说了,反正聊得很嗨,我不是喜欢吹牛逼的人都被他带偏了。