上海大公司面经

1,项目简介
2,mysql范围 :
索引,事务,mvcc

3,sprinboot范围:
@service注解和@controller注解的区别
自动装配原理
springmvc的组件
策略模式的优缺点
模版方法模式介绍
Aop代理模式介绍,我说动态代理要共同实现接口,静态代理是靠继承实现,但是被否决了
@Application注解的作用

4,redis范围: 布隆过滤器原理,为什么多个hash算法

5,concurrentHashMap扩隆机智,为什么(n-1)&hash这个算法这么巧妙?
6,幂等性怎么做,我说消息用uuid标识,然后用分布式锁区数据库查询是否被消费,但是面试官否决了我分布式锁的操作。
7 死信队列 reject noack
八股盛宴吧
凉经,感觉问的好难
全部评论
第三个咋答?父子容器?
点赞 回复 分享
发布于 2024-11-09 19:20 浙江
是@SpringBootApplication注解吧?还有你把静态代理和CGlib代理搞混了,静态代理去自己写代理类去实现接口,动态代理由JVM产生代理对象,CGlib代理通过字节码增强技术运行时生成目标类的子类
点赞 回复 分享
发布于 2024-11-09 15:41 江西
深度分页问题
点赞 回复 分享
发布于 2024-11-06 18:48 江西
还有redis的red lock解决分布式环境下分布式锁问题
点赞 回复 分享
发布于 2024-11-05 16:08 江西
rabbitmq的架构
点赞 回复 分享
发布于 2024-11-05 16:03 江西
还有一个死信怎么用
点赞 回复 分享
发布于 2024-11-05 15:57 江西

相关推荐

1.项目中mysql和redis一致性保障是怎么做的?我简历上写的是先更新数据库,后RocketMQ删redis缓存。然后追问,如果写好Mysql了,但是消息没发出去怎么办。我回答MQ会有ack,生产者没收到回传的ack就重试/抛异常统一处理,或者事物消息。消费者那边mq有重试机制,重试多次未成功就进死信队列,或者落库后续人工处理。2.Mysql的隔离机制是什么?回答RR,问RR有什么问题吗?我说有可能幻读,快照读通过MVCC机制解决,当前读通过临键锁。他追问我的项目是怎么选择隔离机制的呢?我说因为Mysql默认就那样,不过我的电商系统,用RR可能更好,如果RC有可能出现数据不一致的情况。3.有没有了解过读写锁?适用于什么情况?我说读读不互斥,读写,写写互斥,一般用在读多写少的场景。追问1微秒临界区,读写比例10:1,该不该用读写锁?(完全不会,最后提问问他,面试官和我说想考查我有没有看过读写锁实现底层,问了ai,也各个说法不一,有无大佬会这个的)4.项目用的websocket长连接,服务端如果发现一个客户端连接qps特别高,疑似被攻击,服务端想要断开连接,这时候该怎么做?这个我也不是很会,我说的是像tcp那种发个消息给客户端(就是瞎说的),他好像不太满意,就说他换个说法:如果直接关闭会有什么问题?(完全不知道,查了以后感觉有可能是没发断开连接的原因,客户端会无限重连)5.concurrenthashmap,底层怎么实现的?说了数组 + 链表 + 红黑树 用 CAS + synchronized实现,synchronized是什么锁?主要让我答可重入,为什么要可重入?我没回答太好,我说的是递归的时候不会死锁。(查了以后感觉是不一定是递归,有可能这个线程会调用其他加锁的方法)6.算法:LRU,acm模式,自己写main方法。
查看13道真题和解析
点赞 评论 收藏
分享
评论
2
12
分享

创作者周榜

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