美团实习平台一面面经
忘记录音了,凭记忆写了问了哪些题,不太全,仅供参考
项目
介绍项目
spring ioc容器怎么实现单例和prototye的
ApplicationContext和BeanFactory区别
懒加载的好处是什么
AOP如何实现
设计模式
代理模式作用是啥问知道哪些设计模式
工厂模式,简单工厂和抽象工厂的区别
简单工厂存在的问题
设计模式掌握的太不熟练,要加强
JVM
讲讲full gc
gc范围,什么时候会产生,会有什么危害
讲讲新生代,一般用什么垃圾回收算法,为什么不用标记整理?
标记复制只标记存活对象,标记整理要先标记不可达对象,然后清理,最后再整理,而新生代存活对象比较少,复制效率高
讲讲方法区,永久代,元空间关系多线程
如何实现两个线程顺序执行
3个线程wait,执行notify和notifyall后三个线程的状态
执行notify后一个变成blocked,其他还是wait
执行notifyall后三个都变成blocked,获取到锁的变成runnable
countdownlatch底层
aqs的数据结构
乐观锁和悲观锁的区别以及应用场景
1.假如是有100个工单,50个线程去获取,应该是悲观锁还是乐观锁
2.假如是有100个工单,10000个线程去获取,应该是悲观锁还是乐观锁
主要的应用区别主要取决于竞争大不大,如果竞争大乐观锁的效率会低
线程池:
1.如果核心数是10,最大数是20,如果现在有30个线程,请问最多会产生多少个工作线程
中了陷阱,直接答了20,他说那你对阻塞对列了解吗,就知道自己错了,然后立马更正答案
2.那么假如阻塞队列大小是无穷大,那么最多产生多少个工作线程
计网
HTTP POST和PUT区别讲讲restful
TCP三次握手为啥要有第三次
redis
5种数据类型 没怎么学过,简单讲了讲多路复用
select、poll、epoll
算法
递归实现插入排序,10min
反问
#实习##面经##美团##Java工程师#