
面试
文章平均质量分 85
哭哭啼
这个作者很懒,什么都没留下…
展开
-
JVM基础面试题
Class文件由类加载器装载后,在JVM中形成一份描述Class结构的元信息对象,通过该元信息对象可以获取Class结构信息,如构造函数,方法,属性等。虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java对象。原创 2023-09-05 11:36:00 · 958 阅读 · 0 评论 -
RabbitMQ面试题
所以消息队列实际是一种非常复杂的架构,你引入它有很多好处,但是也得针对它带来的坏处做各种额外的技术方案和架构来规避掉,做好之后,你会发现,妈呀,系统复杂度提升了一个数量级,也许是复杂了 10。针对以上问题,一个解决思路是:保证消息的唯一性,就算是多次传输,不要让消息的多次消费带。这个时候我们就开始写程序,将丢失的那批数据,写个临时程序,一点一点的查出来,据来消费,消费一个丢弃一个,都不要了,快速消费掉所有的消息。它,对公司而言,几乎处于不可控的状态,但是确实人家是开源的,比较稳定的支持,活跃度也。原创 2023-08-18 17:02:43 · 590 阅读 · 0 评论 -
Redis面试题
canal订阅日志:以mysql为例,在数据库一条记录发生变更时就会生成一条binlog日志,我们可以订阅这种消息,拿到具体的数据,然后根据日志消息更新缓存,订阅日志目前比较流行的就是阿里开源的canal,当然。如果我成功更新了缓存,但是在执行更新数据库的那一步,服务器突然宕机了,那么此时,我的缓存中是最新的数据,而数据库中是旧的数据。如果成功更新了数据库,更新缓存执行失败,数据库是新数据,缓存是旧数据,只能等缓存key过期才能拿到正确的数据。在事务执行过程,会按照顺序串行化执行队列中的命令,原创 2023-08-18 11:04:00 · 164 阅读 · 0 评论