m
点赞 评论

相关推荐

头像
昨天 20:25
门头沟学院 Java
#腾讯求职进展汇总# 二面项目占了一大半手撕LRU,我没写完被叫停了,我是写的力扣那一版的答案,面试官说太复杂了,用一个哈希表保存时间戳,每一个去对比一下就可以了。那我只能说好的好的。1、拷打项目2、怎么保存缓存一致性(延迟双删)3、如果删除失败了呢(投入到消息队列里保证删除,缓存本身还可以设置过期时间)    考虑两个问题:    一.如果第一次删除了的同时有大量线程进来读该数据怎么办?会不会打到数据库?(加分布式锁,面完了才发现这好像是个缓存穿透的场景,所以方法应该还有挺多的)    二,如果第一次删除失败了,大量请求来读,那是不是读到的是脏数据,如果是应该怎么解决?(是,但是我不知道怎   么解决,删除失败可以投入消息队列保证成功。追问:那你读到的还是脏数据?)说白了就是问我强一致性怎么实现,但是我确实不会,后来我查了一下,感觉旁路缓存下好像很难做到强一致性,要用到分布式事务?或者raft?或者双写?甚至读写锁?    上面这个问题拉扯了几分钟,最后我投降了。4、MySQL用的什么引擎?和其他引擎有什么区别?5、你怎么在SQL中实现乐观锁的(CAS版本号的方法)6、为什么要把分布式锁改成消息队列?改了为什么还要保留旧版本?(消息队列可以实现解耦,但比redis分布式锁复杂,简单对比了一下)7、你觉得你的技术水平怎么样?你学习能力怎么样?(开吹,技术虽然依托,但是学习能力还可以)反问:你觉得我的项目还可以怎么改?(活用LUA,虽然没说具体怎么解决问题,但是抛了个LUA给我)体验:别看问得少,搞了40多分钟,最后面试官看不出来什么心情好不好的,只能说从周一泡到周五周五早上起来如厕的时候突然收到三面,我一看,当天下午,当时就虚了。
投递腾讯等公司9个岗位 腾讯求职进展汇总
点赞 评论 收藏
分享
牛客网
牛客企业服务