美团到家-外卖技术部二面面经
- 讲讲项目的重点
- 项目中的分布式锁是怎么用的?
- 订单模块中,如果因为网络原因来了两次相同的请求,怎么处理?(开始答了幂等性,被否定了;后来答了分布式锁+查询订单状态,面试官不满意。。不知道怎么解决)
- HashMap和ConcurrentHashMap场景题,先一个线程写,后多个线程读,用哪个?
- 接上个问题,如果一个写和多个读同时发生,该用哪个?(蒙了get()和put()方法可能冲突,但没解释出来具体原因)
- int a = 1+1; 用到了JVM内存区域的哪些区域?
- MySQL联合索引场景题,建表有字段(a,b,c),建索引(a,b,c),分析。(直接把各种情况都说了,where语句由优化器调整顺序,覆盖索引,索引下推,索引跳跃扫描。。)
- 设计题,用哪个隔离级别+什么方式,实现某个字段的自增。(答了串行化)
- 串行化效率太低了,有其他解决方案吗?(可重复读隔离级别+当前读)
- 那读已提交不行吗?(我答得是如果有两个事务同时想给变量+1,如果其中一个回滚另一个事务不会察觉,但回滚之后字段依然是自增的。。好像也可以实现)
- 设计模式用到哪些?
- Spring怎么解决循环依赖问题的?
- 三级缓存一定能解决循环依赖吗?
- 算法题:NC394 删除升序数组的重复元素(二),用hashmap a出来了,面试官让我换个方法优化,后面方法只a出来一半用例。。g