1.自我介绍
2.微信一键登录使用的是OAuth协议吗
3.策略模式的使用
4.如果应用上线,如何实现在上线中不修改代码进行功能的扩展(动态代理)
5.说说你知道的动态代理的应用场景
6.动态代理与静态代理的区别(没说出来)
7.你还知道哪些设计模式?
8.观察者模式使用的场景?
9.如何保证观察者会收到消息队列中的消息?
10.kafka你是用过嘛?(之前提了使用过rabbitmq,貌似问了一个kafka和rabbitmq的一个机制的区别,忘了问的那里了)
11.requestbody注解的源码有看过嘛?(没看过)说说对这个注解的了解?(把DTO说错成别的名字了,还说了好多遍,现在才发现,尬)
12.jwt的实现
13.一个系统如何保证只能有一个端在线,例如手机端登录时PC端登出(说的pv,信号量设置为1)
14.如果是分布式的情况呢?(放在redis中)redis空间满了会清理,这个问题如何解决(设置ttl)
15.如果不适用redis,使用mysql如何解决这个问题?有没有搭过mysql集群(没有)
16.忘了问题了,答的分库分表,然后问了分库分表存在的问题
17.给一个需求设计表,说说设计细节(答的一般)
18.Spring中使用事务,要注意什么?(事务失效)
19.问了事务的隔离性(胡乱答的,现在想起来不就是隔离级别这些!)
20.支付问题,用户的支付时订单倒计时结束,这两个操作在mysql的中操作?(CAS)
21.mysql如何解决死锁,比如说写了一个sql导致死锁(不知道,顺着说了死锁定义,然后就提到了“资源”“表级锁”“行级锁”)
22.说说行级锁(不了解,乱说)
23.操作mysql可能报出的异常(操作超时,然后提示了tcp方面的异常)
24.TCP如何保证连接状态的
25.TCP的close wait状态
面试官人超好,不会的会给引导