Skip to content

5.如何实现单例模式?

.拦截器应用场景

拦截器主要用于在请求到达 Controller 之前或响应返回之后做统一处理。常见应用场景有登录校验、权限校验、Token 校验、日志记录、接口耗时统计、防重复提交、限流、黑名单过滤等。比如在项目中,我们可以使用拦截器统一校验用户是否登录,如果未登录就直接返回错误信息,如果登录成功才放行到 Controller。

7.如何统一记录接口响应时间?

在项目中,我一般会通过 拦截器 统一记录接口响应时间。请求进入接口之前,在 preHandle 中记录开始时间,请求结束后,在 afterCompletion 中获取结束时间,然后计算接口耗时。日志里通常会记录请求路径、请求方式、状态码、耗时、请求 IP 等信息。

如果需要统计某一层方法的执行时间,比如 Controller 或 Service 方法,也可以使用 AOP,通过 @Around 环绕通知,在方法执行前后计算耗时。这样可以统一监控接口性能,帮助定位慢接口。

8.如何实现请求链路跟踪

9.如何避免多实例重复执行定时任务?(面试官提醒我分布式锁)

10.如果我很多定时任务的方法怎么办 可以使用代理类,在代理中把抢锁和释放锁的逻辑写好

11.如何优化Excel表的大量数据导入

12.那你如何调用MyBatis实现这个功能?

。 13.如何优化慢sql

14.explain主要看哪些数据 开始吟唱(终于顺一点了)