全程拷打项目权限管理怎么实现的?面试官先说了权限管理分为前端显示不同的页面,和后端对接口进行鉴权,你是怎么实现的?说细节(,知道你懂技术了)怎么用redis实现限流的redis实现分布式锁的原理你用到了canal,具体用过哪个版本?(这个我7月份做的项目,真忘了)答:这个记不清了,就是从网上找了个稳定的版本,不可能什么版本都记这么清楚吧。面试官说,我1.1.4到1.1.6的版本都用过,使用不同的版本,是需要解决一些冲突的。一脸不屑的又问,canal是怎么配合rabbitmq实现,缓存同步的?答:canal监听mysql数据库,然后配置canal的配置文件,将rabbitmq的配置信息配置上去,然后,spring通过监听对应的消息队列,实现对消息队列中消息的消费,解析消息中的数据操作语句,完成对缓存的更新。怎么对rabbitmq的消息进行消费的答:通过在方法上加一个注解(具体哪个注解忘了)更新缓存中的数据时,出现数据冲突怎么办?这个问题他解释了大半天,我也没听懂意思,不知道为什么会出现数据冲突。他的大概意思就是,如果数据库中的数据,在缓存中没有怎么办,我说可以缓存预热。他说服务器是不能停的,你用canal不就是为了与服务解耦吗?我不明白什么意思。最后来了句,这个功能你根本没实现。然后又问,Rabbitmq用的是哪种类型的交换机?答:直连交换机。最后,让面试官对我做个评价,答还行,还有更差的。说也不是很差,还行,找补了一下。说你们做的项目同质化太严重,有些问题的解决方法,可以有更好的。缺实践。承认自己很菜,项目都比较简单。