虾皮二面
1.介绍一下SpringMVC的mvc模式?
答:model代表数据库实体以及处理数据库的实体类,像是service层,mapper/repository层都属于model层,
view层就代表前端显示的界面,负责与用户交互,controller层用于协调两者的关系,负责连接view层与model层。
2.介绍一下Spring的AOP?
答:Spring的AOP是通过动态代理实现的,Spring通过三级缓存实现AOP,第三级缓存存储bean工厂,bean工厂通过判断bean是否存在AOP的函数来决定生成bean或是其代理对象,并存入Spring第二级缓存,Spring第二级缓存存储的是刚创建好但是没有注入完全的存在null字段的bean。接下来Spring开始注入这些依赖形成完整的bean并存入一级缓存从而供程序使用。
3.项目中使用过Elastic Search吗?
答:使用过,利用Spring data Elasticsearch,只需要继承ElasticsearchRepository<Entity,ID>这个接口,Spring data Elasticsearch会通过动态代理和利用规定的方法命名规则自动实现所需逻辑。
4.介绍一下Mysql的事务?
太简单了,不说了。
5.介绍一下微服务架构?
答:注册中心......配置中心.......分布式事务.......消息通信rocketmq的事务消息..............服务熔断降级...........负载均衡.........
6.介绍一下乐观锁和悲观锁,什么情况下用乐观锁或者悲观锁?
答:写多,并发量高,容易产生冲突的时候用悲观锁,接着问:并发高的情况下悲观锁会影响效率,拿不到锁的线程会阻塞等待该怎么办?(不知道,只答了tryLock,失败就直接返回)。
7.线上CPU飙高该怎么一步步排查问题?
一点都不会。
8.如何获得http请求的request和response?
答:网页端按F12,APP端就只能用fireshark抓包了。
9.问了HTTPS如何获得request和response?如何在本地搭建证书?为什么要搭建证书?
一点都不会。
这次就只面了不到30分钟,绝对寄了,连算法都没出,感觉自己就纯纯八股选手,一到实操就寄了。