数字马力 二面
1、实习中的流程异步化方案,基于什么提出,怎么解决
2、实习中用到的设计模式
3、jwt+threadlocal用来干嘛的,怎么用
4、jwt+threadlocal的底层原理,threadlocal的内存泄露问题
5、实现一个登录其余登录都退出的方案
(1)增加token-version,嵌入jwt的payload中,解析时验证
(2)redis维护黑名单列表
(3)访问令牌+刷新令牌配合使用
6、
问:两个方法,都开启了事务,在方法A中,先调用add方法,再调用B的add方法,B的add方法抛异常,结果如何
答:这里理解错了,以为是同一个类中的方法的调用,一直说动态代理,结果其实考的是事务传播行为
7、介绍操作系统的底层执行过程
答:核心是“硬件触发→内核响应→调度执行→上下文切换”,面试官让我下去再了解一下,但是问了AI也是这个答案,没招了
8、mysql超大分页,有id,age,name,对age建立索引,order by age,如何优化,先讲清楚原始操作为什么慢,索引是怎么走的
答:通过索引查找,再回表,覆盖索引+子查询优化
问:优化的原理是怎么样的,索引是怎么走的,覆盖索引是什么,优化方案里哪里用到了覆盖索引
9、
问:BIO、NIO、AIO的区别
答:同步阻塞,同步非阻塞,异步非阻塞
问:NIO实现原理是怎么样的
答:基于IO多路复用模型
问:什么是IO多路复用模型
答:八股吟唱
问:NIO在操作系统中的执行流程
答:创建Selector+注册通道事件→调用select()阻塞监听(内核I/O多路复用)→就绪事件唤醒→遍历通道非阻塞读写(不会)
问:channal是如何在可读可写状态时通知selector的
答:类似epoll,将就绪的channal写入用户空间,无需轮询确认(说让我再去了解一下)
问:channal里面存储的是什么内容
答:Channel是双向I/O通道,存放两类关键信息:
- 实际I/O数据:待读写的字节数据(通常通过 ByteBuffer 传递,Channel本身不缓存数据,仅负责传输);
- 关联元数据:通道对应的文件描述符(FD)、通道状态(打开/关闭)、I/O配置(如阻塞模式、缓冲区大小)、与Selector的注册关系(SelectionKey)。
(只说了IO数据,关联元数据没答出来,面试官说再去了解一下,真细啊)
10、
问:mq的持久化方案了解吗
答:懒队列,先存磁盘,需要时再从磁盘获取然后入队
11、
问:redis如何保证双写一致,讲最终一致性的即可
答:延迟双删和cancal组件
问:延迟双删如何保证时长
答:监控binlog日志文件
12、
问:如何使用curcor生成需求代码
答:一面也问过这个问题,当时面试官说先交给豆包这种语言型AI详细化需求,再交给curcor生成,于是二面我这样子答了,结果面试官问我干嘛要交给豆包,直接交给curcor不就行了,额…没招了
还有不少问题,想起来了再补充吧,自从知道开得不高以后,兴致也下降了不少,应该是抬走了~
#发面经攒人品# #牛客AI配图神器#
2、实习中用到的设计模式
3、jwt+threadlocal用来干嘛的,怎么用
4、jwt+threadlocal的底层原理,threadlocal的内存泄露问题
5、实现一个登录其余登录都退出的方案
(1)增加token-version,嵌入jwt的payload中,解析时验证
(2)redis维护黑名单列表
(3)访问令牌+刷新令牌配合使用
6、
问:两个方法,都开启了事务,在方法A中,先调用add方法,再调用B的add方法,B的add方法抛异常,结果如何
答:这里理解错了,以为是同一个类中的方法的调用,一直说动态代理,结果其实考的是事务传播行为
7、介绍操作系统的底层执行过程
答:核心是“硬件触发→内核响应→调度执行→上下文切换”,面试官让我下去再了解一下,但是问了AI也是这个答案,没招了
8、mysql超大分页,有id,age,name,对age建立索引,order by age,如何优化,先讲清楚原始操作为什么慢,索引是怎么走的
答:通过索引查找,再回表,覆盖索引+子查询优化
问:优化的原理是怎么样的,索引是怎么走的,覆盖索引是什么,优化方案里哪里用到了覆盖索引
9、
问:BIO、NIO、AIO的区别
答:同步阻塞,同步非阻塞,异步非阻塞
问:NIO实现原理是怎么样的
答:基于IO多路复用模型
问:什么是IO多路复用模型
答:八股吟唱
问:NIO在操作系统中的执行流程
答:创建Selector+注册通道事件→调用select()阻塞监听(内核I/O多路复用)→就绪事件唤醒→遍历通道非阻塞读写(不会)
问:channal是如何在可读可写状态时通知selector的
答:类似epoll,将就绪的channal写入用户空间,无需轮询确认(说让我再去了解一下)
问:channal里面存储的是什么内容
答:Channel是双向I/O通道,存放两类关键信息:
- 实际I/O数据:待读写的字节数据(通常通过 ByteBuffer 传递,Channel本身不缓存数据,仅负责传输);
- 关联元数据:通道对应的文件描述符(FD)、通道状态(打开/关闭)、I/O配置(如阻塞模式、缓冲区大小)、与Selector的注册关系(SelectionKey)。
(只说了IO数据,关联元数据没答出来,面试官说再去了解一下,真细啊)
10、
问:mq的持久化方案了解吗
答:懒队列,先存磁盘,需要时再从磁盘获取然后入队
11、
问:redis如何保证双写一致,讲最终一致性的即可
答:延迟双删和cancal组件
问:延迟双删如何保证时长
答:监控binlog日志文件
12、
问:如何使用curcor生成需求代码
答:一面也问过这个问题,当时面试官说先交给豆包这种语言型AI详细化需求,再交给curcor生成,于是二面我这样子答了,结果面试官问我干嘛要交给豆包,直接交给curcor不就行了,额…没招了
还有不少问题,想起来了再补充吧,自从知道开得不高以后,兴致也下降了不少,应该是抬走了~
#发面经攒人品# #牛客AI配图神器#
全部评论
佬,想问下没有手撕嘛
佬,状态有变化嘛
好难
操作系统是看的最少的八股了
说通义就不挑你刺了
为什么问nio或者channel啊
面了多久?
佬,问题是不是大部分从项目里问的
二面问的这么难啊感觉


大佬是简历有写jwt吗
操作系统问这么多
郑州吗,能开多少
相关推荐
昨天 16:16
浙江工业大学 Java 点赞 评论 收藏
分享
11-09 20:02
中南大学 Java 我是猫熊:可以关注我的主页以及专栏https://www.nowcoder.com/creation/manager/columnDetail/MRwNAo,每天都会打卡更新面试题
查看17道真题和解析 点赞 评论 收藏
分享