美团一面凉经
美团面经
时间:8月19日
自我介绍
第一部分:项目
1,项目分工
2,mysql和redis分别存储的是什么信息,项目的使用场景(单独商家还是像美团这样),项目流量太大怎么办、加redis的目的。
3,菜单商品卖完了怎么办,怎么防止菜品超售。
4,当两个顾客同时下单,但是菜品只有一份了,该怎么解决?
答:互斥锁,超时取消订单。消息队列(无状态,怎么确定是哪个顾客先下的单)、
5,分布式锁有哪些,怎么实现(synchronized,ReentrantLock)
答:synchronized,ReentrantLock这些是线程方面的,
6,RPC的实现
7,使用的序列化方式,其他的序列化方式。
8,其他的RPC框架
跨语言和非跨语言,
9,springcloud的底层序列化方式
10,zookeeper怎么保证节点的选举
11,除了Netty作为通信协议,还有其他方式吗(JDK自带通信的协议可以吗)
第二部分:算法
二叉树的层序遍历
为啥使用ArrayDeque这种双端队列结构,单端队列可以吗,双端队列的特点。
第三部分:简历上基础知识考查(技能);
1,ArrayList往第一个位置上插入元素,后续元素要怎么操作。
2,除了简历上的消息队列,还用过哪些消息队列、kafka用过没有。
3,两个服务(线程)A,B如何保证其有序执行,这两个服务可能来自不同的服务器。
答:分布式锁、版本号、
4,JDK动态代理的实现接口invocationHandler
5,spring种的AOP怎么理解的(JDK动态代理、cgliab动态代理)、cgliab的底层实现原理
6,对字节码了解吗
7,Map类型有哪些(安全、非安全)、List类型有哪些。
8,JVM内存模型
9,什么情况会发生oom,发生oom时,gc是如何操作的。
10,mysql的底层索引结构。
第四部分:反问
部门技术栈
#美团##美团一面##美团面试#