招银网络科技一面,就记得这些
1、短链接创建之后是先写数据库还是先写入缓存
我答的先写数据库再写缓存,面试官问写缓存这个过程失败了导致请求都落到数据库中怎么办?
解决思路:①先写缓存再写数据库(我答的这个,面试官说这个) ②写缓存失败,可以用重试机制(基于消息队列的方案,基于canal的方案)
2、HashMap什么时候红黑树转链表
红黑树大小减到6转链表
3、我看你限流用的阿里的sentinel组件,阿里的一些组件也有bug,如果只给你redis,你怎么实现限流呢
答:还是使用滑动窗口算法,使用redis的有序集合来存放每个小窗口内的请求数,score存时间戳
面试官说你的方案数据存储和计算都在redis里面,有没有更快一点的
他说可以数据存redis,计算时把数据加载到本地内存算,会快一些
4、线程池设置的这个存活时间,这个时间过了之后,线程会销毁吗
核心线程不会销毁,只有非核心线程才会被销毁
反问核心线程也可以设置超时时间,你知道吗,不知道~
查了下是allowCoreThreadTimeOut(true),核心线程在超出 keepAliveTime 后可以被销毁,
5、线程池怎么销毁核心线程
setcorepoolsize方法动态调整核心线程数、关闭线程池、设置allowCoreThreadTimeOut(true)
6、为什么Java已经有synchronized,还要Lock接口
Lock接口有更多的功能,可设置为公平锁,可中断,可设置超时时间,支持多条件变量
我答的先写数据库再写缓存,面试官问写缓存这个过程失败了导致请求都落到数据库中怎么办?
解决思路:①先写缓存再写数据库(我答的这个,面试官说这个) ②写缓存失败,可以用重试机制(基于消息队列的方案,基于canal的方案)
2、HashMap什么时候红黑树转链表
红黑树大小减到6转链表
3、我看你限流用的阿里的sentinel组件,阿里的一些组件也有bug,如果只给你redis,你怎么实现限流呢
答:还是使用滑动窗口算法,使用redis的有序集合来存放每个小窗口内的请求数,score存时间戳
面试官说你的方案数据存储和计算都在redis里面,有没有更快一点的
他说可以数据存redis,计算时把数据加载到本地内存算,会快一些
4、线程池设置的这个存活时间,这个时间过了之后,线程会销毁吗
核心线程不会销毁,只有非核心线程才会被销毁
反问核心线程也可以设置超时时间,你知道吗,不知道~
查了下是allowCoreThreadTimeOut(true),核心线程在超出 keepAliveTime 后可以被销毁,
5、线程池怎么销毁核心线程
setcorepoolsize方法动态调整核心线程数、关闭线程池、设置allowCoreThreadTimeOut(true)
6、为什么Java已经有synchronized,还要Lock接口
Lock接口有更多的功能,可设置为公平锁,可中断,可设置超时时间,支持多条件变量
全部评论
uu约二面了吗
短链接项目指的写吗
相关推荐
11-14 16:20
哈尔滨工业大学 产品经理 程序员小白条:测评:你觉得人都是可信的吗?....有些东西就是不能说,人性本恶...尤其职场,只是同事罢了,真能交到好朋友说不定只是待的时间不够久,或者没有一起生活社会上还是不能想的太简单
点赞 评论 收藏
分享
11-08 16:53
门头沟学院 C++ 投票
滑模小马达:第三个如果是qfqc感觉还行,我签的qfkj搞电机的,违约金也很高,但公司感觉还可以,听说之前开过一个试用转正的应届生,仅供参考。
点赞 评论 收藏
分享