招银网络科技一面,就记得这些
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约二面了吗
相关推荐
程序员花海:还没有来得及准备的同学可以看下学习路线:https://www.nowcoder.com/discuss/824693499982315520?sourceSSR=users算法题:https://www.nowcoder.com/feed/main/detail/20e7a999fa04485b88340a274411ca0d?sourceSSR=users八股文:https://www.nowcoder.com/discuss/833102362771251200?sourceSSR=users简历书写方式:https://www.nowcoder.com/discuss/839907820706205696?sourceSSR=users都是以前在牛客发的文章~


点赞 评论 收藏
分享
2025-12-24 20:51
仲恺农业工程学院 Java
迷茫的大四🐶:这么低干个鸡毛啊,还得交五险一金呢,拿到手压根没多少,还得租房吃饭,说真的,低于8k,真没必要干代码,生活质量都存在问题 点赞 评论 收藏
分享
