首页 > 其他 > 详细

9.27美团面试

时间:2022-05-27 20:39:28      阅读:3      评论:0      收藏:0      [点我收藏+]

1.手撕两个有序数组合并为一个(不能用额外数组):思路移动长的数组,双指针比较,后来发现其实可以比较大的数放尾部

2.讲了一下二叉树翻转的思路:递归(其他思路?栈模拟递归(具体实现不太清楚,只记得有这个方法))

 

java线程池

HashMap底层 引申到->

红黑树,AVL树

ConcurrentHashMap->引申到CAS

CAS(答的有点不清楚,主要回答了比较交换(没有问ABA原子引用,(类似版本链)))

线程池核心参数(答了具体的线程等待过程,以及抛弃策略)

Redis (问的不多,就问了清除缓存的策略,以及为什么使用Redis)(没有问Redis底层结构)

垃圾回收(串行,并行,CMS(具体过程:初始标记stw(GCRoot)、全标记、补充标记stw,标记清除))没有继续问G1(类似CMS的过程,但是使用了标记整理,且没有内存碎片(由于分成了多块,没有了分代的概念))

分布式锁(答到Reids使用Setnx可以模拟分布式锁,还有RedLock的一个包?记不清了)

 

没有答出来的:

Redis一致性解决?(只记得一个什么保证可靠的消息?就回答记不清了)

1.对于先删缓存,再更新数据库的这种:延迟双删(删缓存-更新数据库-sleep一段时间再删缓存)

2.对于先更新数据库,再删缓存这种:利用消息队列的重试机制(更新数据库-发消息-重复直到删掉缓存,保证最终一致性)

 

 

SpringMVC的Request请求到Controller的过程?(只记得请求转换来转换去最后返回了一个ModelAndView?,回答不太了解)

RPC框架?(就说了项目中用到了HttpClient,其他不了解)

 

9.27美团面试

原文:https://www.cnblogs.com/wsZzz1997/p/15345888.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!