多线程

#你遇到最难的面试题目是_#有一次面试,面试官问我:“如何在多线程环境下避免死锁?”当时我直接懵了,因为没遇到过实际的死锁问题。我硬着头皮说了些锁的基本概念和避免策略,结果面试官又问:“那你能举个例子吗?”当时我脑袋一片空白,最后只好说:“其实我没遇到过这种情况,但我知道可以用锁顺序来避免。”事后回想,最重要的是平时要多做一些实际的项目,遇到类似问题时不至于完全卡壳。
全部评论
实际开发用的redis分布式锁最多,那这个避免死锁就是try catch一下在finally释放就好了,再加个超时时间,看门狗机制
6 回复 分享
发布于 2025-07-31 15:44 北京

相关推荐

-----------------------------问agent1.介绍一下agent项目的背景和架构设计?2.是基于langgraph去搭建的吗?3.用langgraph4J去搭建的话,工作流是怎么设计的,每一步是怎么拆的?4.为什么要把工作流引擎和业务模块拆分开呢?5.如果某个节点失败了,是怎么处理的?6.这里有节点失败后自动修复的机制吗,是否有旁路上的一些办法去修复这个事情?7.你用的Spring AI去做的整个架构的话,怎么接收大模型返回的内容?SSE?8.我看你这里有个chatClientFactory的设计,怎么把它扩展成一个多用户的工厂管理?9.场景题:假如把这个agent编排平台部署在网站上,对用户提供订阅服务,你要怎么解决用户问题->你的服务器转发请求->请求各类模型->返回结果到你的服务器->返回给用户这个链路,以及怎么区分开每个用户的请求?(要用几个api key?每个用户配一个api key?)-----------------------------------问轮子10.你的数据库轮子的事务管理是怎么做的呢?(我答的xid文件和undo/redo log)11.如果事务比较长,运行到中间的时候报错,比如服务器断电,或者发生了其他的一些事故,这个事务怎么去恢复呢?12.你简历里提到了2PL协议,描述一下2PL协议?13.你提到的LRU在做什么事情,你的数据库使用的LRU吗?14.你引入LRU主要是解决什么样的问题?15.你最近最少使用的不应该是让它一直保留在缓存里面吗?16.下面提到的这个B+树是自己写的B+树吗?17.sql查询的过程当中你的B+树是怎么查找的?18.在你的数据库中构建索引是怎么实现的,用到B+树了吗?-------------------------------八股19.MySQL的日志有什么作用,binlog?20.binlog的主从是怎么实现的?21.主库写然后同步到从库,这个过程会有延迟吗?22.在主从分离这种数据库架构里面,读和写是分离的,我写完之后立马查,需不需要做什么sleep或者什么样的间隔?23.同一个操作,写完立马查,能查到这个操作刚写的数据吗?24.Redis的zset的底层数据结构是什么?25.什么场景下会用的Java多线程?26.你做项目的时候什么场景会用多线程?27.什么时候会用到多进程?28.一个程序什么时候用多线程,什么时候用多进程?29.假如上面提到的用agent平台去卖token,多个用户在访问你的服务器,这个时候是多进程还是多线程?
查看29道真题和解析
点赞 评论 收藏
分享
评论
1
6
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务